mkimage: allow zynqmp to use a register initialization file
Sean Anderson
seanga2 at gmail.com
Wed Jun 3 19:51:07 CEST 2026
On 6/3/26 13:45, Erich E. Hoover wrote:
> On Wed, Jun 3, 2026 at 11:34 AM Sean Anderson <seanga2 at gmail.com> wrote:
>> On 6/3/26 12:25, Erich E. Hoover wrote:
>>> ...
>>> Yes, sort of, if you are using "zynqmpimage" instead of "zynqmpbif"
>>
>> I've never seen the point of BIFs; I've been able to do everything I
>> want with zynqmpimage.
>
> My understanding is that "zynqmpimage" only works if you have one
> "partition", so if you're passing the ATF or other partition data I
> think that you have to use "zynqmpbif".
>
I used ATF, but this was with SPL. So the boot process went something like
Boot ROM loads zynqmpimage
- PMU firmware to PMU RAM
- U-Boot SPL to OCRAM
U-Boot SPL loads FIT
- ATF to OCRAM
- U-Boot/DTB to DDR
- Bitstream to PL
And ATF was configured to jump to DDR after initializing.
I guess if you are using FSBL that doesn't work, but IMO FSBL is yet another
incompatible bootloader to maintain. I'd rather have a shared codebase
(SPL/U-Boot).
>> But this info would be good to put in the commit message.
>
> How's this sound?:
> ===
> The ZynqMP Boot Image Format allows specifying the register
> initialization file with the "[init]" attribute. Since this
> feature is already supported by the "zynqmpimage" backend, this
> commit implements a binding to that existing support.
> ===
> ( https://lists.denx.de/pipermail/u-boot/2026-June/620814.html )
> Please accept my apologies again for messing that up the first time around.
Actually, I liked how you explained it in your previous email
If you are using "zynqmpimage" instead of "zynqmpbif"
then you can add the register initialization with -R. This patch
leverages that existing capability to add support for the "[init]"
attribute in the zynqmpbif backend:
https://docs.amd.com/r/en-US/ug1283-bootgen-user-guide/init
We are using this feature, in combination with other zynqmpbif options, like so:
===
image : {
[init] fsbl.int
[bootloader] fsbl.elf
[pmufw_image] pmufw.elf
[destination_cpu=none] fsbl.tcl
[destination_cpu=a53-0, exception_level=el-3] bl31.elf
[destination_cpu=a53-0, exception_level=el-2, load=0x08000000,
startup=0x08000000] u-boot.bin
}
===
More information about the U-Boot
mailing list