mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-13 06:42:56 +00:00
67f9f11f19
In pre-reloc stage, U-Boot marks cacheable the DDR limited by the new config CONFIG_DDR_CACHEABLE_SIZE. This patch allows to avoid any speculative access to DDR protected by firewall and used by OP-TEE; the "no-map" reserved memory node in DT are assumed after this limit: STM32_DDR_BASE + DDR_CACHEABLE_SIZE. Without security, in basic boot, the value is equal to STM32_DDR_SIZE. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
183 lines
4.3 KiB
Text
183 lines
4.3 KiB
Text
if ARCH_STM32MP
|
|
|
|
config SPL
|
|
select SPL_BOARD_INIT
|
|
select SPL_CLK
|
|
select SPL_DM
|
|
select SPL_DM_SEQ_ALIAS
|
|
select SPL_DRIVERS_MISC_SUPPORT
|
|
select SPL_FRAMEWORK
|
|
select SPL_GPIO_SUPPORT
|
|
select SPL_LIBCOMMON_SUPPORT
|
|
select SPL_LIBGENERIC_SUPPORT
|
|
select SPL_OF_CONTROL
|
|
select SPL_OF_TRANSLATE
|
|
select SPL_PINCTRL
|
|
select SPL_REGMAP
|
|
select SPL_DM_RESET
|
|
select SPL_SERIAL_SUPPORT
|
|
select SPL_SPI_LOAD
|
|
select SPL_SYSCON
|
|
select SPL_WATCHDOG_SUPPORT if WATCHDOG
|
|
imply BOOTSTAGE_STASH if SPL_BOOTSTAGE
|
|
imply SPL_BOOTSTAGE if BOOTSTAGE
|
|
imply SPL_DISPLAY_PRINT
|
|
imply SPL_LIBDISK_SUPPORT
|
|
|
|
config SYS_SOC
|
|
default "stm32mp"
|
|
|
|
config SYS_MALLOC_LEN
|
|
default 0x2000000
|
|
|
|
config ENV_SIZE
|
|
default 0x2000
|
|
|
|
config STM32MP15x
|
|
bool "Support STMicroelectronics STM32MP15x Soc"
|
|
select ARCH_SUPPORT_PSCI if !TFABOOT
|
|
select ARM_SMCCC if TFABOOT
|
|
select CPU_V7A
|
|
select CPU_V7_HAS_NONSEC if !TFABOOT
|
|
select CPU_V7_HAS_VIRT
|
|
select OF_BOARD_SETUP
|
|
select PINCTRL_STM32
|
|
select STM32_RCC
|
|
select STM32_RESET
|
|
select STM32_SERIAL
|
|
select SYS_ARCH_TIMER
|
|
imply CMD_NVEDIT_INFO
|
|
imply SYSRESET_PSCI if TFABOOT
|
|
imply SYSRESET_SYSCON if !TFABOOT
|
|
help
|
|
support of STMicroelectronics SOC STM32MP15x family
|
|
STM32MP157, STM32MP153 or STM32MP151
|
|
STMicroelectronics MPU with core ARMv7
|
|
dual core A7 for STM32MP157/3, monocore for STM32MP151
|
|
target all the STMicroelectronics board with SOC STM32MP1 family
|
|
|
|
choice
|
|
prompt "STM32MP15x board select"
|
|
optional
|
|
|
|
config TARGET_ST_STM32MP15x
|
|
bool "STMicroelectronics STM32MP15x boards"
|
|
select STM32MP15x
|
|
imply BOOTCOUNT_LIMIT
|
|
imply BOOTSTAGE
|
|
imply CMD_BOOTCOUNT
|
|
imply CMD_BOOTSTAGE
|
|
imply CMD_CLS if CMD_BMP
|
|
imply DISABLE_CONSOLE
|
|
imply PRE_CONSOLE_BUFFER
|
|
imply SILENT_CONSOLE
|
|
help
|
|
target the STMicroelectronics board with SOC STM32MP15x
|
|
managed by board/st/stm32mp1:
|
|
Evalulation board (EV1) or Discovery board (DK1 and DK2).
|
|
The difference between board are managed with devicetree
|
|
|
|
config TARGET_DH_STM32MP1_PDK2
|
|
bool "DH STM32MP1 PDK2"
|
|
select STM32MP15x
|
|
imply BOOTCOUNT_LIMIT
|
|
imply CMD_BOOTCOUNT
|
|
help
|
|
Target the DH PDK2 development kit with STM32MP15x SoM.
|
|
|
|
endchoice
|
|
|
|
config SYS_TEXT_BASE
|
|
default 0xC0100000
|
|
|
|
config NR_DRAM_BANKS
|
|
default 1
|
|
|
|
config DDR_CACHEABLE_SIZE
|
|
hex "Size of the DDR marked cacheable in pre-reloc stage"
|
|
default 0x10000000 if TFABOOT
|
|
default 0x40000000
|
|
help
|
|
Define the size of the DDR marked as cacheable in U-Boot
|
|
pre-reloc stage.
|
|
This option can be useful to avoid speculatif access
|
|
to secured area of DDR used by TF-A or OP-TEE before U-Boot
|
|
initialization.
|
|
The areas marked "no-map" in device tree should be located
|
|
before this limit: STM32_DDR_BASE + DDR_CACHEABLE_SIZE.
|
|
|
|
config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_MMC2
|
|
hex "Partition on MMC2 to use to load U-Boot from"
|
|
depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
|
default 1
|
|
help
|
|
Partition on the second MMC to load U-Boot from when the MMC is being
|
|
used in raw mode
|
|
|
|
config STM32_ETZPC
|
|
bool "STM32 Extended TrustZone Protection"
|
|
depends on STM32MP15x
|
|
default y
|
|
help
|
|
Say y to enable STM32 Extended TrustZone Protection
|
|
|
|
config CMD_STM32PROG
|
|
bool "command stm32prog for STM32CudeProgrammer"
|
|
select DFU
|
|
select DFU_RAM
|
|
select DFU_VIRT
|
|
select PARTITION_TYPE_GUID
|
|
imply CMD_GPT if MMC
|
|
imply CMD_MTD if MTD
|
|
imply DFU_MMC if MMC
|
|
imply DFU_MTD if MTD
|
|
help
|
|
activate a specific command stm32prog for STM32MP soc family
|
|
witch update the device with the tools STM32CubeProgrammer,
|
|
using UART with STM32 protocol or USB with DFU protocol
|
|
NB: access to not volatile memory (NOR/NAND/SD/eMMC) is based
|
|
on U-Boot DFU framework
|
|
|
|
config CMD_STM32KEY
|
|
bool "command stm32key to fuse public key hash"
|
|
default y
|
|
help
|
|
fuse public key hash in corresponding fuse used to authenticate
|
|
binary.
|
|
|
|
config PRE_CON_BUF_ADDR
|
|
default 0xC02FF000
|
|
|
|
config PRE_CON_BUF_SZ
|
|
default 4096
|
|
|
|
config BOOTSTAGE_STASH_ADDR
|
|
default 0xC3000000
|
|
|
|
if BOOTCOUNT_LIMIT
|
|
config SYS_BOOTCOUNT_SINGLEWORD
|
|
default y
|
|
|
|
# TAMP_BOOTCOUNT = TAMP_BACKUP_REGISTER(21)
|
|
config SYS_BOOTCOUNT_ADDR
|
|
default 0x5C00A154
|
|
endif
|
|
|
|
if DEBUG_UART
|
|
|
|
config DEBUG_UART_BOARD_INIT
|
|
default y
|
|
|
|
# debug on UART4 by default
|
|
config DEBUG_UART_BASE
|
|
default 0x40010000
|
|
|
|
# clock source is HSI on reset
|
|
config DEBUG_UART_CLOCK
|
|
default 64000000
|
|
endif
|
|
|
|
source "board/st/stm32mp1/Kconfig"
|
|
source "board/dhelectronics/dh_stm32mp1/Kconfig"
|
|
|
|
endif
|