Samuel Holland 1f88ca3289 sunxi: Support building a SPL as a TOC0 image
Now that mkimage can generate TOC0 images, and the SPL can interpret
them, hook up the build infrastructure so the user can choose which
image type to build. Since the absolute load address is stored in the
TOC0 header, that information must be passed to mkimage.

Cover-letter:
sunxi: TOC0 image type support
This series adds support for the TOC0 image format used by the Allwinner
secure boot ROM (SBROM). This series has been tested on the following
SoCs/boards, with the eFuse burnt to enable secure mode:
 - A50: Ainol Q88 Tablet
 - A64: Pine A64 Plus
 - H5: Orange Pi Zero Plus
 - H6: Pine H64 Model B
 - H616: Orange Pi Zero 2

This time I also tested it on boards that are not switched to secure
mode (with A64, H3, and H5).

Due to both series changing Makefile.spl, the last patch depends on:
https://patchwork.ozlabs.org/project/uboot/list/?series=267136

Since this series no longer selects TOOLS_LIBCRYPTO anywhere, building
certain platforms/options may fail with an error like the following if
TOOLS_LIBCRYPTO is disabled:

    MKIMAGE spl/sunxi-spl.bin
  ./tools/mkimage: unsupported type Allwinner TOC0 Boot Image
  make[1]: *** [scripts/Makefile.spl:426: spl/sunxi-spl.bin] Error 1
  make: *** [Makefile:1982: spl/u-boot-spl] Error 2
END

Series-to: sunxi
Series-version: 4
Series-changes: 2
 - Rebase on top of Icenowy's RISC-V support series
 - Rename Kconfig symbols to include the full image type name

Signed-off-by: Samuel Holland <samuel@sholland.org>
2021-11-20 13:46:19 -06:00

25 lines
630 B
Plaintext

choice
prompt "SPL Image Type"
default SPL_IMAGE_TYPE_SUNXI_EGON
config SPL_IMAGE_TYPE_SUNXI_EGON
bool "eGON (normal)"
help
Select this option to embed the SPL binary in an eGON.BT0 image,
which is compatible with the normal boot ROM (NBROM).
This is usually the correct option to choose.
config SPL_IMAGE_TYPE_SUNXI_TOC0
bool "TOC0 (secure)"
help
Select this option to embed the SPL binary in a TOC0 image,
which is compatible with the secure boot ROM (SBROM).
endchoice
config SPL_IMAGE_TYPE
string
default "sunxi_egon" if SPL_IMAGE_TYPE_SUNXI_EGON
default "sunxi_toc0" if SPL_IMAGE_TYPE_SUNXI_TOC0