[U-Boot] [PATCH v2 7/9] Makefile.spl: Create u-boot-spl-rockchip.bin for rk3399
Kever Yang
kever.yang at rock-chips.com
Tue May 7 06:34:40 UTC 2019
Hi Jagan,
On 04/28/2019 05:09 PM, Jagan Teki wrote:
> Rockchip platform would require an explicit call to mkimage for
> creating bootable images which indeed specific to SoC family
> along with boot devices.
>
> Example of creating bootable image for rk3399 family with SD
> boot device as
>
> ₹ mkimage -n rk3399 -T rksd -d ./spl/u-boot-spl-dtb.bin u-boot-spl-rockchip.bin
>
> This patch would do the same think via Makefile.spl for rk3399.
>
> This would be an initial version and it can easily expand further to support
> other families of SoC's with variety of boot stages like TPL, SPL.
rk3399 may have TPL like other SoCs, for there will be image types:
SPL+u-boot.bin
SPL+u-boot.itb
TPL+SPL+u-boot.itb
Seems this patch and 9/9 of this patch set only cover SPL+u-boot.itb?
Is it possible to make it more generic?
Thanks,
- Kever
>
> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
> ---
> arch/arm/mach-rockchip/Kconfig | 8 ++++++++
> doc/README.rockchip | 3 +--
> scripts/Makefile.spl | 21 +++++++++++++++++++++
> 3 files changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index dbe7f11d39..286c870135 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -222,6 +222,14 @@ config ROCKCHIP_SPL_RESERVE_IRAM
> config ROCKCHIP_BROM_HELPER
> bool
>
> +config SPL_ROCKCHIP_IMG_NAME
> + string "SPL Rockchip image name"
> + default "rk3399" if ROCKCHIP_RK3399
> + help
> + To create SPL image for rockchip targets the image name would
> + depends on the SoC family that would pass as an argument as
> + '-n rk3399' to mkimage for creating Rockchip SPL boot image.
> +
> config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
> bool "SPL requires early-return (for RK3188-style BROM) to BROM"
> depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
> diff --git a/doc/README.rockchip b/doc/README.rockchip
> index c4e5f83da7..ccbaaaa9a7 100644
> --- a/doc/README.rockchip
> +++ b/doc/README.rockchip
> @@ -421,11 +421,10 @@ Option 2: Package the image with SPL:
> - Prefix rk3399 header to SPL image
>
> => cd /path/to/u-boot
> - => ./tools/mkimage -n rk3399 -T rksd -d spl/u-boot-spl-dtb.bin out
>
> - Write prefixed SPL at 64th sector
>
> - => sudo dd if=out of=/dev/sdc seek=64
> + => sudo dd if=spl/u-boot-spl-rockchip.bin of=/dev/sdc seek=64
>
> - Write U-Boot proper at 16384 sector
>
> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
> index 54b160d72b..49c0641aa2 100644
> --- a/scripts/Makefile.spl
> +++ b/scripts/Makefile.spl
> @@ -235,6 +235,10 @@ ALL-$(CONFIG_ARCH_ZYNQMP) += $(obj)/boot.bin
>
> ALL-$(CONFIG_ARCH_MEDIATEK) += $(obj)/u-boot-spl-mtk.bin
>
> +ifdef CONFIG_ROCKCHIP_RK3399
> +ALL-$(CONFIG_ARCH_ROCKCHIP) += $(obj)/u-boot-spl-rockchip.bin
> +endif
> +
> all: $(ALL-y)
>
> quiet_cmd_cat = CAT $@
> @@ -369,6 +373,23 @@ MKIMAGEFLAGS_u-boot-spl-mtk.bin = -T mtk_image \
> $(obj)/u-boot-spl-mtk.bin: $(obj)/u-boot-spl.bin FORCE
> $(call if_changed,mkimage)
>
> +# Rockchip specific SPL build
> +ifeq ($(CONFIG_ROCKCHIP_RK3399),y)
> +
> +ifeq ($(CONFIG_SPI_FLASH_SUPPORT),y)
> +ROCKCHIP_IMG_TYPE := rkspi
> +else
> +ROCKCHIP_IMG_TYPE := rksd
> +endif
> +
> +MKIMAGEFLAGS_u-boot-spl-rockchip.bin = -n $(CONFIG_SPL_ROCKCHIP_IMG_NAME) \
> + -T $(ROCKCHIP_IMG_TYPE) -d $(MKIMAGEOUTPUT)
> +
> +$(obj)/u-boot-spl-rockchip.bin: $(obj)/u-boot-spl.bin FORCE
> + $(call if_changed,mkimage)
> +
> +endif # CONFIG_ROCKCHIP_RK3399
> +
> # Rule to link u-boot-spl
> # May be overridden by arch/$(ARCH)/config.mk
> quiet_cmd_u-boot-spl ?= LD $@
More information about the U-Boot
mailing list