mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 03:03:05 +00:00
7d1a10659f
This adds initial support for the Toradex Verdin AM62 Quad 1GB WB IT V1.0A module and subsequent V1.1 launch configuration SKUs. They are strapped to boot from their on-module eMMC. U-Boot supports booting from the on-module eMMC only, DFU support is disabled for now due to missing AM62x USB support. The device trees were taken straight from Linux v6.5-rc1. Boot sequence is: SYSFW ---> R5 SPL (both in tiboot3.bin) ---> ATF (TF-A) ---> OP-TEE ---> A53 SPL (part of tispl.bin) ---> U-boot proper (u-boot.img) Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Nishanth Menon <nm@ti.com>
198 lines
6.2 KiB
Text
198 lines
6.2 KiB
Text
if ARCH_K3
|
|
|
|
choice
|
|
prompt "Texas Instruments' K3 based SoC select"
|
|
optional
|
|
|
|
config SOC_K3_AM654
|
|
bool "TI's K3 based AM654 SoC Family Support"
|
|
|
|
config SOC_K3_J721E
|
|
bool "TI's K3 based J721E SoC Family Support"
|
|
|
|
config SOC_K3_J721S2
|
|
bool "TI's K3 based J721S2 SoC Family Support"
|
|
|
|
config SOC_K3_AM642
|
|
bool "TI's K3 based AM642 SoC Family Support"
|
|
|
|
config SOC_K3_AM625
|
|
bool "TI's K3 based AM625 SoC Family Support"
|
|
|
|
config SOC_K3_AM62A7
|
|
bool "TI's K3 based AM62A7 SoC Family Support"
|
|
|
|
endchoice
|
|
|
|
config SYS_SOC
|
|
default "k3"
|
|
|
|
config SYS_K3_NON_SECURE_MSRAM_SIZE
|
|
hex
|
|
default 0x80000 if SOC_K3_AM654
|
|
default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
|
|
default 0x1c0000 if SOC_K3_AM642
|
|
default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
|
|
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_AM654
|
|
default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
|
|
default 0x180000 if SOC_K3_AM642
|
|
default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
|
|
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_AM654
|
|
default 0x41cff9fc if SOC_K3_J721S2
|
|
default 0x41cff9fc 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_AM654
|
|
default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
|
|
help
|
|
Describes the size of MCU Scratchpad RAM.
|
|
|
|
config SYS_K3_BOOT_PARAM_TABLE_INDEX
|
|
hex
|
|
default 0x41c7fbfc if SOC_K3_AM654
|
|
default 0x41cffbfc if SOC_K3_J721E
|
|
default 0x41cfdbfc if SOC_K3_J721S2
|
|
default 0x701bebfc if SOC_K3_AM642
|
|
default 0x43c3f290 if SOC_K3_AM625
|
|
default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
|
|
default 0x7000f290 if SOC_K3_AM62A7 && ARM64
|
|
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 280000
|
|
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 || SOC_K3_J721S2 || SOC_K3_AM625 || SOC_K3_AM62A7) && !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.
|
|
|
|
config K3_X509_SWRV
|
|
int "SWRV for X509 certificate used for boot images"
|
|
default 1
|
|
help
|
|
SWRV for X509 certificate used for boot images
|
|
|
|
source "board/ti/am65x/Kconfig"
|
|
source "board/ti/am64x/Kconfig"
|
|
source "board/ti/am62x/Kconfig"
|
|
source "board/ti/am62ax/Kconfig"
|
|
source "board/ti/j721e/Kconfig"
|
|
source "board/siemens/iot2050/Kconfig"
|
|
source "board/ti/j721s2/Kconfig"
|
|
source "board/toradex/verdin-am62/Kconfig"
|
|
endif
|