[U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image

Marek Vasut marex at denx.de
Thu Sep 6 13:41:02 UTC 2018


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 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_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


More information about the U-Boot mailing list