Re: Replace make-fit-atf.py with binman. Was: migrate u-boot-rockchip.bin to binman and generate an image for SPI

Simon Glass
2022-07-26T19:58:59Z

kHi Xavier,

On Tue, 26 Jul 2022 at 13:08, Xavier Drudis Ferran <xdrudis@tinet.cat> wrote:
>
> El Tue, Jul 26, 2022 at 11:08:21AM +0200, Quentin Schulz deia:
> >
> > You could also have a fit,align = <8>; property instead of hardcoding it.
>
> I'm not sure the fit entry in binman heeds this property, may have
> overlooked something. I'd have to try it.

[..]

>
> >
> > This is unfortunately not possible since binman parallelizes the build of
> > images in the binman DT node. This means there is no guarantee the
> > u-boot.itb file is generated before this section is worked on by binman. Or
> > maybe I misunderstood the docs.
> >
> > But good progress, I guess this phandle thing "just" needs to be fixed to
> > have something nice (both for this patch series and mine).
> >
>
> I'm sending another patch below "fixing" the phandle issue, but it's a
> dirty hack without too much thought given. It could still fail if threads
> try to read data from the image of another thread before it's ready or something.
> Only lightly tested with binman -T 0, not parallel.
> It seems to run mkimage -B 8 -E -t -F ./itb.fit.fit SIX times each time
> I run binman. Not sure why.
>
> But it boots.
>
> I wonder if we shouldn't just run binman several times from make instead of once at the end,
> have make run it once for each file we want to create, so that we can reuse u-boot.itb for both
> the MMC and the SPI image. We could have one .dts for each image, so when make
> want u-boot.itb it runs binman -a of-list="rk3399-rock-pi-4b.dts rockchip-itb-u-boot.dts"

We must not move to multiple invocations of binman. It is supposed to
handle everything at once.

But for the case you have here, we could perhaps add a feature to
specify an ordering for images and to explicitly allow one image to
include another?

[..]

Regards,
Simon