[PATCH v3 05/12] binman: Add support for ATF BL31

Simon Glass sjg at chromium.org
Sun Sep 6 02:17:54 CEST 2020


Hi Samuel,

On Sat, 5 Sep 2020 at 16:57, Samuel Holland <samuel at sholland.org> wrote:
>
> On 9/1/20 6:13 AM, Simon Glass wrote:
> > Add an entry for ARM Trusted Firmware's 'BL31' payload, which is the
> > device's main firmware. Typically this is U-Boot.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > Changes in v3:
> > - Rebase on top of earlier binman series
> >
> > Changes in v2:
> > - Add the URL of ARM Trusted Firmware and mention of U-Boot docs
> > - Fix copyright year
> > - Update docs to indicate that BL31 is loaded from SPL
> > - Update docs to mention both bl31.bin and bl31.elf
> >
> >  tools/binman/README.entries        | 14 ++++++++++++++
> >  tools/binman/etype/atf_bl31.py     | 24 ++++++++++++++++++++++++
> >  tools/binman/ftest.py              |  9 +++++++++
> >  tools/binman/test/169_atf_bl31.dts | 16 ++++++++++++++++
> >  4 files changed, 63 insertions(+)
> >  create mode 100644 tools/binman/etype/atf_bl31.py
> >  create mode 100644 tools/binman/test/169_atf_bl31.dts
>
> Does this mean every kind of firmware blob referenced by FIT generator scripts
> (TEE fimware, SCP firmware, OpenSBI firmware, etc.) needs its own Python package?

No, but in general I would like to do that if possible. It is easier
that having random filenames in the description.

>
> What if you need multiple versions of ATF BL31 and TEE firmware for different
> configurations, like Rockchip currently does?

You can always specify a filename in the node.

> You would need dynamic argument
> names, but then how do you get them in the Makefile?

Using the -a flag.

>
> This approach doesn't seem very flexible or scalable.
>
> Why not have a generic Entry_blob_named_by_env, with a "filename-var" (or
> similar) property in addition to "filename"? Then the existing interface of the
> FIT generator scripts could be maintained without tons of boilerplate.

You can do that if you like (see blob-named-by-arg and -a), but the
idea with binman is that it knows how to deal with various types of
binaries, and each one has a name. This makes it easier to see what is
going on, I think.

Also we get documentation about each binary type in README.entries

Regards,
Simon


More information about the U-Boot mailing list