[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