[U-Boot] [PATCH v2 00/11] Allow secure boot on AM33xx devices

Andrew F. Davis
2016-08-22T15:21:20Z

Hello all,

I've recently been tasked with enabling authenticated boot for AM33xx based
devices. This work is similar to what has already been done for the AM43xx
and AM57xx SoCs and leverages much of the infrastructure from them.

The big difference here is the size of SRAM available on AM33xx being much
less than on the other SoCs, when performing a secure boot this limits
the maximum size of the SPL to just ~41k, the SPL currently generated for
AM33xx SoCs is ~70k. To trim down the SPL we move various options from
the config headers to the Kconfig system so we can selectively disable
them in HS specific defconfigs. These changes are added as RFC patches.

Thanks,
Andrew

Changes from v1:
- I've moved the cleanup patches to the end of the series and now
consider them RFCs. I also do not move any Kconfig options over
as this can be performed automatically but will need to be done
by someone who understands the build system better than me.
- Separate additional AM33xx SOC based boards out from the SoC
definition in patch #1.

Andrew F. Davis (11):
Kconfig: Separate AM33XX SOC config from target board config
am33xx: config.mk: Add support for additional secure boot image types
am33xx: config.mk: Fix option used to enable SPI SPL image type
doc: Update info on using AM33xx secure devices from TI
ti: omap-common: Allow AM33xx devices to be built securely
board: am33xx-hs: spl: Allow post-processing of FIT image on AM33xx
omap: Use SD_BOOT in place of EMMC_BOOT
config: Remove usage of CONFIG_STORAGE_EMMC
spl: Kconfig: Add SPL_<media>_SUPPORT as Kconfig option
spl: Kconfig: Add SPL_<media>_BOOT as Kconfig option
spl: Kconfig: Add CONFIG_SPL_TEXT_BASE as Kconfig option

Kconfig | 8 ++++
arch/arm/Kconfig | 51 +++++---------------
arch/arm/cpu/armv7/am33xx/Kconfig | 49 +++++++++++++++++++
arch/arm/cpu/armv7/am33xx/config.mk | 29 ++++++++++--
arch/arm/cpu/armv7/omap-common/Kconfig | 2 +-
board/ti/am335x/board.c | 8 ++++
board/ti/am335x/mux.c | 4 +-
common/Kconfig | 76 ++++++++++++++++++++++++++++++
common/spl/Kconfig | 54 +++++++++++++++++++++
configs/am335x_baltos_defconfig | 1 +
configs/am335x_boneblack_defconfig | 3 +-
configs/am335x_boneblack_vboot_defconfig | 4 +-
configs/am335x_evm_defconfig | 1 +
configs/am335x_evm_nor_defconfig | 1 +
configs/am335x_evm_norboot_defconfig | 1 +
configs/am335x_evm_spiboot_defconfig | 1 +
configs/am335x_evm_usbspl_defconfig | 1 +
configs/am335x_igep0033_defconfig | 1 +
configs/am335x_shc_defconfig | 1 +
configs/am335x_shc_ict_defconfig | 1 +
configs/am335x_shc_netboot_defconfig | 1 +
configs/am335x_shc_prompt_defconfig | 1 +
configs/am335x_shc_sdboot_defconfig | 1 +
configs/am335x_shc_sdboot_prompt_defconfig | 1 +
configs/am335x_sl50_defconfig | 3 +-
configs/brppt1_mmc_defconfig | 3 +-
configs/brppt1_spi_defconfig | 3 +-
doc/README.ti-secure | 32 +++++++++++++
include/configs/am335x_evm.h | 4 +-
include/configs/am335x_shc.h | 2 -
include/configs/am335x_sl50.h | 4 +-
include/configs/bav335x.h | 4 +-
include/configs/brppt1.h | 6 +--
include/configs/ti_am335x_common.h | 2 +
34 files changed, 299 insertions(+), 65 deletions(-)
create mode 100644 common/spl/Kconfig

--
2.9.3