[U-Boot] [RESEND PATCH v3 1/2] Makefile: Add target to generate hex output for combined spl and dtb

Dalon L Westergreen dalon.westergreen at linux.intel.com
Wed Oct 9 12:57:40 UTC 2019


On Sat, 2019-10-05 at 21:40 +0200, Simon Goldschmidt wrote:
> Am 27.09.2019 um 20:27 schrieb Dalon Westergreen:
> > From: Dalon Westergreen <dalon.westergreen at intel.com>
> > Stratix10 requires a hex image of the spl plus spl devicetree offset tothe
> > Stratix10 onchip memory located at SPL_TEXT_BASE.  This patch addsa target
> > to generate a hex file from the u-boot-spl binary including thedtb offset at
> > SPL_TEST_BASE.
> > Objcopy is used to convert the $(SPL_BIN).bin, which includes the spldtb, to
> > a hex file.  the --change-address option is used to offset thehex to
> > SPL_TEXT_BASE as objcopy on the spl binary will not result ina hex file
> > appropriately offset at SPL_TEXT_BASE.
> > Signed-off-by: Dalon Westergreen <dalon.westergreen at intel.com>
> > ---Changes in v3:  -> Cleanup commit message and better describe the problem
> > being     resolved  -> Remove extraneous hunk  -> use SPL_BIN instead of u-
> > boot-splChanges in v2:  -> Move spl hex file generation to SPL Makefile  ->
> > Create hexfile from $(SPL_BIN).bin which will include the
> > dtb     ifneq(build_dtb,)---  Makefile             | 8 +++--
> > ---  scripts/Makefile.spl | 7 +++++++  2 files changed, 10 insertions(+), 5
> > deletions(-)
> > diff --git a/Makefile b/Makefileindex 1d9ade948b..0bc9d1589f 100644---
> > a/Makefile+++ b/Makefile@@ -1152,11 +1152,6 @@ OBJCOPYFLAGS_u-boot-nodtb.bin 
> > := -O binary \  		$(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R
> > .resetvec) \  		$(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR),-R
> > .bootpg -R .resetvec)  -OBJCOPYFLAGS_u-boot-spl.hex = $(OBJCOPYFLAGS_u-
> > boot.hex)--spl/u-boot-spl.hex: spl/u-boot-spl FORCE-	$(call
> > if_changed,objcopy)-  binary_size_check: u-boot-nodtb.bin FORCE  	@file_si
> > ze=$(shell wc -c u-boot-nodtb.bin | awk '{print $$1}') ; \  	map_size
> > =$(shell cat u-boot.map | \@@ -1756,6 +1751,9 @@ spl/u-boot-spl.bin: spl/u-
> > boot-spl  	@:  	$(SPL_SIZE_CHECK)  +spl/u-boot-spl.hex: spl/u-boot-
> > spl+	@:+  spl/u-boot-spl: tools prepare \  		$(if
> > $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb)
> > \  		$(if
> > $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_TPL_OF_PLATDATA),dts/dt.dtb)
> > diff --git a/scripts/Makefile.spl b/scripts/Makefile.splindex
> > 7af6b120b6..551002194e 100644--- a/scripts/Makefile.spl+++
> > b/scripts/Makefile.spl@@ -216,6 +216,8 @@ ifneq
> > ($(CONFIG_TARGET_SOCFPGA_GEN5)$(CONFIG_TARGET_SOCFPGA_ARRIA10),)  ALL-y	
> > += $(obj)/$(SPL_BIN).sfp  endif  +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) +=
> > $(obj)/$(SPL_BIN).hex+  ifdef CONFIG_ARCH_SUNXI  ALL-y	+= $(obj)/sunxi-
> > spl.bin  @@ -363,6 +365,11 @@ endif  $(obj)/$(SPL_BIN).sfp:
> > $(obj)/$(SPL_BIN).bin FORCE  	$(call
> > if_changed,mkimage)  +OBJCOPYFLAGS_$(SPL_BIN).hex := -I binary -O ihex --
> > change-address=$(CONFIG_SPL_TEXT_BASE)++$(obj)/$(SPL_BIN).hex:
> > $(obj)/$(SPL_BIN).bin FORCE+	$(call if_changed,objcopy)+
> 
> While I like the idea of this patch, and I *think* that this is what an SPL
> hex should look like for all platforms, I'm not 100% sure that globally
> changing the rule and objcopy flags for u-boot-spl.hex is OK for all
> architectures?
> Let's try to apply this at the start of next merge window, then we'll
> hopefully see if this does break any board.
> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
> Regards,Simon
sounds good, i dont believe there are other boards with SPL hex as atarget, at
least none that i found.
--dalon
> >   quiet_cmd_mksunxiboot = MKSUNXI $@  cmd_mksunxiboot =
> > $(objtree)/tools/mksunxiboot \  			--default-dt
> > $(CONFIG_DEFAULT_DEVICE_TREE) $< $@


More information about the U-Boot mailing list