Allow secure boot on AM33xx devices
v3 cover Allow secure boot on AM33xx devices
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.
I have added a defconfig for booting from mmc, but it is RFC for now as the generated SPL is still much too large to fit into SRAM on HS devices. If you would like to help out you can build this defconfig and it will report by how much we have overflowed SRAM, any help reducing this would be greatly appreciated.
Thanks,
Andrew
Changes from v2:
- Dropping the SPL_*_SUPPORT patches as Simon is already way ahead of me on this front[0].
- Minor re-organization of the patches, dropped a couple that I didn't feel were important enough to continue working right now.
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.
[0] https://www.mail-archive.com/u-boot at lists.denx.de/msg222736.html
Andrew F. Davis (11):
spl: Kconfig: Add SPL_<media>_BOOT as Kconfig option
Kconfig: Separate AM33XX SOC config from target board config
am33xx: config.mk: Add support for additional secure boot image types
doc: Update info on using AM33xx secure devices from TI
am33xx: config.mk: Fix option used to enable SPI SPL image type
board: am33xx-hs: Allow post-processing of FIT image on AM33xx
ti: omap-common: Allow AM33xx devices to be built securely
am335x: configs: Use ISW_ENTRY_ADDR to set SPL_TEXT_BASE
config: Remove usage of CONFIG_STORAGE_EMMC
ti_armv7_common: Disable Falcon Mode on HS devices
defconfig: Add a config for AM335x High Security EVM with SD Boot
support
arch/arm/Kconfig | 98 +++-------------------
arch/arm/cpu/armv7/am33xx/Kconfig | 86 +++++++++++++++++++
arch/arm/cpu/armv7/am33xx/config.mk | 29 ++++++-
arch/arm/cpu/armv7/omap-common/Kconfig | 2 +-
board/ti/am335x/board.c | 8 ++
common/Kconfig | 69 +++++++++++++++
configs/am335x_baltos_defconfig | 1 +
configs/am335x_boneblack_defconfig | 1 +
configs/am335x_boneblack_vboot_defconfig | 1 +
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 +
...x_evm_defconfig => am335x_hs_evm_mmc_defconfig} | 8 +-
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 | 1 +
configs/birdland_bav335a_defconfig | 1 +
configs/birdland_bav335b_defconfig | 1 +
configs/cm_t335_defconfig | 1 +
configs/pcm051_rev1_defconfig | 1 +
configs/pcm051_rev3_defconfig | 1 +
configs/pengwyn_defconfig | 1 +
configs/pepper_defconfig | 1 +
doc/README.ti-secure | 32 +++++++
include/configs/am335x_evm.h | 2 -
include/configs/am335x_shc.h | 2 -
include/configs/am335x_sl50.h | 2 -
include/configs/bav335x.h | 2 -
include/configs/ti_am335x_common.h | 3 +-
include/configs/ti_armv7_common.h | 15 ++--
37 files changed, 274 insertions(+), 107 deletions(-)
copy configs/{am335x_evm_defconfig => am335x_hs_evm_mmc_defconfig} (86%)Signature · 1 line
2.9.3
PATCH v3 1/11 spl: Kconfig: Add SPL_<media>_BOOT as Kconfig option
Currently U-Boot proper has Kconfig options that enable the generation of U-Boot binaries that are capable of being booted from the selected boot media type. The same set of generation targets for SPL are assumed with various methods and config header hackery. On some platforms the options for SPL, such as load address, are dependent on boot type and cannot depend on boot image type selected for U-Boot proper. Add a Kconfig menu to select SPL boot image types, and populate it with the same media types as are already available for U-Boot proper.
NOTE: As only a couple TI devices use make correct use of these options we limit the menu to these devices for now. The only other users of these seem to be some PPC boards that incorrectly use these as both SPL and TPL build options.
--- common/Kconfig | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+)
common/Kconfig +69 -0
@@ -156,6 +156,75 @@ config SPI_BOOT booted via SPI flash. This is not a must, some SoCs need this, somes not. +menu "SPL Boot media" + depends on SPL && (AM33XX || AM43XX) + +config SPL_NOR_BOOT + bool "Support for booting SPL from NOR flash" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via NOR flash. This is not a must, some SoCs need this, + some do not. + +config SPL_NAND_BOOT + bool "Support for booting SPL from NAND flash" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via NAND flash. This is not a must, some SoCs need this, + some do not. + +config SPL_ONENAND_BOOT + bool "Support for booting SPL from ONENAND" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via ONENAND. This is not a must, some SoCs need this, + some do not. + +config SPL_QSPI_BOOT + bool "Support for booting SPL from QSPI flash" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via QSPI flash. This is not a must, some SoCs need this, + some do not. + +config SPL_SATA_BOOT + bool "Support for booting SPL from SATA" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via SATA. This is not a must, some SoCs need this, + some do not. + +config SPL_SD_BOOT + bool "Support for booting SPL from SD/MMC/eMMC" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via SD/MMC/eMMC. This is not a must, some SoCs need this, + some do not. + +config SPL_SPI_BOOT + bool "Support for booting SPL from SPI flash" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via SPI flash. This is not a must, some SoCs need this, + some do not. + +config SPL_UART_BOOT + bool "Support for booting SPL from UART" + default n + help + Enabling this will make an SPL binary that is capable of being + booted via UART. This is not a must, some SoCs need this, + some do not. + +endmenu + endmenu config BOOTDELAY
Signature · 1 line
2.9.3
PATCH v3 1/11 spl: Kconfig: Add SPL_<media>_BOOT as Kconfig option
Quoted 9 lines · Andrew F. Davis
Currently U-Boot proper has
Kconfigoptions that enable the generation of U-Boot binaries that are capable of being booted from the selected boot media type. The same set of generation targets for SPL are assumed with various methods and config header hackery. On some platforms the options for SPL, such as load address, are dependent on boot type and cannot depend on boot image type selected for U-Boot proper. Add aKconfigmenu to select SPL boot image types, and populate it with the same media types as are already available for U-Boot proper.
Quoted 6 lines
NOTE: As only a couple TI devices use make correct use of these options we limit the menu to these devices for now. The only other users of these seem to be some PPC boards that incorrectly use these as both SPL and TPL build options.
Signed-off-by Andrew F. Davis <[email protected]>
OK, sorry, I feel we've gone off on a wild goose chase here. Of all the options that get added here, only two appear to be used at all and it's by the "old" Freescale SPL and not the current iteration of SPL. Those conversions should end up in board/freescale/Kconfig I think.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/6936cfa9/attachment.sig>
PATCH v3 1/11 spl: Kconfig: Add SPL_<media>_BOOT as Kconfig option
Quoted 16 lines · Tom Rini
Quoted 14 lines · Andrew F. Davis
Currently U-Boot proper has
Kconfigoptions that enable the generation of U-Boot binaries that are capable of being booted from the selected boot media type. The same set of generation targets for SPL are assumed with various methods and config header hackery. On some platforms the options for SPL, such as load address, are dependent on boot type and cannot depend on boot image type selected for U-Boot proper. Add aKconfigmenu to select SPL boot image types, and populate it with the same media types as are already available for U-Boot proper.NOTE: As only a couple TI devices use make correct use of these options we limit the menu to these devices for now. The only other users of these seem to be some PPC boards that incorrectly use these as both SPL and TPL build options.
Quoted 7 lines
Quoted 1 line
Signed-off-by Andrew F. Davis <[email protected]>OK, sorry, I feel we've gone off on a wild goose chase here. Of all the options that get added here, only two appear to be used at all and it's by the "old" Freescale SPL and not the current iteration of SPL. Those conversions should end up in board/freescale/Kconfig I think.
These are used in patch 3 of this series, but I can drop that use by simply always building SPLs for all supported media types. Most of our platforms only need two image types anyway (QSPI and MLO for everything else).
We could do the same for the existing {media}_BOOT, they are rarely used correctly as described by the Kconfig help (formatting the U-Boot binary output image for a specific media type), often mistaken for {media}_SUPPORT options.
Masahiro would probably be happy to help remove these options altogether (taking this patch a step further:
https://patchwork.ozlabs.org/patch/661706/).
Andrew
PATCH v3 1/11 spl: Kconfig: Add SPL_<media>_BOOT as Kconfig option
Quoted 25 lines · Andrew F. Davis
Quoted 16 lines · Tom Rini
Quoted 14 lines · Andrew F. Davis
Currently U-Boot proper has
Kconfigoptions that enable the generation of U-Boot binaries that are capable of being booted from the selected boot media type. The same set of generation targets for SPL are assumed with various methods and config header hackery. On some platforms the options for SPL, such as load address, are dependent on boot type and cannot depend on boot image type selected for U-Boot proper. Add aKconfigmenu to select SPL boot image types, and populate it with the same media types as are already available for U-Boot proper.NOTE: As only a couple TI devices use make correct use of these options we limit the menu to these devices for now. The only other users of these seem to be some PPC boards that incorrectly use these as both SPL and TPL build options.
Quoted 7 lines
Quoted 1 line
Signed-off-by Andrew F. Davis <[email protected]>OK, sorry, I feel we've gone off on a wild goose chase here. Of all the options that get added here, only two appear to be used at all and it's by the "old" Freescale SPL and not the current iteration of SPL. Those conversions should end up in board/freescale/Kconfig I think.
Quoted 4 lines
These are used in patch 3 of this series, but I can drop that use by simply always building SPLs for all supported media types. Most of our platforms only need two image types anyway (QSPI and MLO for everything else).
Yes, this sounds best, thanks!
Quoted 8 lines
We could do the same for the existing {media}_BOOT, they are rarely used correctly as described by the
Kconfighelp (formatting the U-Boot binary output image for a specific media type), often mistaken for {media}_SUPPORT options.Masahiro would probably be happy to help remove these options altogether (taking this patch a step further:
https://patchwork.ozlabs.org/patch/661706/).
Yes, I think we're all in agreement here then, thanks.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160829/c539e87a/attachment.sig>
PATCH v3 2/11 Kconfig: Separate AM33XX SOC config from target board config
In reply to Andrew F. DavisThe config option AM33XX is used in several boards and should be defined as a stand-alone option for this SOC. We break this out from target boards that use this SoC and common headers then enable AM33XX on in all the boards that used these targets to eliminate any functional change with this patch.
This is similar to what has already been done in9de852642cae ("arm: Kconfig: Add support for AM43xx SoC specific Kconfig") and is done for the same reasons.
--- arch/arm/Kconfig | 98 ++++-------------------------- arch/arm/cpu/armv7/am33xx/Kconfig | 86 ++++++++++++++++++++++++++ configs/am335x_baltos_defconfig | 1 + configs/am335x_boneblack_defconfig | 1 + configs/am335x_boneblack_vboot_defconfig | 1 + 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 | 1 + configs/birdland_bav335a_defconfig | 1 + configs/birdland_bav335b_defconfig | 1 + configs/cm_t335_defconfig | 1 + configs/pcm051_rev1_defconfig | 1 + configs/pcm051_rev3_defconfig | 1 + configs/pengwyn_defconfig | 1 + configs/pepper_defconfig | 1 + include/configs/ti_am335x_common.h | 1 - 26 files changed, 120 insertions(+), 88 deletions(-)
arch/arm/Kconfig +11 -87
@@ -315,38 +315,6 @@ config TARGET_BRPPT1 select CPU_V7 select SUPPORT_SPL -config TARGET_CM_T335 - bool "Support cm_t335" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - -config TARGET_PEPPER - bool "Support pepper" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - -config TARGET_AM335X_IGEP0033 - bool "Support am335x_igep0033" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - -config TARGET_PCM051 - bool "Support pcm051" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - config TARGET_DRACO bool "Support draco" select CPU_V7
@@ -395,61 +363,6 @@ config TARGET_RUT select DM_SERIAL select DM_GPIO -config TARGET_PENGWYN - bool "Support pengwyn" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - -config TARGET_AM335X_BALTOS - bool "Support am335x_baltos" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - -config TARGET_AM335X_EVM - bool "Support am335x_evm" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - select TI_I2C_BOARD_DETECT - -config TARGET_AM335X_SHC - bool "Support am335x based shc board from bosch" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - select DM_GPIO - -config TARGET_AM335X_SL50 - bool "Support am335x_sl50" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - -config TARGET_BAV335X - bool "Support bav335x" - select CPU_V7 - select SUPPORT_SPL - select DM - select DM_SERIAL - help - The BAV335x OEM Network Processor integrates all the functions of an - embedded network computer in a small, easy to use SODIMM module which - incorporates the popular Texas Instruments Sitara 32bit ARM Coretex-A8 - processor, with fast DDR3 512MB SDRAM, 4GB of embedded MMC and a Gigabit - ethernet with simple connection to external connectors. - - For more information, visit: http://birdland.com/oem - config TARGET_TI814X_EVM bool "Support ti814x_evm" select CPU_V7
@@ -579,6 +492,17 @@ config AM43XX protocols, dual camera support, optional 3D graphics and an optional customer programmable secure boot. +config AM33XX + bool "AM33XX SoC" + select CPU_V7 + select SUPPORT_SPL + help + Support for AM335x SOC from Texas Instruments. + The AM335x high performance SOC features a Cortex-A8 + ARM core, a dual core PRU-ICSS for industrial Ethernet + protocols, optional 3D graphics and an optional customer + programmable secure boot. + config ARCH_RMOBILE bool "Renesas ARM SoCs" select DM
arch/arm/cpu/armv7/am33xx/Kconfig +86 -0
96 lines not on this page · raw message
configs/am335x_baltos_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_BALTOS=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL=y
configs/am335x_boneblack_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL=y
configs/am335x_boneblack_vboot_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
configs/am335x_evm_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
configs/am335x_evm_nor_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_NOR=y
configs/am335x_evm_norboot_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_NOR=y CONFIG_NOR_BOOT=y
configs/am335x_evm_spiboot_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL=y
configs/am335x_evm_usbspl_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_EVM=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL=y
configs/am335x_igep0033_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_IGEP0033=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL=y
configs/am335x_shc_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SHC=y CONFIG_SERIES=y CONFIG_SPL_STACK_R_ADDR=0x82000000
configs/am335x_shc_ict_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SHC=y CONFIG_SHC_ICT=y CONFIG_SERIES=y
configs/am335x_shc_netboot_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SHC=y CONFIG_SHC_NETBOOT=y CONFIG_SERIES=y
configs/am335x_shc_prompt_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SHC=y CONFIG_SERIES=y CONFIG_SPL_STACK_R_ADDR=0x82000000
configs/am335x_shc_sdboot_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SHC=y CONFIG_SHC_SDBOOT=y CONFIG_SERIES=y
configs/am335x_shc_sdboot_prompt_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SHC=y CONFIG_SHC_SDBOOT=y CONFIG_SERIES=y
configs/am335x_sl50_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_AM335X_SL50=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_SPL=y
configs/birdland_bav335a_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_BAV335X=y CONFIG_BAV_VERSION=1 CONFIG_SPL=y
configs/birdland_bav335b_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_BAV335X=y CONFIG_BAV_VERSION=2 CONFIG_SPL=y
configs/cm_t335_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_CM_T335=y CONFIG_SPL=y CONFIG_HUSH_PARSER=y
configs/pcm051_rev1_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_PCM051=y CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="REV1"
configs/pcm051_rev3_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_PCM051=y CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="REV3"
configs/pengwyn_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_PENGWYN=y CONFIG_SPL=y CONFIG_HUSH_PARSER=y
configs/pepper_defconfig +1 -0
@@ -1,4 +1,5 @@ CONFIG_ARM=y +CONFIG_AM33XX=y CONFIG_TARGET_PEPPER=y CONFIG_SPL=y CONFIG_HUSH_PARSER=y
include/configs/ti_am335x_common.h +0 -1
@@ -12,7 +12,6 @@#ifndef __CONFIG_TI_AM335X_COMMON_H__#define __CONFIG_TI_AM335X_COMMON_H__ -#define CONFIG_AM33XX #define CONFIG_ARCH_CPU_INIT #define CONFIG_SYS_CACHELINE_SIZE 64#define CONFIG_MAX_RAM_BANK_SIZE (1024 << 20)/* 1GB */
Signature · 1 line
2.9.3
PATCH v3 2/11 Kconfig: Separate AM33XX SOC config from target board config
Quoted 11 lines · Andrew F. Davis
The config option AM33XX is used in several boards and should be defined as a stand-alone option for this SOC. We break this out from target boards that use this SoC and common headers then enable AM33XX on in all the boards that used these targets to eliminate any functional change with this patch.
This is similar to what has already been done in
9de852642cae("arm:Kconfig: Add support for AM43xx SoC specificKconfig") and is done for the same reasons.Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/142bdd02/attachment.sig>
PATCH v3 3/11 am33xx: config.mk: Add support for additional secure boot image types
In reply to Andrew F. DavisDepending on the boot media, different images are needed for secure devices. The build generates u-boot*_HS_* files as appropriate for the different boot modes.
For AM33xx devices additional image types are needed for various SPL boot modes as the ROM checks for the name of the boot mode in the file it loads.
--- arch/arm/cpu/armv7/am33xx/config.mk | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-)
arch/arm/cpu/armv7/am33xx/config.mk +25 -2
@@ -12,13 +12,36 @@ ifeq ($(CONFIG_TI_SECURE_DEVICE),y) # For booting from SPI use # u-boot-spl_HS_SPI_X-LOADER to program flash # -# For booting spl from all other media -# use u-boot-spl_HS_ISSW +# On AM43XX: +# +# For booting spl from all other media use +# u-boot-spl_HS_ISSW +# +# On AM33XX: +# +# For booting spl from NOR flash or QSPI use +# u-boot-spl_HS_XIP_X-LOADER +# +# For booting spl from NAND flash use +# u-boot-spl_HS_X-LOADER +# +# For booting spl from SD/MMC/eMMC media use +# u-boot-spl_HS_MLO +# +# For booting spl over UART, USB, or Ethernet use +# u-boot-spl_HS_2ND # # Refer to README.ti-secure for more info # ALL-y += u-boot-spl_HS_ISSW ALL-$(CONFIG_SPL_SPI_SUPPORT) += u-boot-spl_HS_SPI_X-LOADER +ALL-$(CONFIG_SPL_QSPI_BOOT) += u-boot-spl_HS_XIP_X-LOADER +ALL-$(CONFIG_SPL_NOR_BOOT) += u-boot-spl_HS_XIP_X-LOADER +ALL-$(CONFIG_SPL_NAND_BOOT) += u-boot-spl_HS_X-LOADER +ALL-$(CONFIG_SPL_SD_BOOT) += u-boot-spl_HS_MLO +ALL-$(CONFIG_SPL_UART_BOOT) += u-boot-spl_HS_2ND +ALL-$(CONFIG_SPL_USB_BOOT) += u-boot-spl_HS_2ND +ALL-$(CONFIG_SPL_NET_BOOT) += u-boot-spl_HS_2ND else ALL-y += MLO ALL-$(CONFIG_SPL_SPI_SUPPORT) += MLO.byteswap
Signature · 1 line
2.9.3
PATCH v3 3/11 am33xx: config.mk: Add support for additional secure boot image types
Quoted 9 lines · Andrew F. Davis
Depending on the boot media, different images are needed for secure devices. The build generates u-boot*_HS_* files as appropriate for the different boot modes.
For AM33xx devices additional image types are needed for various SPL boot modes as the ROM checks for the name of the boot mode in the file it loads.
Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/b8f16d16/attachment.sig>
PATCH v3 4/11 doc: Update info on using AM33xx secure devices from TI
In reply to Andrew F. DavisAdd a section describing the additional boot types used on AM33xx secure devices.
--- doc/README.ti-secure | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
doc/README.ti-secure +32 -0
@@ -43,6 +43,38 @@ Booting of U-Boot SPL The script is basically the only required interface to the TI SECDEV package for creating a bootable SPL image for secure TI devices. + Invoking the script for AM33xx Secure Devices + ============================================= + + create-boot-image.sh \ + <IMAGE_FLAG> <INPUT_FILE> <OUTPUT_FILE> <SPL_LOAD_ADDR> + + <IMAGE_FLAG> is a value that specifies the type of the image to + generate OR the action the image generation tool will take. Valid + values are: + SPI_X-LOADER - Generates an image for SPI flash (byte swapped) + X-LOADER - Generates an image for non-XIP flash + MLO - Generates an image for SD/MMC/eMMC media + 2ND - Generates an image for USB, UART and Ethernet + XIP_X-LOADER - Generates a single stage u-boot for NOR/QSPI XiP + + <INPUT_FILE> is the full path and filename of the public world boot + loaderbinary file (depending on the boot media, this is usually + either u-boot-spl.bin or u-boot.bin). + + <OUTPUT_FILE> is the full path and filename of the final secure + image. The output binary images should be used in place of the standard + non-secure binary images (see the platform-specific user's guides and + releases notes for how the non-secure images are typically used) + u-boot-spl_HS_SPI_X-LOADER - byte swapped boot image for SPI flash + u-boot-spl_HS_X-LOADER - boot image for NAND or SD/MMC/eMMC rawmode + u-boot-spl_HS_MLO - boot image for SD/MMC/eMMC media + u-boot-spl_HS_2ND - boot image for USB, UART and Ethernet + u-boot_HS_XIP_X-LOADER - boot image for NOR or QSPI Xip flash + + <SPL_LOAD_ADDR> is the address at which SOC ROM should load the + <INPUT_FILE> + Invoking the script for AM43xx Secure Devices =============================================
Signature · 1 line
2.9.3
PATCH v3 4/11 doc: Update info on using AM33xx secure devices from TI
Quoted 4 lines · Andrew F. Davis
Add a section describing the additional boot types used on AM33xx secure devices.
Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/22a5521d/attachment.sig>
PATCH v3 5/11 am33xx: config.mk: Fix option used to enable SPI SPL image type
In reply to Andrew F. DavisBefore the addition of SPL boot media type Kconfig options there was no way to determine what boot media the SPL would be booted from, so it was assumed that if the SPL could load U-Boot proper via SPI then the SPL itself would probably also be loaded from SPI.
Use the new SPL_SPI_BOOT option to enable the generation an SPL image capable of being booted from SPI, and not have this depend on the SPL's media loading capabilities.
--- arch/arm/cpu/armv7/am33xx/config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/cpu/armv7/am33xx/config.mk +1 -1
@@ -34,7 +34,7 @@ ifeq ($(CONFIG_TI_SECURE_DEVICE),y) # Refer to README.ti-secure for more info # ALL-y += u-boot-spl_HS_ISSW -ALL-$(CONFIG_SPL_SPI_SUPPORT) += u-boot-spl_HS_SPI_X-LOADER +ALL-$(CONFIG_SPL_SPI_BOOT) += u-boot-spl_HS_SPI_X-LOADER ALL-$(CONFIG_SPL_QSPI_BOOT) += u-boot-spl_HS_XIP_X-LOADER ALL-$(CONFIG_SPL_NOR_BOOT) += u-boot-spl_HS_XIP_X-LOADER ALL-$(CONFIG_SPL_NAND_BOOT) += u-boot-spl_HS_X-LOADER
Signature · 1 line
2.9.3
PATCH v3 5/11 am33xx: config.mk: Fix option used to enable SPI SPL image type
Quoted 19 lines · Andrew F. Davis
Before the addition of SPL boot media type
Kconfigoptions there was no way to determine what boot media the SPL would be booted from, so it was assumed that if the SPL could load U-Boot proper via SPI then the SPL itself would probably also be loaded from SPI.Use the new
SPL_SPI_BOOToption to enable the generation an SPL image capable of being booted from SPI, and not have this depend on the SPL's media loading capabilities.Signed-off-by Andrew F. Davis <[email protected]>--- arch/arm/cpu/armv7/am33xx/config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/arm/cpu/armv7/am33xx/config.mk +0
-0
arch/arm/cpu/armv7/am33xx/config.mk ifeq ($(CONFIG_TI_SECURE_DEVICE),y) · line 37
Quoted 5 lines
arch/arm/cpu/armv7/am33xx/config.mk +1
-1@@ -34,7 +34,7 @@ ifeq ($(CONFIG_TI_SECURE_DEVICE),y) # Refer to README.ti-secure for more info # ALL-y += u-boot-spl_HS_ISSW -ALL-$(CONFIG_SPL_SPI_SUPPORT) += u-boot-spl_HS_SPI_X-LOADER +ALL-$(CONFIG_SPL_SPI_BOOT) += u-boot-spl_HS_SPI_X-LOADER
With this change CONFIG_SPL_SPI_BOOT needs to be enabled for am43xx_hs_evm_defconfig or else SPI boot will break on AM43xx HS.
Thanks and regards,
Lokesh
Quoted 4 lines
arch/arm/cpu/armv7/am33xx/config.mk +0
-0ALL-$(CONFIG_SPL_QSPI_BOOT) += u-boot-spl_HS_XIP_X-LOADER ALL-$(CONFIG_SPL_NOR_BOOT) += u-boot-spl_HS_XIP_X-LOADER ALL-$(CONFIG_SPL_NAND_BOOT) += u-boot-spl_HS_X-LOADER
PATCH v3 6/11 board: am33xx-hs: Allow post-processing of FIT image on AM33xx
In reply to Andrew F. DavisWhen CONFIG_FIT_IMAGE_POST_PROCESS or CONFIG_SPL_FIT_IMAGE_POST_PROCESS is enabled board_fit_image_post_process will be called, add this function to am33xx boards when CONFIG_TI_SECURE_DEVICE is set to verify the loaded image.
--- board/ti/am335x/board.c | 8 ++++++++ 1 file changed, 8 insertions(+)
board/ti/am335x/board.c +8 -0
@@ -25,6 +25,7 @@#include <asm/io.h> #include <asm/emif.h> #include <asm/gpio.h> +#include <asm/omap_sec_common.h> #include <i2c.h> #include <miiphy.h> #include <cpsw.h>
@@ -775,3 +776,10 @@ int board_fit_config_name_match(const char *name) return -1; }#endif + +#ifdef CONFIG_TI_SECURE_DEVICE +void board_fit_image_post_process (void **p_image,size_t *p_size) +{ +secure_boot_verify_image (p_image, p_size); +} +#endif
Signature · 1 line
2.9.3
PATCH v3 6/11 board: am33xx-hs: Allow post-processing of FIT image on AM33xx
Quoted 6 lines · Andrew F. Davis
When
CONFIG_FIT_IMAGE_POST_PROCESSorCONFIG_SPL_FIT_IMAGE_POST_PROCESSis enabledboard_fit_image_post_processwill be called, add this function to am33xx boards whenCONFIG_TI_SECURE_DEVICEis set to verify the loaded image.Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/d5754023/attachment.sig>
PATCH v3 7/11 ti: omap-common: Allow AM33xx devices to be built securely
In reply to Andrew F. DavisLike OMAP54xx and AM43xx family SoCs, AM33xx based SoCs have high security enabled models. Allow AM33xx devices to be built with HS Device Type Support.
--- arch/arm/cpu/armv7/omap-common/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/cpu/armv7/omap-common/Kconfig +1 -1
@@ -1,6 +1,6 @@ config TI_SECURE_DEVICE bool "HS Device Type Support" - depends on OMAP54XX || AM43XX + depends on OMAP54XX || AM43XX || AM33XX help If a high secure (HS) device type is being used, this config must be set. This option impacts various aspects of the
Signature · 1 line
2.9.3
PATCH v3 7/11 ti: omap-common: Allow AM33xx devices to be built securely
Quoted 5 lines · Andrew F. Davis
Like OMAP54xx and AM43xx family SoCs, AM33xx based SoCs have high security enabled models. Allow AM33xx devices to be built with HS Device Type Support.
Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/fbda13b6/attachment.sig>
PATCH v3 8/11 am335x: configs: Use ISW_ENTRY_ADDR to set SPL_TEXT_BASE
In reply to Andrew F. DavisThe SPL load address changes based on boot time in HS devices, ISW_ENTRY_ADDR is used to set this address for AM43xx based SoCs for similar reasons. Add this same logic for AM33xx devices.
--- include/configs/ti_am335x_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/configs/ti_am335x_common.h +1 -1
@@ -57,7 +57,7 @@* supports X-MODEM loading via UART, and we leverage this and then use * Y-MODEM to load u-boot.img, when booted over UART. */ -#define CONFIG_SPL_TEXT_BASE 0x402F0400 +#define CONFIG_SPL_TEXT_BASE CONFIG_ISW_ENTRY_ADDR#define CONFIG_SPL_MAX_SIZE (0x4030B800 - CONFIG_SPL_TEXT_BASE)#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \ (128 << 20))
Signature · 1 line
2.9.3
PATCH v3 8/11 am335x: configs: Use ISW_ENTRY_ADDR to set SPL_TEXT_BASE
Quoted 14 lines · Andrew F. Davis
The SPL load address changes based on boot time in HS devices,
ISW_ENTRY_ADDRis used to set this address for AM43xx based SoCs for similar reasons. Add this same logic for AM33xx devices.Signed-off-by Andrew F. Davis <[email protected]>--- include/configs/ti_am335x_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)include/configs/ti_am335x_common.h +0
-0
include/configs/ti_am335x_common.h line 60
Quoted 5 lines
include/configs/ti_am335x_common.h +1
-1@@ -57,7 +57,7 @@* supports X-MODEM loading via UART, and we leverage this and then use * Y-MODEM to load u-boot.img, when booted over UART. */ -#define CONFIG_SPL_TEXT_BASE 0x402F0400 +#define CONFIG_SPL_TEXT_BASE CONFIG_ISW_ENTRY_ADDR
Please include the below change as well or else am33xx gp boot might break as fefault address is different.
(quoted diff) +0 -0
b/arch/arm/cpu/armv7/am33xx/Kconfig
index dc51e9b..3a48664 100644
arch/arm/cpu/armv7/am33xx/Kconfig +2 -1
@@ -22,7 +22,8 @@ config ISW_ENTRY_ADDR point address depending on the device type (secure/non-secure), boot media (xip/non-xip) and image headers. - default 0x402F4000 + default 0x402F4000 if AM43XX + default 0x402F0400 if AM33XX config PUB_ROM_DATA_SIZE hex "Size in bytes of the L3 SRAM reserved by ROM to store data"
Thanks and regards,
Lokesh
Quoted 4 lines
include/configs/ti_am335x_common.h +0
-0#define CONFIG_SPL_MAX_SIZE (0x4030B800 - CONFIG_SPL_TEXT_BASE)#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \ (128 << 20))
PATCH v3 8/11 am335x: configs: Use ISW_ENTRY_ADDR to set SPL_TEXT_BASE
Quoted 32 lines · Lokesh Vutla
Quoted 14 lines · Andrew F. Davis
The SPL load address changes based on boot time in HS devices,
ISW_ENTRY_ADDRis used to set this address for AM43xx based SoCs for similar reasons. Add this same logic for AM33xx devices.Signed-off-by Andrew F. Davis <[email protected]>--- include/configs/ti_am335x_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)include/configs/ti_am335x_common.h +0
-0include/configs/ti_am335x_common.h line 60
Quoted 5 lines
include/configs/ti_am335x_common.h +1
-1@@ -57,7 +57,7 @@* supports X-MODEM loading via UART, and we leverage this and then use * Y-MODEM to load u-boot.img, when booted over UART. */ -#define CONFIG_SPL_TEXT_BASE 0x402F0400 +#define CONFIG_SPL_TEXT_BASE CONFIG_ISW_ENTRY_ADDRPlease include the below change as well or else am33xx gp boot might break as fefault address is different.
arch/arm/cpu/armv7/am33xx/Kconfig +0
-0
arch/arm/cpu/armv7/am33xx/Kconfig config ISW_ENTRY_ADDR · line 27
Quoted 7 lines
arch/arm/cpu/armv7/am33xx/Kconfig +2
-1@@ -22,7 +22,8 @@ config ISW_ENTRY_ADDR point address depending on the device type (secure/non-secure), boot media (xip/non-xip) and image headers. - default 0x402F4000 + default 0x402F4000 if AM43XX + default 0x402F0400 if AM33XX
Good eye, for some reason I mistook them for the same value, will fix.
Quoted 11 lines
arch/arm/cpu/armv7/am33xx/Kconfig +0
-0config PUB_ROM_DATA_SIZE hex "Size in bytes of the L3 SRAM reserved by ROM to store data"Thanks and regards,
LokeshQuoted 4 lines
include/configs/ti_am335x_common.h +0
-0#define CONFIG_SPL_MAX_SIZE (0x4030B800 - CONFIG_SPL_TEXT_BASE)#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \ (128 << 20))
PATCH v3 9/11 config: Remove usage of CONFIG_STORAGE_EMMC
In reply to Andrew F. DavisThis config option seems to be unused and is probably vestigial. Remove it.
--- include/configs/am335x_evm.h | 2 -- include/configs/am335x_shc.h | 2 -- include/configs/am335x_sl50.h | 2 -- include/configs/bav335x.h | 2 -- 4 files changed, 8 deletions(-)
include/configs/am335x_evm.h +0 -2
@@ -301,8 +301,6 @@#define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR#define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 -/* To support eMMC booting */ -#define CONFIG_STORAGE_EMMC #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1#endif
include/configs/am335x_shc.h +0 -2
@@ -287,8 +287,6 @@#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/am33xx/u-boot-spl.lds"#ifndef CONFIG_SPL_USBETH_SUPPORT -/* To support eMMC booting */ -#define CONFIG_STORAGE_EMMC #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1#endif
include/configs/am335x_sl50.h +0 -2
@@ -91,8 +91,6 @@#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/am33xx/u-boot-spl.lds"#ifndef CONFIG_SPL_USBETH_SUPPORT -/* To support eMMC booting */ -#define CONFIG_STORAGE_EMMC #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1#endif
include/configs/bav335x.h +0 -2
@@ -451,8 +451,6 @@ DEFAULT_LINUX_BOOT_ENV \#define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR#define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 -/* To support eMMC booting */ -#define CONFIG_STORAGE_EMMC #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1#endif
Signature · 1 line
2.9.3
PATCH v3 9/11 config: Remove usage of CONFIG_STORAGE_EMMC
Quoted 4 lines · Andrew F. Davis
This config option seems to be unused and is probably vestigial. Remove it.
Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/7c0629ee/attachment.sig>
PATCH v3 10/11 ti_armv7_common: Disable Falcon Mode on HS devices
In reply to Andrew F. DavisAuthentication of images in Falcon Mode is not supported. Do not enable SPL_OS_BOOT when TI_SECURE_DEVICE is enabled. This prevents attempting to directly load kernel images which will fail, for security reasons, on HS devices, the board is locked if a non-authenticatable image load is attempted, so we disable attempting Falcon Mode.
--- include/configs/ti_armv7_common.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
include/configs/ti_armv7_common.h +10 -5
@@ -198,16 +198,21 @@/* * Our platforms make use of SPL to initalize the hardware (primarily -* memory) enough for full U-Boot to be loaded. We also support Falcon -* Mode so that the Linux kernel can be booted directly from SPL -* instead, if desired. We make use of the general SPL framework found -* under common/spl/. Given our generally common memory map, we set a -* number of related defaults and sizes here. +* memory) enough for full U-Boot to be loaded. We make use of the general +* SPL framework found under common/spl/. Given our generally common memory +* map, we set a number of related defaults and sizes here. */ #if !defined(CONFIG_NOR_BOOT ) && \ !(defined(CONFIG_QSPI_BOOT ) && defined(CONFIG_AM43XX ))#define CONFIG_SPL_FRAMEWORK + +/* +* We also support Falcon Mode so that the Linux kernel can be booted +* directly from SPL. This is not currently available on HS devices. +*/ +#if !defined(CONFIG_TI_SECURE_DEVICE )#define CONFIG_SPL_OS_BOOT +#endif /* * Place the image at the start of the ROM defined image space (per
Signature · 1 line
2.9.3
PATCH v3 10/11 ti_armv7_common: Disable Falcon Mode on HS devices
Quoted 7 lines · Andrew F. Davis
Authentication of images in Falcon Mode is not supported. Do not enable
SPL_OS_BOOTwhenTI_SECURE_DEVICEis enabled. This prevents attempting to directly load kernel images which will fail, for security reasons, on HS devices, the board is locked if a non-authenticatable image load is attempted, so we disable attempting Falcon Mode.Signed-off-by Andrew F. Davis <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160826/e75c94fc/attachment.sig>
RFC PATCH v3 11/11 defconfig: Add a config for AM335x High Security EVM with SD Boot support
In reply to Andrew F. DavisAdd a new defconfig file for the AM335x High Security EVM. This config is specific for the case of SD card booting, we the boot types to be seperate defconfigs as some options change depending on boot type, in addition this allows us to trim the SPL size as we only need to support one boot media.
This defconfig is the same as for the non-secure part, except for:
CONFIG_TI_SECURE_DEVICE option set to 'y' CONFIG_ISW_ENTRY_ADDR updated for secure images. CONFIG_FIT_IMAGE_POST_PROCESS option set to 'y' CONFIG_SPL_FIT_IMAGE_POST_PROCESS option set to 'y' CONFIG_SPL_SD_BOOT option set to 'y' so we will build an MMC
compatible SPL
CONFIG_USE_TINY_PRINTF option set to 'y' to reduce SPL size NAND removed from CONFIG_SYS_EXTRA_OPTIONS as this adds NAND
support to SPL, not just U-Boot proper, when this is fixed this can be added back
--- configs/am335x_hs_evm_mmc_defconfig | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 configs/am335x_hs_evm_mmc_defconfig
configs/am335x_hs_evm_mmc_defconfig new file +58 -0
@@ -0,0 +1,58 @@ +CONFIG_ARM=y +CONFIG_AM33XX=y +CONFIG_TI_SECURE_DEVICE=y +CONFIG_TARGET_AM335X_EVM=y +CONFIG_SPL_STACK_R_ADDR=0x82000000 +CONFIG_DEFAULT_DEVICE_TREE="am335x-evm" +CONFIG_SPL=y +CONFIG_ISW_ENTRY_ADDR=0x40301750 +CONFIG_SPL_STACK_R=y +CONFIG_HUSH_PARSER=y +CONFIG_CMD_BOOTZ=y +# CONFIG_CMD_IMLS is not set +CONFIG_CMD_ASKENV=y +# CONFIG_CMD_FLASH is not set +CONFIG_CMD_MMC=y +CONFIG_CMD_SF=y +CONFIG_CMD_SPI=y +CONFIG_CMD_I2C=y +CONFIG_CMD_USB=y +CONFIG_CMD_DFU=y +CONFIG_CMD_GPIO=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_OF_CONTROL=y +CONFIG_DM_MMC=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_DM_ETH=y +CONFIG_SYS_NS16550=y +CONFIG_TIMER=y +CONFIG_OMAP_TIMER=y +CONFIG_USB=y +CONFIG_USB_MUSB_HOST=y +CONFIG_USB_MUSB_GADGET=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_G_DNL_MANUFACTURER="Texas Instruments" +CONFIG_G_DNL_VENDOR_NUM=0x0451 +CONFIG_G_DNL_PRODUCT_NUM=0xd022 +CONFIG_OF_LIBFDT=y +CONFIG_SPL_NET_VCI_STRING="AM335x U-Boot SPL" +CONFIG_RSA=y +CONFIG_FIT=y +CONFIG_SPL_OF_LIBFDT=y +CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y +CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2" +CONFIG_DM_I2C=y +CONFIG_FIT_IMAGE_POST_PROCESS=y +CONFIG_SPL_SD_BOOT=y +CONFIG_USE_TINY_PRINTF=y
Signature · 1 line
2.9.3