mkimage: allow zynqmp to use a register initialization file
Erich E. Hoover
erich.e.hoover at gmail.com
Wed Jun 3 20:48:27 CEST 2026
On Wed, Jun 3, 2026 at 11:55 AM Sean Anderson <seanga2 at gmail.com> wrote:
> On 6/3/26 13:51, Sean Anderson wrote:
> > ...
> >
> > 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).
We currently have thirteen ZynqMP systems that all have different pin
configurations, so we have a unified FSBL that uses the JTAG
psu_init.tcl (and a small register initialization file) to initialize
the part. I'm not aware of a clean way to do something similar in the
SPL/U-Boot approach, without having a bunch of different u-boot
builds, but I'm open to other suggestions.
> The other advantage of this is that the FIT is loaded with SPL (which can use
> a faster bus than the boot ROM, although I think FSBL does this too) and the
> images (especially the bitstream) can be compressed. Even something like LZO
> is very effective at compressing the bitstream and sped up the boot by several
> seconds.
> ...
We no longer include the bitstream in the boot.bin, so the time to
load the boot.bin is not something that is a major concern for us.
We're mostly trying to manage the complexity of having a bunch of
differently-configured ZynqMP systems.
Best,
Erich
More information about the U-Boot
mailing list