]> git.dujemihanovic.xyz Git - u-boot.git/commit
binman: etype: Add xilinx-bootgen etype
authorLukas Funke <lukas.funke@weidmueller.com>
Thu, 3 Aug 2023 15:22:15 +0000 (17:22 +0200)
committerSimon Glass <sjg@chromium.org>
Sat, 5 Aug 2023 17:33:18 +0000 (11:33 -0600)
commit7fcfa9d930127377d5b3fb54256f468dcc288103
treec61a42b163429a35ba52dfbb9ede059ec291154b
parent7f51fe5c6db21592f7f2a914b2dab3f67e765d8b
binman: etype: Add xilinx-bootgen etype

This adds a new etype 'xilinx-bootgen'. By using this etype it is
possible to created an signed SPL (FSBL in Xilinx terms) for
ZynqMP boards.

The etype uses Xilinx Bootgen tools in order to transform the SPL into
a bootable image and sign the image with a given primary and secondary
public key. For more information to signing the FSBL please refer to the
Xilinx Bootgen documentation.

Here is an example of the etype in use:

    spl {
        filename = "boot.signed.bin";

        xilinx-bootgen {
            pmufw-filename = "pmu-firmware.elf";
            psk-key-name-hint = "psk0";
            ssk-key-name-hint = "ssk0";
            auth-params = "ppk_select=0", "spk_id=0x00000000";

            u-boot-spl-nodtb {
            };
            u-boot-spl-dtb {
            };
        };
    };

For this to work the hash of the primary public key has to be fused
into the ZynqMP device and authentication (RSA_EN) has to be set.

For testing purposes: if ppk hash check should be skipped one can add
the property 'fsbl_config = "bh_auth_enable";' to the etype. However,
this should only be used for testing(!).

Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
tools/binman/entries.rst
tools/binman/etype/xilinx_bootgen.py [new file with mode: 0644]