[U-Boot] [PATCH] Makefile.spl: Create u-boot-spl-rockchip.bin for rk3399
Jack Mitchell
ml at embed.me.uk
Thu Apr 25 20:09:03 UTC 2019
Hi,
On 25/04/2019 18:54, 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.
>
> 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 e8f6a2dfba..6341f47b21 100644
> --- a/doc/README.rockchip
> +++ b/doc/README.rockchip
> @@ -399,11 +399,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.dtb of=/dev/sdc seek=64
u-boot-spl-rockchip.bin?
Regards,
Jack.
>
> - 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