mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-12 06:12:58 +00:00
6df8706dc2
Introduce a framework that allows loading the System Firmware (SYSFW) binary as well as the associated configuration data from an image tree blob named "sysfw.itb" from an FS-based MMC boot media or from an MMC RAW mode partition or sector. To simplify the handling of and loading from the different boot media we tap into the existing U-Boot SPL framework usually used for loading U-Boot by building on an earlier commit that exposes some of that functionality. Note that this initial implementation only supports FS and RAW-based eMMC/SD card boot. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
108 lines
3 KiB
Text
108 lines
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"
|
|
|
|
endchoice
|
|
|
|
config SYS_SOC
|
|
default "k3"
|
|
|
|
config SYS_K3_NON_SECURE_MSRAM_SIZE
|
|
hex
|
|
default 0x80000
|
|
help
|
|
Describes the total size of the MCU MSRAM. 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
|
|
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
|
|
help
|
|
Describes the base address of MCU Scratchpad RAM.
|
|
|
|
config SYS_K3_MCU_SCRATCHPAD_SIZE
|
|
hex
|
|
default 0x200 if SOC_K3_AM6
|
|
help
|
|
Describes the size of MCU Scratchpad RAM.
|
|
|
|
config SYS_K3_BOOT_PARAM_TABLE_INDEX
|
|
hex
|
|
default 0x41c7fbfc if SOC_K3_AM6
|
|
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_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 269000
|
|
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 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.
|
|
|
|
source "board/ti/am65x/Kconfig"
|
|
endif
|