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

Samuel Holland samuel at sholland.org
Sun Sep 6 00:57:03 CEST 2020


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?

What if you need multiple versions of ATF BL31 and TEE firmware for different
configurations, like Rockchip currently does? You would need dynamic argument
names, but then how do you get them in the Makefile?

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.


More information about the U-Boot mailing list