mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 04:53:42 +00:00
a2db09e269
This adds support for the IOT2050 Basic and Advanced devices. The Basic used the dual-core AM6528 GP processor, the Advanced one the AM6548 HS quad-core version. Both variants are booted via a Siemens-provided FSBL that runs on the R5 cores. Consequently, U-Boot support is targeting the A53 cores. U-Boot SPL, ATF and TEE have to reside in SPI flash. Full integration into a bootable image can be found on https://github.com/siemens/meta-iot2050 Based on original board support by Le Jin, Gao Nian and Chao Zeng. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
172 lines
5.3 KiB
Text
172 lines
5.3 KiB
Text
if ARCH_K3
|
|
|
|
choice
|
|
prompt "Texas Instruments' K3 based SoC select"
|
|
optional
|
|
|
|
config SOC_K3_AM6
|
|
bool "TI's K3 based AM6 SoC Family Support"
|
|
|
|
config SOC_K3_J721E
|
|
bool "TI's K3 based J721E SoC Family Support"
|
|
|
|
config SOC_K3_AM642
|
|
bool "TI's K3 based AM642 SoC Family Support"
|
|
|
|
endchoice
|
|
|
|
config SYS_SOC
|
|
default "k3"
|
|
|
|
config SYS_K3_NON_SECURE_MSRAM_SIZE
|
|
hex
|
|
default 0x80000 if SOC_K3_AM6
|
|
default 0x100000 if SOC_K3_J721E
|
|
default 0x1c0000 if SOC_K3_AM642
|
|
help
|
|
Describes the total size of the MCU or OCMC MSRAM present on
|
|
the SoC in use. This doesn't specify the total size of SPL as
|
|
ROM can use some part of this RAM. Once ROM gives control to
|
|
SPL then this complete size can be usable.
|
|
|
|
config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
|
|
hex
|
|
default 0x58000 if SOC_K3_AM6
|
|
default 0xc0000 if SOC_K3_J721E
|
|
default 0x180000 if SOC_K3_AM642
|
|
help
|
|
Describes the maximum size of the image that ROM can download
|
|
from any boot media.
|
|
|
|
config SYS_K3_MCU_SCRATCHPAD_BASE
|
|
hex
|
|
default 0x40280000 if SOC_K3_AM6
|
|
default 0x40280000 if SOC_K3_J721E
|
|
help
|
|
Describes the base address of MCU Scratchpad RAM.
|
|
|
|
config SYS_K3_MCU_SCRATCHPAD_SIZE
|
|
hex
|
|
default 0x200 if SOC_K3_AM6
|
|
default 0x200 if SOC_K3_J721E
|
|
help
|
|
Describes the size of MCU Scratchpad RAM.
|
|
|
|
config SYS_K3_BOOT_PARAM_TABLE_INDEX
|
|
hex
|
|
default 0x41c7fbfc if SOC_K3_AM6
|
|
default 0x41cffbfc if SOC_K3_J721E
|
|
default 0x701bebfc if SOC_K3_AM642
|
|
help
|
|
Address at which ROM stores the value which determines if SPL
|
|
is booted up by primary boot media or secondary boot media.
|
|
|
|
config SYS_K3_KEY
|
|
string "Key used to generate x509 certificate"
|
|
help
|
|
This option enables to provide a custom key that can be used for
|
|
generating x509 certificate for spl binary. If not needed leave
|
|
it blank so that a random key is generated and used.
|
|
|
|
config SYS_K3_BOOT_CORE_ID
|
|
int
|
|
default 16
|
|
|
|
config K3_EARLY_CONS
|
|
bool "Activate to allow for an early console during SPL"
|
|
depends on SPL
|
|
help
|
|
Turn this option on to enable an early console functionality in SPL
|
|
before the main console is being brought up. This can be useful in
|
|
situations where the main console is dependent on System Firmware
|
|
(SYSFW) being up and running, which is usually not the case during
|
|
the very early stages of boot. Using this early console functionality
|
|
will allow for an alternate serial port to be used to support things
|
|
like UART-based boot and early diagnostic messages until the main
|
|
console is ready to get activated.
|
|
|
|
config K3_EARLY_CONS_IDX
|
|
depends on K3_EARLY_CONS
|
|
int "Index of serial device to use for SPL early console"
|
|
default 1
|
|
help
|
|
Use this option to set the index of the serial device to be used
|
|
for the early console during SPL execution.
|
|
|
|
config K3_LOAD_SYSFW
|
|
bool
|
|
depends on SPL
|
|
|
|
config K3_SYSFW_IMAGE_NAME
|
|
string "File name of SYSFW firmware and configuration blob"
|
|
depends on K3_LOAD_SYSFW
|
|
default "sysfw.itb"
|
|
help
|
|
Filename of the combined System Firmware and configuration image tree
|
|
blob to be loaded when booting from a filesystem.
|
|
|
|
config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_SECT
|
|
hex "MMC sector to load SYSFW firmware and configuration blob from"
|
|
depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
|
|
default 0x3600
|
|
help
|
|
Address on the MMC to load the combined System Firmware and
|
|
configuration image tree blob from, when the MMC is being used
|
|
in raw mode. Units: MMC sectors (1 sector = 512 bytes).
|
|
|
|
config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART
|
|
hex "MMC partition to load SYSFW firmware and configuration blob from"
|
|
depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
|
default 2
|
|
help
|
|
Partition on the MMC to the combined System Firmware and configuration
|
|
image tree blob from, when the MMC is being used in raw mode.
|
|
|
|
config K3_SYSFW_IMAGE_SIZE_MAX
|
|
int "Amount of memory dynamically allocated for loading SYSFW blob"
|
|
depends on K3_LOAD_SYSFW
|
|
default 278000
|
|
help
|
|
Amount of memory (in bytes) reserved through dynamic allocation at
|
|
runtime for loading the combined System Firmware and configuration image
|
|
tree blob. Keep it as tight as possible, as this directly affects the
|
|
overall SPL memory footprint.
|
|
|
|
config K3_SYSFW_IMAGE_SPI_OFFS
|
|
hex "SPI offset of SYSFW firmware and configuration blob"
|
|
depends on K3_LOAD_SYSFW
|
|
default 0x6C0000
|
|
help
|
|
Offset of the combined System Firmware and configuration image tree
|
|
blob to be loaded when booting from a SPI flash memory.
|
|
|
|
config SYS_K3_SPL_ATF
|
|
bool "Start Cortex-A from SPL"
|
|
depends on SPL && CPU_V7R
|
|
help
|
|
Enabling this will try to start Cortex-A (typically with ATF)
|
|
after SPL from R5.
|
|
|
|
config K3_ATF_LOAD_ADDR
|
|
hex "Load address of ATF image"
|
|
default 0x70000000
|
|
help
|
|
The load address for the ATF image. This value defaults to 0x70000000
|
|
if not provided in the board defconfig file.
|
|
|
|
config K3_DM_FW
|
|
bool "Separate DM firmware image"
|
|
depends on SPL && CPU_V7R && SOC_K3_J721E && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
|
|
default y
|
|
help
|
|
Enabling this will indicate that the system has separate DM
|
|
and TIFS firmware images in place, instead of a single SYSFW
|
|
firmware. Due to DM being executed on the same core as R5 SPL
|
|
bootloader, it makes RM and PM services not being available
|
|
during R5 SPL execution time.
|
|
|
|
source "board/ti/am65x/Kconfig"
|
|
source "board/ti/am64x/Kconfig"
|
|
source "board/ti/j721e/Kconfig"
|
|
source "board/siemens/iot2050/Kconfig"
|
|
endif
|