* [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image @ 2018-09-06 3:02 Dalon Westergreen 2018-09-06 3:02 ` [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image Dalon Westergreen 2018-09-06 10:08 ` [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Marek Vasut 0 siblings, 2 replies; 19+ messages in thread From: Dalon Westergreen @ 2018-09-06 3:02 UTC (permalink / raw) To: u-boot Only the Cyclone5/Arria5 and Arria10 devices require the sfp formated image for booting. This path ensures that the file is only generated for those devices. Signed-off-by: Dalon Westergreen <dwesterg@gmail.com> --- scripts/Makefile.spl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index 252f13826d..76d08fd92b 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -188,7 +188,8 @@ ALL-y += $(obj)/$(BOARD)-spl.bin endif ifdef CONFIG_ARCH_SOCFPGA -ALL-y += $(obj)/$(SPL_BIN).sfp +ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp +ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp endif ifdef CONFIG_ARCH_SUNXI -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 3:02 [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Dalon Westergreen @ 2018-09-06 3:02 ` Dalon Westergreen 2018-09-06 5:51 ` Simon Goldschmidt 2018-09-06 10:09 ` Marek Vasut 2018-09-06 10:08 ` [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Marek Vasut 1 sibling, 2 replies; 19+ messages in thread From: Dalon Westergreen @ 2018-09-06 3:02 UTC (permalink / raw) To: u-boot Stratix10 requires a hex image of the spl for boot. The hex image is added to the FPGA configuration image and loaded to the processor memory by the configuration engine. v2: -> add CONFIG_OF_EMBED to include dtb in elf -> generate hex from elf source Signed-off-by: Dalon Westergreen <dwesterg@gmail.com> --- configs/socfpga_stratix10_defconfig | 1 + scripts/Makefile.spl | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig index dceadff439..17cc732cbe 100644 --- a/configs/socfpga_stratix10_defconfig +++ b/configs/socfpga_stratix10_defconfig @@ -56,3 +56,4 @@ CONFIG_DM_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y CONFIG_USE_TINY_PRINTF=y +CONFIG_OF_EMBED=y diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index 76d08fd92b..b09bd40b2a 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -190,6 +190,7 @@ endif ifdef CONFIG_ARCH_SOCFPGA ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex endif ifdef CONFIG_ARCH_SUNXI @@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit-spl.bin := -O binary -j .start16 -j .resetvec $(obj)/u-boot-x86-16bit-spl.bin: $(obj)/u-boot-spl FORCE $(call if_changed,objcopy) +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex + +$(obj)/$(SPL_BIN).hex: $(obj)/$(SPL_BIN) FORCE + $(call if_changed,objcopy) + LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards. -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 3:02 ` [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image Dalon Westergreen @ 2018-09-06 5:51 ` Simon Goldschmidt 2018-09-06 13:49 ` Dalon L Westergreen 2018-09-06 10:09 ` Marek Vasut 1 sibling, 1 reply; 19+ messages in thread From: Simon Goldschmidt @ 2018-09-06 5:51 UTC (permalink / raw) To: u-boot On Thu, Sep 6, 2018 at 5:04 AM Dalon Westergreen <dwesterg@gmail.com> wrote: > > Stratix10 requires a hex image of the spl for boot. The hex > image is added to the FPGA configuration image and loaded to > the processor memory by the configuration engine. Although not running a Stratix10, I also need a hex image for spl to boot unconfigured CycloneV devices. However, for this, it is enough to objcopy u-boot.spl.sfp to hex and add the resulting file to the FPGA configuration image. Quartus does complain about the format a bit, but it does work. Is this different for Stratix10? Simon > > v2: > -> add CONFIG_OF_EMBED to include dtb in elf > -> generate hex from elf source > > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com> > --- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig > index dceadff439..17cc732cbe 100644 > --- a/configs/socfpga_stratix10_defconfig > +++ b/configs/socfpga_stratix10_defconfig > @@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y > CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y > +CONFIG_OF_EMBED=y > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 76d08fd92b..b09bd40b2a 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -190,6 +190,7 @@ endif > ifdef CONFIG_ARCH_SOCFPGA > ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > endif > > ifdef CONFIG_ARCH_SUNXI > @@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit-spl.bin := -O binary -j .start16 -j .resetvec > $(obj)/u-boot-x86-16bit-spl.bin: $(obj)/u-boot-spl FORCE > $(call if_changed,objcopy) > > +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex > + > +$(obj)/$(SPL_BIN).hex: $(obj)/$(SPL_BIN) FORCE > + $(call if_changed,objcopy) > + > LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) > > # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards. > -- > 2.17.1 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 5:51 ` Simon Goldschmidt @ 2018-09-06 13:49 ` Dalon L Westergreen 0 siblings, 0 replies; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-06 13:49 UTC (permalink / raw) To: u-boot On Thu, 2018-09-06 at 07:51 +0200, Simon Goldschmidt wrote: > On Thu, Sep 6, 2018 at 5:04 AM Dalon Westergreen <dwesterg@gmail.com> wrote: > > Stratix10 requires a hex image of the spl for boot. The heximage is added to > the FPGA configuration image and loaded tothe processor memory by the > configuration engine. > Although not running a Stratix10, I also need a hex image for spl toboot > unconfigured CycloneV devices.However, for this, it is enough to objcopy u- > boot.spl.sfp to hex andadd the resulting file to the FPGA configuration image. > Quartus does complain about the format a bit, but it does work. Isthis > different for Stratix10? The difference is that in stratix10 the SDM loads the spl image into the HPS onchip ram. The SPL image is actually a part of the fpga configuration image. The tool that adds the image to the fpga configuration image validates its address span, so using objcopy on the binary requires a --change- address. Since the file is always needed for stratix10, it seems prudent to generate it as part of the build. > Simon > > v2: -> add CONFIG_OF_EMBED to include dtb in elf -> generate hex from elf > source > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com>--- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ 2 files changed, 7 > insertions(+) > diff --git a/configs/socfpga_stratix10_defconfig > b/configs/socfpga_stratix10_defconfigindex dceadff439..17cc732cbe 100644--- > a/configs/socfpga_stratix10_defconfig+++ > b/configs/socfpga_stratix10_defconfig@@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y+CONFIG_OF_EMBED=ydiff --git a/scripts/Makefile.spl > b/scripts/Makefile.splindex 76d08fd92b..b09bd40b2a 100644--- > a/scripts/Makefile.spl+++ b/scripts/Makefile.spl@@ -190,6 +190,7 @@ endif > ifdef CONFIG_ARCH_SOCFPGA ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += > $(obj)/$(SPL_BIN).sfp ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += > $(obj)/$(SPL_BIN).sfp+ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += > $(obj)/$(SPL_BIN).hex endif > ifdef CONFIG_ARCH_SUNXI@@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit- > spl.bin := -O binary -j .start16 -j .resetvec $(obj)/u-boot-x86-16bit-spl.bin: > $(obj)/u-boot-spl FORCE $(call if_changed,objcopy) > +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex++$(obj)/$(SPL_BIN).hex: > $(obj)/$(SPL_BIN) FORCE+ $(call if_changed,objcopy)+ LDFLAGS_$(SPL_BIN) > += -T u-boot-spl.lds $(LDFLAGS_FINAL) > # Avoid 'Not enough room for program headers' error on binutils 2.28 > onwards.--2.17.1 > _______________________________________________U-Boot mailing listU- > Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot_______________________________________________U-Boot > mailing listU-Boot at lists.denx.dehttps://lists.denx.de/listinfo/u-boot ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 3:02 ` [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image Dalon Westergreen 2018-09-06 5:51 ` Simon Goldschmidt @ 2018-09-06 10:09 ` Marek Vasut 2018-09-06 13:39 ` Dalon L Westergreen 1 sibling, 1 reply; 19+ messages in thread From: Marek Vasut @ 2018-09-06 10:09 UTC (permalink / raw) To: u-boot On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > Stratix10 requires a hex image of the spl for boot. The hex > image is added to the FPGA configuration image and loaded to > the processor memory by the configuration engine. > > v2: > -> add CONFIG_OF_EMBED to include dtb in elf > -> generate hex from elf source > > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com> > --- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig > index dceadff439..17cc732cbe 100644 > --- a/configs/socfpga_stratix10_defconfig > +++ b/configs/socfpga_stratix10_defconfig > @@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y > CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y > +CONFIG_OF_EMBED=y Why is this needed ? And where did the objcopy hack go ? What is the explanation here ? > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 76d08fd92b..b09bd40b2a 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -190,6 +190,7 @@ endif > ifdef CONFIG_ARCH_SOCFPGA > ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > endif > > ifdef CONFIG_ARCH_SUNXI > @@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit-spl.bin := -O binary -j .start16 -j .resetvec > $(obj)/u-boot-x86-16bit-spl.bin: $(obj)/u-boot-spl FORCE > $(call if_changed,objcopy) > > +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex > + > +$(obj)/$(SPL_BIN).hex: $(obj)/$(SPL_BIN) FORCE > + $(call if_changed,objcopy) > + This is generic, separate patch please. > LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) > > # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards. > -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 10:09 ` Marek Vasut @ 2018-09-06 13:39 ` Dalon L Westergreen 2018-09-06 13:41 ` Marek Vasut 0 siblings, 1 reply; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-06 13:39 UTC (permalink / raw) To: u-boot On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: > On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > Stratix10 requires a hex image of the spl for boot. The heximage is added to > the FPGA configuration image and loaded tothe processor memory by the > configuration engine. > v2: -> add CONFIG_OF_EMBED to include dtb in elf -> generate hex from elf > source > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com>--- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ 2 files changed, 7 > insertions(+) > diff --git a/configs/socfpga_stratix10_defconfig > b/configs/socfpga_stratix10_defconfigindex dceadff439..17cc732cbe 100644--- > a/configs/socfpga_stratix10_defconfig+++ > b/configs/socfpga_stratix10_defconfig@@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y+CONFIG_OF_EMBED=y > Why is this needed ? And where did the objcopy hack go ? What is > theexplanation here ? You suggested the use of CONFIG_OF_EMBED as an alternative to using the u-boot- spl-dtb.bin for objcopy. The intent is to ensure that the spl elf has the dtb included, and then a simple objcopy to elf to hex is fine.You no longer need the --change-address as the elf indicates the correct start address, unlike the binary. > diff --git a/scripts/Makefile.spl b/scripts/Makefile.splindex > 76d08fd92b..b09bd40b2a 100644--- a/scripts/Makefile.spl+++ > b/scripts/Makefile.spl@@ -190,6 +190,7 @@ endif ifdef CONFIG_ARCH_SOCFPGA ALL- > $(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp ALL- > $(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp+ALL- > $(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > endif ifdef CONFIG_ARCH_SUNXI@@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86- > 16bit-spl.bin := -O binary -j .start16 -j .resetvec $(obj)/u-boot-x86-16bit- > spl.bin: $(obj)/u-boot-spl FORCE $(call if_changed,objcopy) > +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex++$(obj)/$(SPL_BIN).hex: > $(obj)/$(SPL_BIN) FORCE+ $(call if_changed,objcopy)+ > This is generic, separate patch please. > LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) Will do > # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards. > > > ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 13:39 ` Dalon L Westergreen @ 2018-09-06 13:41 ` Marek Vasut 2018-09-06 17:40 ` Dalon L Westergreen 2018-09-06 21:26 ` Dalon L Westergreen 0 siblings, 2 replies; 19+ messages in thread From: Marek Vasut @ 2018-09-06 13:41 UTC (permalink / raw) To: u-boot On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: >> On 09/06/2018 05:02 AM, Dalon Westergreen wrote: >> Stratix10 requires a hex image of the spl for boot. The hex >> image is added to the FPGA configuration image and loaded to >> the processor memory by the configuration engine. >> >> v2: >> -> add CONFIG_OF_EMBED to include dtb in elf >> -> generate hex from elf source >> >> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com>> >> --- >> configs/socfpga_stratix10_defconfig | 1 + >> scripts/Makefile.spl | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig >> index dceadff439..17cc732cbe 100644 >> --- a/configs/socfpga_stratix10_defconfig >> +++ b/configs/socfpga_stratix10_defconfig >> @@ -56,3 +56,4 @@ CONFIG_DM_USB=y >> CONFIG_USB_DWC2=y >> CONFIG_USB_STORAGE=y >> CONFIG_USE_TINY_PRINTF=y >> +CONFIG_OF_EMBED=y >> >> Why is this needed ? And where did the objcopy hack go ? What is the >> explanation here ? > > You suggested the use of CONFIG_OF_EMBED as an alternative to using the > u-boot-spl-dtb.bin for objcopy. > The intent is to ensure that the spl elf has the dtb included, and then > a simple objcopy to elf to hex is fine. > You no longer need the --change-address as the elf indicates the correct > start address, unlike the binary. And that's fine with your usecase ? Fine be me then ... >> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl >> index 76d08fd92b..b09bd40b2a 100644 >> --- a/scripts/Makefile.spl >> +++ b/scripts/Makefile.spl >> @@ -190,6 +190,7 @@ endif >> ifdef CONFIG_ARCH_SOCFPGA >> ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp >> ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp >> +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex >> >> CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? >> >> endif >> >> ifdef CONFIG_ARCH_SUNXI >> @@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit-spl.bin := -O binary -j .start16 -j .resetvec >> $(obj)/u-boot-x86-16bit-spl.bin: $(obj)/u-boot-spl FORCE >> $(call if_changed,objcopy) >> >> +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex >> + >> +$(obj)/$(SPL_BIN).hex: $(obj)/$(SPL_BIN) FORCE >> + $(call if_changed,objcopy) >> + >> >> This is generic, separate patch please. >> >> LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) >> > > Will do Thanks -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 13:41 ` Marek Vasut @ 2018-09-06 17:40 ` Dalon L Westergreen 2018-09-06 18:16 ` Marek Vasut 2018-09-06 21:26 ` Dalon L Westergreen 1 sibling, 1 reply; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-06 17:40 UTC (permalink / raw) To: u-boot On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: > On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: > On 09/06/2018 05:02 AM, Dalon Westergreen wrote:Stratix10 requires a hex image > of the spl for boot. The heximage is added to the FPGA configuration image > and loaded tothe processor memory by the configuration engine. > v2: -> add CONFIG_OF_EMBED to include dtb in elf -> generate hex from elf > source > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com <mailto: > dwesterg at gmail.com>>--- configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ 2 files changed, 7 > insertions(+) > diff --git a/configs/socfpga_stratix10_defconfig > b/configs/socfpga_stratix10_defconfigindex dceadff439..17cc732cbe 100644--- > a/configs/socfpga_stratix10_defconfig+++ > b/configs/socfpga_stratix10_defconfig@@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y+CONFIG_OF_EMBED=y > Why is this needed ? And where did the objcopy hack go ? What is > theexplanation here ? > You suggested the use of CONFIG_OF_EMBED as an alternative to using theu-boot- > spl-dtb.bin for objcopy.The intent is to ensure that the spl elf has the dtb > included, and thena simple objcopy to elf to hex is fine.You no longer need > the --change-address as the elf indicates the correctstart address, unlike the > binary. > And that's fine with your usecase ? Fine be me then ... Is it possible to apply CONFIG_OF_EMBED=y only to the SPL build? > diff --git a/scripts/Makefile.spl b/scripts/Makefile.splindex > 76d08fd92b..b09bd40b2a 100644--- a/scripts/Makefile.spl+++ > b/scripts/Makefile.spl@@ -190,6 +190,7 @@ endif ifdef CONFIG_ARCH_SOCFPGA ALL- > $(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp ALL- > $(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp+ALL- > $(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > endif ifdef CONFIG_ARCH_SUNXI@@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86- > 16bit-spl.bin := -O binary -j .start16 -j .resetvec $(obj)/u-boot-x86-16bit- > spl.bin: $(obj)/u-boot-spl FORCE $(call if_changed,objcopy) > +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex++$(obj)/$(SPL_BIN).hex: > $(obj)/$(SPL_BIN) FORCE+ $(call if_changed,objcopy)+ > This is generic, separate patch please. > LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) > Will do > Thanks > ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 17:40 ` Dalon L Westergreen @ 2018-09-06 18:16 ` Marek Vasut 0 siblings, 0 replies; 19+ messages in thread From: Marek Vasut @ 2018-09-06 18:16 UTC (permalink / raw) To: u-boot On 09/06/2018 07:40 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: >> On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: >> On 09/06/2018 05:02 AM, Dalon Westergreen wrote: >> Stratix10 requires a hex image of the spl for boot. The hex >> image is added to the FPGA configuration image and loaded to >> the processor memory by the configuration engine. >> >> v2: >> -> add CONFIG_OF_EMBED to include dtb in elf >> -> generate hex from elf source >> >> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> >> --- >> configs/socfpga_stratix10_defconfig | 1 + >> scripts/Makefile.spl | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig >> index dceadff439..17cc732cbe 100644 >> --- a/configs/socfpga_stratix10_defconfig >> +++ b/configs/socfpga_stratix10_defconfig >> @@ -56,3 +56,4 @@ CONFIG_DM_USB=y >> CONFIG_USB_DWC2=y >> CONFIG_USB_STORAGE=y >> CONFIG_USE_TINY_PRINTF=y >> +CONFIG_OF_EMBED=y >> >> Why is this needed ? And where did the objcopy hack go ? What is the >> explanation here ? >> >> You suggested the use of CONFIG_OF_EMBED as an alternative to using the >> u-boot-spl-dtb.bin for objcopy. >> The intent is to ensure that the spl elf has the dtb included, and then >> a simple objcopy to elf to hex is fine. >> You no longer need the --change-address as the elf indicates the correct >> start address, unlike the binary. >> >> And that's fine with your usecase ? Fine be me then ... > > Is it possible to apply CONFIG_OF_EMBED=y only to the SPL build? I think so, and if not, create CONFIG_SPL_OF_EMBED -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 13:41 ` Marek Vasut 2018-09-06 17:40 ` Dalon L Westergreen @ 2018-09-06 21:26 ` Dalon L Westergreen 2018-09-06 21:56 ` Marek Vasut 1 sibling, 1 reply; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-06 21:26 UTC (permalink / raw) To: u-boot On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: > On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: > > On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: > > On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > Stratix10 requires a hex image of the spl for boot. The hex > image is added to the FPGA configuration image and loaded to > the processor memory by the configuration engine. > > v2: > -> add CONFIG_OF_EMBED to include dtb in elf > -> generate hex from elf source > > Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com>> > --- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig > index dceadff439..17cc732cbe 100644 > --- a/configs/socfpga_stratix10_defconfig > +++ b/configs/socfpga_stratix10_defconfig > @@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y > CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y > +CONFIG_OF_EMBED=y > > Why is this needed ? And where did the objcopy hack go ? What is the > explanation here ? > > You suggested the use of CONFIG_OF_EMBED as an alternative to using the > u-boot-spl-dtb.bin for objcopy. > The intent is to ensure that the spl elf has the dtb included, and then > a simple objcopy to elf to hex is fine. > You no longer need the --change-address as the elf indicates the correct > start address, unlike the binary. > > And that's fine with your usecase ? Fine be me then ... > > > > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 76d08fd92b..b09bd40b2a 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -190,6 +190,7 @@ endif > ifdef CONFIG_ARCH_SOCFPGA > ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > > CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an SPL target, but rather a target for creating combined u-boot + spl images at the top level. Adding ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex in Makefile.spl and CONFIG_SPL_TARGET="u-boot-spl.hex" in the socfpga_stratix10_config results in a build failure with no target for u-boot-spl.hex > > endif > > ifdef CONFIG_ARCH_SUNXI > @@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit-spl.bin := -O binary -j .start16 -j .resetvec > $(obj)/u-boot-x86-16bit-spl.bin: $(obj)/u-boot-spl FORCE > $(call if_changed,objcopy) > > +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex > + > +$(obj)/$(SPL_BIN).hex: $(obj)/$(SPL_BIN) FORCE > + $(call if_changed,objcopy) > + > > This is generic, separate patch please. > > LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL) > > > Will do > > Thanks > > ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 21:26 ` Dalon L Westergreen @ 2018-09-06 21:56 ` Marek Vasut 2018-09-07 16:15 ` Dalon L Westergreen 0 siblings, 1 reply; 19+ messages in thread From: Marek Vasut @ 2018-09-06 21:56 UTC (permalink / raw) To: u-boot On 09/06/2018 11:26 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: >> On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: >> On 09/06/2018 05:02 AM, Dalon Westergreen wrote: >> Stratix10 requires a hex image of the spl for boot. The hex >> image is added to the FPGA configuration image and loaded to >> the processor memory by the configuration engine. >> >> v2: >> -> add CONFIG_OF_EMBED to include dtb in elf >> -> generate hex from elf source >> >> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> >> --- >> configs/socfpga_stratix10_defconfig | 1 + >> scripts/Makefile.spl | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig >> index dceadff439..17cc732cbe 100644 >> --- a/configs/socfpga_stratix10_defconfig >> +++ b/configs/socfpga_stratix10_defconfig >> @@ -56,3 +56,4 @@ CONFIG_DM_USB=y >> CONFIG_USB_DWC2=y >> CONFIG_USB_STORAGE=y >> CONFIG_USE_TINY_PRINTF=y >> +CONFIG_OF_EMBED=y >> >> Why is this needed ? And where did the objcopy hack go ? What is the >> explanation here ? >> >> You suggested the use of CONFIG_OF_EMBED as an alternative to using the >> u-boot-spl-dtb.bin for objcopy. >> The intent is to ensure that the spl elf has the dtb included, and then >> a simple objcopy to elf to hex is fine. >> You no longer need the --change-address as the elf indicates the correct >> start address, unlike the binary. >> >> And that's fine with your usecase ? Fine be me then ... >> >> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl >> index 76d08fd92b..b09bd40b2a 100644 >> --- a/scripts/Makefile.spl >> +++ b/scripts/Makefile.spl >> @@ -190,6 +190,7 @@ endif >> ifdef CONFIG_ARCH_SOCFPGA >> ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp >> ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp >> +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex >> >> CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > > This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an > SPL target, but rather a > target for creating combined u-boot + spl images at the top level. Adding > > ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex > > in Makefile.spl and > CONFIG_SPL_TARGET="u-boot-spl.hex" > in the socfpga_stratix10_config > > results in a build failure with no target for u-boot-spl.hex I mean, just define CONFIG_SPL_TARGET and it should generate the matching file automatically. See the README, it explains this macro. -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-06 21:56 ` Marek Vasut @ 2018-09-07 16:15 ` Dalon L Westergreen 2018-09-07 16:25 ` Marek Vasut 0 siblings, 1 reply; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-07 16:15 UTC (permalink / raw) To: u-boot On Thu, 2018-09-06 at 23:56 +0200, Marek Vasut wrote: > On 09/06/2018 11:26 PM, Dalon L Westergreen wrote:On Thu, 2018-09-06 at 15:41 > +0200, Marek Vasut wrote:On 09/06/2018 03:39 PM, Dalon L Westergreen wrote:On > Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote:On 09/06/2018 05:02 AM, > Dalon Westergreen wrote:Stratix10 requires a hex image of the spl for > boot. The heximage is added to the FPGA configuration image and loaded tothe > processor memory by the configuration engine. > v2: -> add CONFIG_OF_EMBED to include dtb in elf -> generate hex from elf > source > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com <mailto: > dwesterg at gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> > --- configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ 2 files changed, 7 > insertions(+) > diff --git a/configs/socfpga_stratix10_defconfig > b/configs/socfpga_stratix10_defconfigindex dceadff439..17cc732cbe 100644--- > a/configs/socfpga_stratix10_defconfig+++ > b/configs/socfpga_stratix10_defconfig@@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y+CONFIG_OF_EMBED=y > Why is this needed ? And where did the objcopy hack go ? What is > theexplanation here ? > You suggested the use of CONFIG_OF_EMBED as an alternative to using theu-boot- > spl-dtb.bin for objcopy.The intent is to ensure that the spl elf has the dtb > included, and thena simple objcopy to elf to hex is fine.You no longer need > the --change-address as the elf indicates the correctstart address, unlike the > binary. > And that's fine with your usecase ? Fine be me then ... > diff --git a/scripts/Makefile.spl b/scripts/Makefile.splindex > 76d08fd92b..b09bd40b2a 100644--- a/scripts/Makefile.spl+++ > b/scripts/Makefile.spl@@ -190,6 +190,7 @@ endif ifdef CONFIG_ARCH_SOCFPGA ALL- > $(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp ALL- > $(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp+ALL- > $(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be anSPL > target, but rather atarget for creating combined u-boot + spl images at the > top level. Adding > ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex > in Makefile.spl andCONFIG_SPL_TARGET="u-boot-spl.hex"in the > socfpga_stratix10_config > results in a build failure with no target for u-boot-spl.hex > I mean, just define CONFIG_SPL_TARGET and it should generate thematching file > automatically. See the README, it explains this macro. I still get:make: *** No rule to make target 'u-boot-spl.hex', needed by 'all'. Stop. When i look at all of the other defined CONFIG_SPL_TARGET, for example [dwesterg at dwesterg-mobl u-boot]$ grep -R u-boot-with-spl.bin *......include/configs/uniphier.h:#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"Makefile:OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \Makefile:u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCEMakefile:u-boot.ubl: u-boot-with-spl.bin FORCE[dwesterg at dwesterg-mobl u- boot]$ or [dwesterg at dwesterg-mobl u-boot]$ grep -R u-boot-with-nand-spl.imx *arch/arm/mach-imx/Makefile:u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u- boot.uim FORCEinclude/configs/m53evk.h:#define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx"Makefile:u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE you find the corresponding target in the makefile. There is no target for u- boot-spl.hex,furthermore the CONFIG_SPL_TARGET seems to combine spl with uboot to create a combined image. ifdef CONFIG_TPLSPL_PAYLOAD := tpl/u-boot-with-tpl.binelseSPL_PAYLOAD := u- boot.binendif OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ --pad-to=$(CONFIG_SPL_PAD_TO)u-boot-with- spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE $(call if_changed,pad_cat) So I can add a simple u-boot-spl.hex target, but all of the other CONFIG_SPL_TARGETi see combine spl and u-boot. --dalon ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-07 16:15 ` Dalon L Westergreen @ 2018-09-07 16:25 ` Marek Vasut 2018-09-07 16:40 ` Dalon L Westergreen 0 siblings, 1 reply; 19+ messages in thread From: Marek Vasut @ 2018-09-07 16:25 UTC (permalink / raw) To: u-boot On 09/07/2018 06:15 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 23:56 +0200, Marek Vasut wrote: >> On 09/06/2018 11:26 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: >> On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: >> On 09/06/2018 05:02 AM, Dalon Westergreen wrote: >> Stratix10 requires a hex image of the spl for boot. The hex >> image is added to the FPGA configuration image and loaded to >> the processor memory by the configuration engine. >> >> v2: >> -> add CONFIG_OF_EMBED to include dtb in elf >> -> generate hex from elf source >> >> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>>> >> --- >> configs/socfpga_stratix10_defconfig | 1 + >> scripts/Makefile.spl | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig >> index dceadff439..17cc732cbe 100644 >> --- a/configs/socfpga_stratix10_defconfig >> +++ b/configs/socfpga_stratix10_defconfig >> @@ -56,3 +56,4 @@ CONFIG_DM_USB=y >> CONFIG_USB_DWC2=y >> CONFIG_USB_STORAGE=y >> CONFIG_USE_TINY_PRINTF=y >> +CONFIG_OF_EMBED=y >> >> Why is this needed ? And where did the objcopy hack go ? What is the >> explanation here ? >> >> You suggested the use of CONFIG_OF_EMBED as an alternative to using the >> u-boot-spl-dtb.bin for objcopy. >> The intent is to ensure that the spl elf has the dtb included, and then >> a simple objcopy to elf to hex is fine. >> You no longer need the --change-address as the elf indicates the correct >> start address, unlike the binary. >> >> And that's fine with your usecase ? Fine be me then ... >> >> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl >> index 76d08fd92b..b09bd40b2a 100644 >> --- a/scripts/Makefile.spl >> +++ b/scripts/Makefile.spl >> @@ -190,6 +190,7 @@ endif >> ifdef CONFIG_ARCH_SOCFPGA >> ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp >> ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp >> +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex >> >> CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? >> >> This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an >> SPL target, but rather a >> target for creating combined u-boot + spl images at the top level. Adding >> >> ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex >> >> in Makefile.spl and >> CONFIG_SPL_TARGET="u-boot-spl.hex" >> in the socfpga_stratix10_config >> >> results in a build failure with no target for u-boot-spl.hex >> >> I mean, just define CONFIG_SPL_TARGET and it should generate the >> matching file automatically. See the README, it explains this macro. >> > I still get: > > make: *** No rule to make target 'u-boot-spl.hex', needed by 'all'. Stop. > > > When i look at all of the other defined CONFIG_SPL_TARGET, for example I guess you did add the u-boot-spl.hex target already ? > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-spl.bin * > > ... > > ... > > include/configs/uniphier.h:#define CONFIG_SPL_TARGET "u-boot-with-spl.bin" > > Makefile:OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ > > Makefile:u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE > > Makefile:u-boot.ubl: u-boot-with-spl.bin FORCE > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ > > > or > > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-nand-spl.imx * > > arch/arm/mach-imx/Makefile:u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u-boot.uim FORCE > > include/configs/m53evk.h:#define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx" > > Makefile:u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE > > > you find the corresponding target in the makefile. There is no target for u-boot-spl.hex, > > furthermore the CONFIG_SPL_TARGET seems to combine spl with uboot to create a combined image. > > > ifdef CONFIG_TPL > > SPL_PAYLOAD := tpl/u-boot-with-tpl.bin > > else > > SPL_PAYLOAD := u-boot.bin > > endif > > > OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ > > --pad-to=$(CONFIG_SPL_PAD_TO) > > u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE > > $(call if_changed,pad_cat) > > > So I can add a simple u-boot-spl.hex target, but all of the other CONFIG_SPL_TARGET > > i see combine spl and u-boot. Try this: include/configs/ls1046a_common.h:#define CONFIG_SPL_TARGET "spl/u-boot-spl.pbl" -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-07 16:25 ` Marek Vasut @ 2018-09-07 16:40 ` Dalon L Westergreen 2018-09-07 17:36 ` Marek Vasut 0 siblings, 1 reply; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-07 16:40 UTC (permalink / raw) To: u-boot On Fri, 2018-09-07 at 18:25 +0200, Marek Vasut wrote: > On 09/07/2018 06:15 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 23:56 +0200, Marek Vasut wrote: > On 09/06/2018 11:26 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: > On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: > On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > Stratix10 requires a hex image of the spl for boot. The hex > image is added to the FPGA configuration image and loaded to > the processor memory by the configuration engine. > > v2: > -> add CONFIG_OF_EMBED to include dtb in elf > -> generate hex from elf source > > Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>>> > --- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig > index dceadff439..17cc732cbe 100644 > --- a/configs/socfpga_stratix10_defconfig > +++ b/configs/socfpga_stratix10_defconfig > @@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y > CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y > +CONFIG_OF_EMBED=y > > Why is this needed ? And where did the objcopy hack go ? What is the > explanation here ? > > You suggested the use of CONFIG_OF_EMBED as an alternative to using the > u-boot-spl-dtb.bin for objcopy. > The intent is to ensure that the spl elf has the dtb included, and then > a simple objcopy to elf to hex is fine. > You no longer need the --change-address as the elf indicates the correct > start address, unlike the binary. > > And that's fine with your usecase ? Fine be me then ... > > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 76d08fd92b..b09bd40b2a 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -190,6 +190,7 @@ endif > ifdef CONFIG_ARCH_SOCFPGA > ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > > CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > > This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an > SPL target, but rather a > target for creating combined u-boot + spl images at the top level. Adding > > ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex > > in Makefile.spl and > CONFIG_SPL_TARGET="u-boot-spl.hex" > in the socfpga_stratix10_config > > results in a build failure with no target for u-boot-spl.hex > > I mean, just define CONFIG_SPL_TARGET and it should generate the > matching file automatically. See the README, it explains this macro. > > I still get: > > make: *** No rule to make target 'u-boot-spl.hex', needed by 'all'. Stop. > > > When i look at all of the other defined CONFIG_SPL_TARGET, for example > > I guess you did add the u-boot-spl.hex target already ? > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-spl.bin * > > ... > > ... > > include/configs/uniphier.h:#define CONFIG_SPL_TARGET "u-boot-with-spl.bin" > > Makefile:OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ > > Makefile:u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE > > Makefile:u-boot.ubl: u-boot-with-spl.bin FORCE > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ > > > or > > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-nand-spl.imx * > > arch/arm/mach-imx/Makefile:u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u-boot.uim FORCE > > include/configs/m53evk.h:#define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx" > > Makefile:u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE > > > you find the corresponding target in the makefile. There is no target for u-boot-spl.hex, > > furthermore the CONFIG_SPL_TARGET seems to combine spl with uboot to create a combined image. > > > ifdef CONFIG_TPL > > SPL_PAYLOAD := tpl/u-boot-with-tpl.bin > > else > > SPL_PAYLOAD := u-boot.bin > > endif > > > OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ > > --pad-to=$(CONFIG_SPL_PAD_TO) > > u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE > > $(call if_changed,pad_cat) > > > So I can add a simple u-boot-spl.hex target, but all of the other CONFIG_SPL_TARGET > > i see combine spl and u-boot. > > Try this: > > include/configs/ls1046a_common.h:#define CONFIG_SPL_TARGET > "spl/u-boot-spl.pbl" > True, but i would still need to add an spl/u-boot-spl.hex target in the main Makefile. What is the benefit of doing this over just adding the hex target in Makefile.spl? ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-07 16:40 ` Dalon L Westergreen @ 2018-09-07 17:36 ` Marek Vasut 2018-09-07 18:02 ` Westergreen, Dalon 0 siblings, 1 reply; 19+ messages in thread From: Marek Vasut @ 2018-09-07 17:36 UTC (permalink / raw) To: u-boot On 09/07/2018 06:40 PM, Dalon L Westergreen wrote: > On Fri, 2018-09-07 at 18:25 +0200, Marek Vasut wrote: >> On 09/07/2018 06:15 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 23:56 +0200, Marek Vasut wrote: >> On 09/06/2018 11:26 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: >> On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: >> On 09/06/2018 05:02 AM, Dalon Westergreen wrote: >> Stratix10 requires a hex image of the spl for boot. The hex >> image is added to the FPGA configuration image and loaded to >> the processor memory by the configuration engine. >> >> v2: >> -> add CONFIG_OF_EMBED to include dtb in elf >> -> generate hex from elf source >> >> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>>>> >> --- >> configs/socfpga_stratix10_defconfig | 1 + >> scripts/Makefile.spl | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig >> index dceadff439..17cc732cbe 100644 >> --- a/configs/socfpga_stratix10_defconfig >> +++ b/configs/socfpga_stratix10_defconfig >> @@ -56,3 +56,4 @@ CONFIG_DM_USB=y >> CONFIG_USB_DWC2=y >> CONFIG_USB_STORAGE=y >> CONFIG_USE_TINY_PRINTF=y >> +CONFIG_OF_EMBED=y >> >> Why is this needed ? And where did the objcopy hack go ? What is the >> explanation here ? >> >> You suggested the use of CONFIG_OF_EMBED as an alternative to using the >> u-boot-spl-dtb.bin for objcopy. >> The intent is to ensure that the spl elf has the dtb included, and then >> a simple objcopy to elf to hex is fine. >> You no longer need the --change-address as the elf indicates the correct >> start address, unlike the binary. >> >> And that's fine with your usecase ? Fine be me then ... >> >> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl >> index 76d08fd92b..b09bd40b2a 100644 >> --- a/scripts/Makefile.spl >> +++ b/scripts/Makefile.spl >> @@ -190,6 +190,7 @@ endif >> ifdef CONFIG_ARCH_SOCFPGA >> ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp >> ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp >> +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex >> >> CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? >> >> This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an >> SPL target, but rather a >> target for creating combined u-boot + spl images at the top level. Adding >> >> ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex >> >> in Makefile.spl and >> CONFIG_SPL_TARGET="u-boot-spl.hex" >> in the socfpga_stratix10_config >> >> results in a build failure with no target for u-boot-spl.hex >> >> I mean, just define CONFIG_SPL_TARGET and it should generate the >> matching file automatically. See the README, it explains this macro. >> >> I still get: >> >> make: *** No rule to make target 'u-boot-spl.hex', needed by 'all'. Stop. >> >> >> When i look at all of the other defined CONFIG_SPL_TARGET, for example >> >> I guess you did add the u-boot-spl.hex target already ? >> >> [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-spl.bin * >> >> ... >> >> ... >> >> include/configs/uniphier.h:#define CONFIG_SPL_TARGET "u-boot-with-spl.bin" >> >> Makefile:OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ >> >> Makefile:u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE >> >> Makefile:u-boot.ubl: u-boot-with-spl.bin FORCE >> >> [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ >> >> >> or >> >> >> [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-nand-spl.imx * >> >> arch/arm/mach-imx/Makefile:u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u-boot.uim FORCE >> >> include/configs/m53evk.h:#define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx" >> >> Makefile:u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE >> >> >> you find the corresponding target in the makefile. There is no target for u-boot-spl.hex, >> >> furthermore the CONFIG_SPL_TARGET seems to combine spl with uboot to create a combined image. >> >> >> ifdef CONFIG_TPL >> >> SPL_PAYLOAD := tpl/u-boot-with-tpl.bin >> >> else >> >> SPL_PAYLOAD := u-boot.bin >> >> endif >> >> >> OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ >> >> --pad-to=$(CONFIG_SPL_PAD_TO) >> >> u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE >> >> $(call if_changed,pad_cat) >> >> >> So I can add a simple u-boot-spl.hex target, but all of the other CONFIG_SPL_TARGET >> >> i see combine spl and u-boot. >> >> Try this: >> >> include/configs/ls1046a_common.h:#define CONFIG_SPL_TARGET >> "spl/u-boot-spl.pbl" >> > True, but i would still need to add an spl/u-boot-spl.hex target in the main Makefile. > > What is the benefit of doing this over just adding the hex target in Makefile.spl? My whole point was that I'd like this: +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex to go away. If you need to add a target to a Makefile, that's fine of course. -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-07 17:36 ` Marek Vasut @ 2018-09-07 18:02 ` Westergreen, Dalon 2018-09-07 18:17 ` Marek Vasut 0 siblings, 1 reply; 19+ messages in thread From: Westergreen, Dalon @ 2018-09-07 18:02 UTC (permalink / raw) To: u-boot On Fri, 2018-09-07 at 19:36 +0200, Marek Vasut wrote: > On 09/07/2018 06:40 PM, Dalon L Westergreen wrote: > On Fri, 2018-09-07 at 18:25 +0200, Marek Vasut wrote: > On 09/07/2018 06:15 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 23:56 +0200, Marek Vasut wrote: > On 09/06/2018 11:26 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: > On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: > On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: > On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > Stratix10 requires a hex image of the spl for boot. The hex > image is added to the FPGA configuration image and loaded to > the processor memory by the configuration engine. > > v2: > -> add CONFIG_OF_EMBED to include dtb in elf > -> generate hex from elf source > > Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>>>> > --- > configs/socfpga_stratix10_defconfig | 1 + > scripts/Makefile.spl | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig > index dceadff439..17cc732cbe 100644 > --- a/configs/socfpga_stratix10_defconfig > +++ b/configs/socfpga_stratix10_defconfig > @@ -56,3 +56,4 @@ CONFIG_DM_USB=y > CONFIG_USB_DWC2=y > CONFIG_USB_STORAGE=y > CONFIG_USE_TINY_PRINTF=y > +CONFIG_OF_EMBED=y > > Why is this needed ? And where did the objcopy hack go ? What is the > explanation here ? > > You suggested the use of CONFIG_OF_EMBED as an alternative to using the > u-boot-spl-dtb.bin for objcopy. > The intent is to ensure that the spl elf has the dtb included, and then > a simple objcopy to elf to hex is fine. > You no longer need the --change-address as the elf indicates the correct > start address, unlike the binary. > > And that's fine with your usecase ? Fine be me then ... > > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 76d08fd92b..b09bd40b2a 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -190,6 +190,7 @@ endif > ifdef CONFIG_ARCH_SOCFPGA > ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > > CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? > > This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an > SPL target, but rather a > target for creating combined u-boot + spl images at the top level. Adding > > ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex > > in Makefile.spl and > CONFIG_SPL_TARGET="u-boot-spl.hex" > in the socfpga_stratix10_config > > results in a build failure with no target for u-boot-spl.hex > > I mean, just define CONFIG_SPL_TARGET and it should generate the > matching file automatically. See the README, it explains this macro. > > I still get: > > make: *** No rule to make target 'u-boot-spl.hex', needed by 'all'. Stop. > > > When i look at all of the other defined CONFIG_SPL_TARGET, for example > > I guess you did add the u-boot-spl.hex target already ? > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-spl.bin * > > ... > > ... > > include/configs/uniphier.h:#define CONFIG_SPL_TARGET "u-boot-with-spl.bin" > > Makefile:OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ > > Makefile:u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE > > Makefile:u-boot.ubl: u-boot-with-spl.bin FORCE > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ > > > or > > > [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-nand-spl.imx * > > arch/arm/mach-imx/Makefile:u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u-boot.uim FORCE > > include/configs/m53evk.h:#define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx" > > Makefile:u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE > > > you find the corresponding target in the makefile. There is no target for u-boot-spl.hex, > > furthermore the CONFIG_SPL_TARGET seems to combine spl with uboot to create a combined image. > > > ifdef CONFIG_TPL > > SPL_PAYLOAD := tpl/u-boot-with-tpl.bin > > else > > SPL_PAYLOAD := u-boot.bin > > endif > > > OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ > > --pad-to=$(CONFIG_SPL_PAD_TO) > > u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE > > $(call if_changed,pad_cat) > > > So I can add a simple u-boot-spl.hex target, but all of the other CONFIG_SPL_TARGET > > i see combine spl and u-boot. > > Try this: > > include/configs/ls1046a_common.h:#define CONFIG_SPL_TARGET > "spl/u-boot-spl.pbl" > > True, but i would still need to add an spl/u-boot-spl.hex target in the main Makefile. > > What is the benefit of doing this over just adding the hex target in Makefile.spl? > > My whole point was that I'd like this: > +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex > to go away. > > If you need to add a target to a Makefile, that's fine of course. > Should i move the sfp generation stuff while I am at it? use CONFIG_SPL_TARGET in the gen5 /Arria10 devices as well? I think it would clean things up. -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3282 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180907/aa974e91/attachment.bin> ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image 2018-09-07 18:02 ` Westergreen, Dalon @ 2018-09-07 18:17 ` Marek Vasut 0 siblings, 0 replies; 19+ messages in thread From: Marek Vasut @ 2018-09-07 18:17 UTC (permalink / raw) To: u-boot On 09/07/2018 08:02 PM, Westergreen, Dalon wrote: > On Fri, 2018-09-07 at 19:36 +0200, Marek Vasut wrote: >> On 09/07/2018 06:40 PM, Dalon L Westergreen wrote: >> On Fri, 2018-09-07 at 18:25 +0200, Marek Vasut wrote: >> On 09/07/2018 06:15 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 23:56 +0200, Marek Vasut wrote: >> On 09/06/2018 11:26 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 15:41 +0200, Marek Vasut wrote: >> On 09/06/2018 03:39 PM, Dalon L Westergreen wrote: >> On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote: >> On 09/06/2018 05:02 AM, Dalon Westergreen wrote: >> Stratix10 requires a hex image of the spl for boot. The hex >> image is added to the FPGA configuration image and loaded to >> the processor memory by the configuration engine. >> >> v2: >> -> add CONFIG_OF_EMBED to include dtb in elf >> -> generate hex from elf source >> >> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto:dwesterg@gmail.com>>>>>> >> --- >> configs/socfpga_stratix10_defconfig | 1 + >> scripts/Makefile.spl | 6 ++++++ >> 2 files changed, 7 insertions(+) >> >> diff --git a/configs/socfpga_stratix10_defconfig b/configs/socfpga_stratix10_defconfig >> index dceadff439..17cc732cbe 100644 >> --- a/configs/socfpga_stratix10_defconfig >> +++ b/configs/socfpga_stratix10_defconfig >> @@ -56,3 +56,4 @@ CONFIG_DM_USB=y >> CONFIG_USB_DWC2=y >> CONFIG_USB_STORAGE=y >> CONFIG_USE_TINY_PRINTF=y >> +CONFIG_OF_EMBED=y >> >> Why is this needed ? And where did the objcopy hack go ? What is the >> explanation here ? >> >> You suggested the use of CONFIG_OF_EMBED as an alternative to using the >> u-boot-spl-dtb.bin for objcopy. >> The intent is to ensure that the spl elf has the dtb included, and then >> a simple objcopy to elf to hex is fine. >> You no longer need the --change-address as the elf indicates the correct >> start address, unlike the binary. >> >> And that's fine with your usecase ? Fine be me then ... >> >> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl >> index 76d08fd92b..b09bd40b2a 100644 >> --- a/scripts/Makefile.spl >> +++ b/scripts/Makefile.spl >> @@ -190,6 +190,7 @@ endif >> ifdef CONFIG_ARCH_SOCFPGA >> ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp >> ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp >> +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex >> >> CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ? >> >> This doesnt actually work as CONFIG_SPL_TARGET doesnt appear to be an >> SPL target, but rather a >> target for creating combined u-boot + spl images at the top level. Adding >> >> ALL-$(CONFIG_SPL_TARGET) += $(obj)/$(SPL_BIN).hex >> >> in Makefile.spl and >> CONFIG_SPL_TARGET="u-boot-spl.hex" >> in the socfpga_stratix10_config >> >> results in a build failure with no target for u-boot-spl.hex >> >> I mean, just define CONFIG_SPL_TARGET and it should generate the >> matching file automatically. See the README, it explains this macro. >> >> I still get: >> >> make: *** No rule to make target 'u-boot-spl.hex', needed by 'all'. Stop. >> >> >> When i look at all of the other defined CONFIG_SPL_TARGET, for example >> >> I guess you did add the u-boot-spl.hex target already ? >> >> [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-spl.bin * >> >> ... >> >> ... >> >> include/configs/uniphier.h:#define CONFIG_SPL_TARGET "u-boot-with-spl.bin" >> >> Makefile:OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ >> >> Makefile:u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE >> >> Makefile:u-boot.ubl: u-boot-with-spl.bin FORCE >> >> [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ >> >> >> or >> >> >> [dwesterg at dwesterg-mobl <mailto:dwesterg@dwesterg-mobl> u-boot]$ grep -R u-boot-with-nand-spl.imx * >> >> arch/arm/mach-imx/Makefile:u-boot-with-nand-spl.imx: spl/u-boot-nand-spl.imx u-boot.uim FORCE >> >> include/configs/m53evk.h:#define CONFIG_SPL_TARGET "u-boot-with-nand-spl.imx" >> >> Makefile:u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE >> >> >> you find the corresponding target in the makefile. There is no target for u-boot-spl.hex, >> >> furthermore the CONFIG_SPL_TARGET seems to combine spl with uboot to create a combined image. >> >> >> ifdef CONFIG_TPL >> >> SPL_PAYLOAD := tpl/u-boot-with-tpl.bin >> >> else >> >> SPL_PAYLOAD := u-boot.bin >> >> endif >> >> >> OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \ >> >> --pad-to=$(CONFIG_SPL_PAD_TO) >> >> u-boot-with-spl.bin: spl/u-boot-spl.bin $(SPL_PAYLOAD) FORCE >> >> $(call if_changed,pad_cat) >> >> >> So I can add a simple u-boot-spl.hex target, but all of the other CONFIG_SPL_TARGET >> >> i see combine spl and u-boot. >> >> Try this: >> >> include/configs/ls1046a_common.h:#define CONFIG_SPL_TARGET >> "spl/u-boot-spl.pbl" >> >> True, but i would still need to add an spl/u-boot-spl.hex target in the main Makefile. >> >> What is the benefit of doing this over just adding the hex target in Makefile.spl? >> >> My whole point was that I'd like this: >> +ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) += $(obj)/$(SPL_BIN).hex >> to go away. >> >> If you need to add a target to a Makefile, that's fine of course. >> > Should i move the sfp generation stuff while I am at it? use CONFIG_SPL_TARGET > > in the gen5 /Arria10 devices as well? I think it would clean things up. Sure, please do. -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image 2018-09-06 3:02 [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Dalon Westergreen 2018-09-06 3:02 ` [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image Dalon Westergreen @ 2018-09-06 10:08 ` Marek Vasut 2018-09-06 13:30 ` Dalon L Westergreen 1 sibling, 1 reply; 19+ messages in thread From: Marek Vasut @ 2018-09-06 10:08 UTC (permalink / raw) To: u-boot On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > Only the Cyclone5/Arria5 and Arria10 devices require the sfp > formated image for booting. This path ensures that the file is > only generated for those devices. > > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com> > --- > scripts/Makefile.spl | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 252f13826d..76d08fd92b 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -188,7 +188,8 @@ ALL-y += $(obj)/$(BOARD)-spl.bin > endif > > ifdef CONFIG_ARCH_SOCFPGA > -ALL-y += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > endif > > ifdef CONFIG_ARCH_SUNXI > What about adding Kconfig option , something like CONFIG_TARGET_SOCFPGA_SFP , using it above and enabling it on Gen5 and A10 ? That way ,we won't have two entries with the same content. -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image 2018-09-06 10:08 ` [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Marek Vasut @ 2018-09-06 13:30 ` Dalon L Westergreen 0 siblings, 0 replies; 19+ messages in thread From: Dalon L Westergreen @ 2018-09-06 13:30 UTC (permalink / raw) To: u-boot On Thu, 2018-09-06 at 12:08 +0200, Marek Vasut wrote: > On 09/06/2018 05:02 AM, Dalon Westergreen wrote: > > Only the Cyclone5/Arria5 and Arria10 devices require the sfp > formated image for booting. This path ensures that the file is > only generated for those devices. > > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com> > --- > scripts/Makefile.spl | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 252f13826d..76d08fd92b 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -188,7 +188,8 @@ ALL-y += $(obj)/$(BOARD)-spl.bin > endif > > ifdef CONFIG_ARCH_SOCFPGA > -ALL-y += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_GEN5) += $(obj)/$(SPL_BIN).sfp > +ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10) += $(obj)/$(SPL_BIN).sfp > endif > > ifdef CONFIG_ARCH_SUNXI > > What about adding Kconfig option , something like > CONFIG_TARGET_SOCFPGA_SFP , using it above and enabling it on Gen5 and > A10 ? That way ,we won't have two entries with the same content. > Good idea. ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2018-09-07 18:17 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-09-06 3:02 [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Dalon Westergreen 2018-09-06 3:02 ` [U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image Dalon Westergreen 2018-09-06 5:51 ` Simon Goldschmidt 2018-09-06 13:49 ` Dalon L Westergreen 2018-09-06 10:09 ` Marek Vasut 2018-09-06 13:39 ` Dalon L Westergreen 2018-09-06 13:41 ` Marek Vasut 2018-09-06 17:40 ` Dalon L Westergreen 2018-09-06 18:16 ` Marek Vasut 2018-09-06 21:26 ` Dalon L Westergreen 2018-09-06 21:56 ` Marek Vasut 2018-09-07 16:15 ` Dalon L Westergreen 2018-09-07 16:25 ` Marek Vasut 2018-09-07 16:40 ` Dalon L Westergreen 2018-09-07 17:36 ` Marek Vasut 2018-09-07 18:02 ` Westergreen, Dalon 2018-09-07 18:17 ` Marek Vasut 2018-09-06 10:08 ` [U-Boot] [PATCH v2 1/2] spl: socfpga: only gen5 devices and arria10 require sfp image Marek Vasut 2018-09-06 13:30 ` Dalon L Westergreen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox