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@xxxxxxxxxxxxxxxxxxxx> > --- > 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 $@ _______________________________________________ Linux-rockchip mailing list Linux-rockchip@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-rockchip