[PATCH v3 00/12] binman: Add support for generating more complex FITs

Michal Simek michal.simek at xilinx.com
Thu Sep 3 15:31:52 CEST 2020


Hi Simon,

On 02. 09. 20 19:07, Simon Glass wrote:
> Hi Michal,
> 
> On Wed, 2 Sep 2020 at 04:27, Michal Simek <michal.simek at xilinx.com> wrote:
>>
>> Hi Simon,
>>
>> On 01. 09. 20 13:13, Simon Glass wrote:
>>> This series allows binman to generate FITs that include multiple DTB
>>> images and the configuration to use them.
>>>
>>> It is then possible to remove the sunxi FIT generator script, so this
>>> series handles that also.
>>>
>>> With this, sunxi is fully converted to use binman.
>>>
>>> Note: This series is available at u-boot-dm/binman-working and is based
>>> on u-boot-dm/testing
>>
>> I continue on testing this series on ZynqMP and reach one issue. One of
>> our usecase is to put u-boot on memory above 32bit address space.
>> To be accurate to this memory range.
>> reg = <0x8 0x00000000 0x0 0x80000000>;
>>
>> One way to get there is to setup TEXT_BASE to for example 0x808000000.
>> Then u-boot.itb fragment for binmap looks like this.
>>
>>         u-boot-itb {
>>                 filename = "u-boot.itb";
>>                 fit {
>>                         description = "FIT image with ATF support";
>>                         fit,fdt-list = "of-list";
>>                         #address-cells = <2>;
>>
>>                         images {
>>                                 uboot {
>>                                         description = "U-Boot (64-bit)";
>>                                         type = "firmware";
>>                                         os = "u-boot";
>>                                         arch = "arm64";
>>                                         compression = "none";
>>                                         load = <8 0x8000000>;
>>                                         entry = <8 0x8000000>;
>>                                         u-boot-nodtb {
>>                                         };
>>                                 };
>> ...
>> The key properties are load/entry. In example above I have address-cells
>> = 2 and entries written by hand and it works fine.
>> But I want to use CONFIG_SYS_TEXT_BASE there which is already in 64bit
>> format.
>>
>> When this is used I get
>> Error: arch/arm/dts/zynqmp-u-boot.dtsi:31.14-25 Value out of range for
>> 32-bit array element
>> Error: arch/arm/dts/zynqmp-u-boot.dtsi:32.15-26 Value out of range for
>> 32-bit array element
>>
>> Which is understandable but my question is how to handle 64bit addresses
>> which are properly filled via Kconfig?
> 
> If I understand the problem correctly, you can add 64-bit values like this:
> 
> load = /bits/ 64 <CONFIG_SYS_TEXT_BASE>;

ok. This works - thanks for that.

I have sent 2 patches for adding 64bit support to use this feature.

Thanks,
Michal






More information about the U-Boot mailing list