[RFC PATCH] zynqmp: Add binman description for SOM

Michal Simek michal.simek at amd.com
Fri Nov 1 09:27:49 CET 2024



On 10/31/24 19:03, Simon Glass wrote:
> Hi Michal,
> 
> On Wed, 9 Oct 2024 at 10:33, Michal Simek <michal.simek at amd.com> wrote:
>>
>> There is necessary to do some steps to compose boot images. These steps
>> were in scripts in layers for a while. That's why introduce description via
>> binman to simplify wiring and remove all scripting around.
>> This should make sure that everybody is up2date with the latest versions.
>>
>> The first step is to create fit image with DTBs with descriptions in
>> configuration node which is written as regular expression to match all SOM
>> versions.
>> Description is there for k24 and k26 in spite of low level psu_init
>> configuration is different. The reason is that it goes to u-boot.itb image
>> which is the same for k24 and k26.
>> u-boot.itb is another image which is generated. It is normally generated
>> via arch/arm/mach-zynqmp/mkimage_fit_atf.sh but this script is supposed to
>> be deprecated.
>> FIT image by purpose is using 64bit addresses to have default option to
>> move images to high DDR (above 4GB). TF-A and TEE are optional components
>> but in the most cases TF-A is present all the time and TEE(OP-TEE) is used
>> by some configurations too.
>>
>> 3rd generated image is boot.bin with updated user field which contains
>> version number. This image can be used with updated Image Selector
>> which supports A/B update mechanisms with rollback protection.
>>
>> 4th image is image.bin which binary file which contains boot.bin and
>> u-boot.itb together and can be programmed via origin Image Selector.
>> This image can be also used for creating one capsule which contains both
>> boot images (in SPL boot flow).
>>
>> Signed-off-by: Michal Simek <michal.simek at amd.com>
>> ---
>>
>> Currently I have this for testing purpose only to find missing bits and
>> pieces in binman for cases I want to support.
>>
>> This patch depends on
>> https://lore.kernel.org/r/fbed0251437b61a2f7a85596d7403b5b9c8237c1.1728306322.git.michal.simek@amd.com
>>
>> ---
>>   arch/arm/dts/Makefile                |   1 +
>>   arch/arm/dts/zynqmp-som-binman.dts   | 224 +++++++++++++++++++++++++++
>>   arch/arm/mach-zynqmp/Kconfig         |  17 ++
>>   configs/xilinx_zynqmp_kria_defconfig |   2 +
>>   4 files changed, 244 insertions(+)
>>   create mode 100644 arch/arm/dts/zynqmp-som-binman.dts
> 
> I'm pleased to see this. My only suggestion is to use '/bits/ 64'
> instead of the macros, for 64-bit values.

When I was playing with it some time ago it didn't work but it works now that's 
why no issue with it.

Thanks,
Michal



More information about the U-Boot mailing list