[RFC PATCH] zynqmp: Add binman description for SOM

Michal Simek michal.simek at amd.com
Fri Nov 1 14:09:38 CET 2024


Hi Simon,

On 11/1/24 09:27, Michal Simek wrote:
> 
> 
> 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 at 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.

One more thing on this one. I pretty much dislike that images are generated to 
u-boot root folder. Isn't there a way that they will be written to separate 
folder (deploy for example)?

Thanks,
Michal


More information about the U-Boot mailing list