On Tue, 19 Oct 2021 21:44:54 -0500 Samuel Holland <sam...@sholland.org> wrote:
Hi, > 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. > > Signed-off-by: Samuel Holland <sam...@sholland.org> Nice, that allows to build TOC0 images very easily! Tested for regressions on a bunch of boards, and on a Remix Mini PC, selecting SPL_IMAGE_TYPE_SUNXI_TOC0: boots straight through! Will double check the DT I made, then send it later, so that we get a user in the tree. Reviewed-by: Andre Przywara <andre.przyw...@arm.com> Cheers, Andre > --- > > (no changes since v2) > > Changes in v2: > - Rebase on top of Icenowy's RISC-V support series > - Rename Kconfig symbols to include the full image type name > > arch/arm/mach-sunxi/Kconfig | 2 ++ > board/sunxi/Kconfig | 24 ++++++++++++++++++++++++ > scripts/Makefile.spl | 5 ++++- > 3 files changed, 30 insertions(+), 1 deletion(-) > create mode 100644 board/sunxi/Kconfig > > diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig > index 2c18cf02d1..879efb9f61 100644 > --- a/arch/arm/mach-sunxi/Kconfig > +++ b/arch/arm/mach-sunxi/Kconfig > @@ -1050,6 +1050,8 @@ config BLUETOOTH_DT_DEVICE_FIXUP > The used address is "bdaddr" if set, and "ethaddr" with the LSB > flipped elsewise. > > +source "board/sunxi/Kconfig" > + > endif > > config CHIP_DIP_SCAN > diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig > new file mode 100644 > index 0000000000..084a8b0c6c > --- /dev/null > +++ b/board/sunxi/Kconfig > @@ -0,0 +1,24 @@ > +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 > diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl > index 4cc23799db..635fa14cb9 100644 > --- a/scripts/Makefile.spl > +++ b/scripts/Makefile.spl > @@ -411,7 +411,10 @@ endif > $(obj)/$(SPL_BIN).sfp: $(obj)/$(SPL_BIN).bin FORCE > $(call if_changed,mkimage) > > -MKIMAGEFLAGS_sunxi-spl.bin = -A $(ARCH) -T sunxi_egon \ > +MKIMAGEFLAGS_sunxi-spl.bin = \ > + -A $(ARCH) \ > + -T $(CONFIG_SPL_IMAGE_TYPE) \ > + -a $(CONFIG_SPL_TEXT_BASE) \ > -n $(CONFIG_DEFAULT_DEVICE_TREE) > > OBJCOPYFLAGS_u-boot-spl-dtb.hex := -I binary -O ihex > --change-address=$(CONFIG_SPL_TEXT_BASE)