2018-08-27 10:27:08 +00:00
|
|
|
if ARCH_K3
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Texas Instruments' K3 based SoC select"
|
|
|
|
optional
|
|
|
|
|
2022-07-15 15:25:27 +00:00
|
|
|
config SOC_K3_AM654
|
|
|
|
bool "TI's K3 based AM654 SoC Family Support"
|
2018-08-27 10:27:09 +00:00
|
|
|
|
arm: K3: j721e: Add basic support for J721E SoC definition
The J721E SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable lower system costs
of automotive applications such as infotainment, cluster, premium
Audio, Gateway, industrial and a range of broad market applications.
This SoC is designed around reducing the system cost by eliminating
the need of an external system MCU and is targeted towards ASIL-B/C
certification/requirements in addition to allowing complex software
and system use-cases.
Some highlights of this SoC are:
* Dual Cortex-A72s in a single cluster, three clusters of lockstep
capable dual Cortex-R5F MCUs, Deep-learning Matrix Multiply Accelerator(MMA),
C7x floating point Vector DSP, Two C66x floating point DSPs.
* 3D GPU PowerVR Rogue 8XE GE8430
* Vision Processing Accelerator (VPAC) with image signal processor and Depth
and Motion Processing Accelerator (DMPAC)
* Two Gigabit Industrial Communication Subsystems (ICSSG), each with dual
PRUs and dual RTUs
* Two CSI2.0 4L RX plus one CSI2.0 4L TX, one eDP/DP, One DSI Tx, and
up to two DPI interfaces.
* Integrated Ethernet switch supporting up to a total of 8 external ports in
addition to legacy Ethernet switch of up to 2 ports.
* System MMU (SMMU) Version 3.0 and advanced virtualisation
capabilities.
* Upto 4 PCIe-GEN3 controllers, 2 USB3.0 Dual-role device subsystems,
16 MCANs, 12 McASP, eMMC and SD, UFS, OSPI/HyperBus memory controller, QSPI,
I3C and I2C, eCAP/eQEP, eHRPWM, MLB among other peripherals.
* Two hardware accelerator block containing AES/DES/SHA/MD5 called SA2UL
management.
* Configurable L3 Cache and IO-coherent architecture with high data throughput
capable distributed DMA architecture under NAVSS
* Centralized System Controller for Security, Power, and Resource
Management (DMSC)
See J721E Technical Reference Manual (SPRUIL1, May 2019)
for further details: http://www.ti.com/lit/pdf/spruil1
Add base support for J721E SoC
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
2019-06-13 04:59:42 +00:00
|
|
|
config SOC_K3_J721E
|
|
|
|
bool "TI's K3 based J721E SoC Family Support"
|
|
|
|
|
2022-01-25 15:26:31 +00:00
|
|
|
config SOC_K3_J721S2
|
|
|
|
bool "TI's K3 based J721S2 SoC Family Support"
|
|
|
|
|
arm: mach-k3: Add basic support for AM642 SoC definition
The AM642 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable applications such as
Motor Drives, PLC, Remote IO and IoT Gateways.
Some highlights of this SoC are:
* Dual Cortex-A53s in a single cluster, two clusters of dual Cortex-R5F
MCUs, and a single Cortex-M4F.
* Two Gigabit Industrial Communication Subsystems (ICSSG).
* Integrated Ethernet switch supporting up to a total of two external
ports.
* PCIe-GEN2x1L, USB3/USB2, 2xCAN-FD, eMMC and SD, UFS, OSPI memory
controller, QSPI, I2C, eCAP/eQEP, ePWM, ADC, among other
peripherals.
* Centralized System Controller for Security, Power, and Resource
Management (DMSC).
See AM64X Technical Reference Manual (SPRUIM2, Nov 2020)
for further details: https://www.ti.com/lit/pdf/spruim2
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-04-23 16:27:32 +00:00
|
|
|
config SOC_K3_AM642
|
|
|
|
bool "TI's K3 based AM642 SoC Family Support"
|
|
|
|
|
arm: mach-k3: Introduce the basic files to support AM62
The AM62 SoC family is the follow on AM335x built on K3 Multicore SoC
architecture platform, providing ultra-low-power modes, dual display,
multi-sensor edge compute, security and other BOM-saving integration.
The AM62 SoC targets broad market to enable applications such as
Industrial HMI, PLC/CNC/Robot control, Medical Equipment, Building
Automation, Appliances and more.
Some highlights of this SoC are:
* Quad-Cortex-A53s (running up to 1.4GHz) in a single cluster.
Pin-to-pin compatible options for single and quad core are available.
* Cortex-M4F for general-purpose or safety usage.
* Dual display support, providing 24-bit RBG parallel interface and
OLDI/LVDS-4 Lane x2, up to 200MHz pixel clock support for 2K display
resolution.
* Selectable GPUsupport, up to 8GFLOPS, providing better user experience
in 3D graphic display case and Android.
* PRU(Programmable Realtime Unit) support for customized programmable
interfaces/IOs.
* Integrated Giga-bit Ethernet switch supporting up to a total of two
external ports (TSN capable).
* 9xUARTs, 5xSPI, 6xI2C, 2xUSB2, 3xCAN-FD, 3x eMMC and SD, GPMC for
NAND/FPGA connection, OSPI memory controller, 3xMcASP for audio,
1x CSI-RX-4L for Camera, eCAP/eQEP, ePWM, among other peripherals.
* Dedicated Centralized System Controller for Security, Power, and
Resource Management.
* Multiple low power modes support, ex: Deep sleep,Standby, MCU-only,
enabling battery powered system design.
AM625 is the first device of the family. Add DT bindings for the same.
More details can be found in the Technical Reference Manual:
https://www.ti.com/lit/pdf/spruiv7
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2022-05-25 08:08:42 +00:00
|
|
|
config SOC_K3_AM625
|
|
|
|
bool "TI's K3 based AM625 SoC Family Support"
|
|
|
|
|
2022-11-04 00:13:55 +00:00
|
|
|
config SOC_K3_AM62A7
|
|
|
|
bool "TI's K3 based AM62A7 SoC Family Support"
|
|
|
|
|
2018-08-27 10:27:08 +00:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
config SYS_SOC
|
|
|
|
default "k3"
|
|
|
|
|
2018-08-27 10:27:09 +00:00
|
|
|
config SYS_K3_NON_SECURE_MSRAM_SIZE
|
|
|
|
hex
|
2022-07-15 15:25:27 +00:00
|
|
|
default 0x80000 if SOC_K3_AM654
|
2022-01-25 15:26:31 +00:00
|
|
|
default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
|
arm: mach-k3: Add basic support for AM642 SoC definition
The AM642 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable applications such as
Motor Drives, PLC, Remote IO and IoT Gateways.
Some highlights of this SoC are:
* Dual Cortex-A53s in a single cluster, two clusters of dual Cortex-R5F
MCUs, and a single Cortex-M4F.
* Two Gigabit Industrial Communication Subsystems (ICSSG).
* Integrated Ethernet switch supporting up to a total of two external
ports.
* PCIe-GEN2x1L, USB3/USB2, 2xCAN-FD, eMMC and SD, UFS, OSPI memory
controller, QSPI, I2C, eCAP/eQEP, ePWM, ADC, among other
peripherals.
* Centralized System Controller for Security, Power, and Resource
Management (DMSC).
See AM64X Technical Reference Manual (SPRUIM2, Nov 2020)
for further details: https://www.ti.com/lit/pdf/spruim2
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-04-23 16:27:32 +00:00
|
|
|
default 0x1c0000 if SOC_K3_AM642
|
2022-11-04 00:13:55 +00:00
|
|
|
default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
|
2018-08-27 10:27:09 +00:00
|
|
|
help
|
arm: mach-k3: Add basic support for AM642 SoC definition
The AM642 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable applications such as
Motor Drives, PLC, Remote IO and IoT Gateways.
Some highlights of this SoC are:
* Dual Cortex-A53s in a single cluster, two clusters of dual Cortex-R5F
MCUs, and a single Cortex-M4F.
* Two Gigabit Industrial Communication Subsystems (ICSSG).
* Integrated Ethernet switch supporting up to a total of two external
ports.
* PCIe-GEN2x1L, USB3/USB2, 2xCAN-FD, eMMC and SD, UFS, OSPI memory
controller, QSPI, I2C, eCAP/eQEP, ePWM, ADC, among other
peripherals.
* Centralized System Controller for Security, Power, and Resource
Management (DMSC).
See AM64X Technical Reference Manual (SPRUIM2, Nov 2020)
for further details: https://www.ti.com/lit/pdf/spruim2
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-04-23 16:27:32 +00:00
|
|
|
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.
|
2018-08-27 10:27:09 +00:00
|
|
|
|
|
|
|
config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
|
|
|
|
hex
|
2022-07-15 15:25:27 +00:00
|
|
|
default 0x58000 if SOC_K3_AM654
|
2022-01-25 15:26:31 +00:00
|
|
|
default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
|
arm: mach-k3: Add basic support for AM642 SoC definition
The AM642 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable applications such as
Motor Drives, PLC, Remote IO and IoT Gateways.
Some highlights of this SoC are:
* Dual Cortex-A53s in a single cluster, two clusters of dual Cortex-R5F
MCUs, and a single Cortex-M4F.
* Two Gigabit Industrial Communication Subsystems (ICSSG).
* Integrated Ethernet switch supporting up to a total of two external
ports.
* PCIe-GEN2x1L, USB3/USB2, 2xCAN-FD, eMMC and SD, UFS, OSPI memory
controller, QSPI, I2C, eCAP/eQEP, ePWM, ADC, among other
peripherals.
* Centralized System Controller for Security, Power, and Resource
Management (DMSC).
See AM64X Technical Reference Manual (SPRUIM2, Nov 2020)
for further details: https://www.ti.com/lit/pdf/spruim2
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-04-23 16:27:32 +00:00
|
|
|
default 0x180000 if SOC_K3_AM642
|
2022-11-04 00:13:55 +00:00
|
|
|
default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
|
2018-08-27 10:27:09 +00:00
|
|
|
help
|
|
|
|
Describes the maximum size of the image that ROM can download
|
|
|
|
from any boot media.
|
|
|
|
|
|
|
|
config SYS_K3_MCU_SCRATCHPAD_BASE
|
|
|
|
hex
|
2022-07-15 15:25:27 +00:00
|
|
|
default 0x40280000 if SOC_K3_AM654
|
2023-05-04 05:37:07 +00:00
|
|
|
default 0x41cff9fc if SOC_K3_J721E || SOC_K3_J721S2
|
2018-08-27 10:27:09 +00:00
|
|
|
help
|
|
|
|
Describes the base address of MCU Scratchpad RAM.
|
|
|
|
|
|
|
|
config SYS_K3_MCU_SCRATCHPAD_SIZE
|
|
|
|
hex
|
2022-07-15 15:25:27 +00:00
|
|
|
default 0x200 if SOC_K3_AM654
|
2022-01-25 15:26:31 +00:00
|
|
|
default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
|
2018-08-27 10:27:09 +00:00
|
|
|
help
|
|
|
|
Describes the size of MCU Scratchpad RAM.
|
|
|
|
|
2018-08-27 10:27:11 +00:00
|
|
|
config SYS_K3_BOOT_PARAM_TABLE_INDEX
|
|
|
|
hex
|
2022-07-15 15:25:27 +00:00
|
|
|
default 0x41c7fbfc if SOC_K3_AM654
|
2019-06-28 01:03:21 +00:00
|
|
|
default 0x41cffbfc if SOC_K3_J721E
|
2022-01-25 15:26:31 +00:00
|
|
|
default 0x41cfdbfc if SOC_K3_J721S2
|
arm: mach-k3: Add basic support for AM642 SoC definition
The AM642 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable applications such as
Motor Drives, PLC, Remote IO and IoT Gateways.
Some highlights of this SoC are:
* Dual Cortex-A53s in a single cluster, two clusters of dual Cortex-R5F
MCUs, and a single Cortex-M4F.
* Two Gigabit Industrial Communication Subsystems (ICSSG).
* Integrated Ethernet switch supporting up to a total of two external
ports.
* PCIe-GEN2x1L, USB3/USB2, 2xCAN-FD, eMMC and SD, UFS, OSPI memory
controller, QSPI, I2C, eCAP/eQEP, ePWM, ADC, among other
peripherals.
* Centralized System Controller for Security, Power, and Resource
Management (DMSC).
See AM64X Technical Reference Manual (SPRUIM2, Nov 2020)
for further details: https://www.ti.com/lit/pdf/spruim2
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-04-23 16:27:32 +00:00
|
|
|
default 0x701bebfc if SOC_K3_AM642
|
2022-12-24 01:15:23 +00:00
|
|
|
default 0x43c3f290 if SOC_K3_AM625
|
|
|
|
default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
|
|
|
|
default 0x7000f290 if SOC_K3_AM62A7 && ARM64
|
2018-08-27 10:27:11 +00:00
|
|
|
help
|
|
|
|
Address at which ROM stores the value which determines if SPL
|
|
|
|
is booted up by primary boot media or secondary boot media.
|
|
|
|
|
2018-11-02 14:21:04 +00:00
|
|
|
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
|
|
|
|
|
2019-08-15 20:55:28 +00:00
|
|
|
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.
|
|
|
|
|
2019-06-04 22:55:47 +00:00
|
|
|
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
|
2022-11-04 00:13:55 +00:00
|
|
|
default 163840 if SOC_K3_AM625 || SOC_K3_AM62A7
|
2020-04-30 19:12:19 +00:00
|
|
|
default 278000
|
2019-06-04 22:55:47 +00:00
|
|
|
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.
|
|
|
|
|
2020-02-04 05:39:50 +00:00
|
|
|
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.
|
|
|
|
|
2018-11-02 14:21:05 +00:00
|
|
|
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.
|
|
|
|
|
2021-06-04 16:30:31 +00:00
|
|
|
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.
|
|
|
|
|
2021-06-11 08:45:03 +00:00
|
|
|
config K3_DM_FW
|
|
|
|
bool "Separate DM firmware image"
|
2022-11-04 00:13:55 +00:00
|
|
|
depends on SPL && CPU_V7R && (SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_AM625 || SOC_K3_AM62A7) && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
|
2021-06-11 08:45:03 +00:00
|
|
|
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.
|
|
|
|
|
2022-07-15 16:38:53 +00:00
|
|
|
config K3_X509_SWRV
|
|
|
|
int "SWRV for X509 certificate used for boot images"
|
|
|
|
default 1
|
|
|
|
help
|
|
|
|
SWRV for X509 certificate used for boot images
|
|
|
|
|
2018-08-27 10:29:06 +00:00
|
|
|
source "board/ti/am65x/Kconfig"
|
2021-04-23 16:27:42 +00:00
|
|
|
source "board/ti/am64x/Kconfig"
|
2022-05-25 08:08:47 +00:00
|
|
|
source "board/ti/am62x/Kconfig"
|
2022-11-04 00:13:55 +00:00
|
|
|
source "board/ti/am62ax/Kconfig"
|
2019-06-13 04:59:49 +00:00
|
|
|
source "board/ti/j721e/Kconfig"
|
2021-09-18 06:17:53 +00:00
|
|
|
source "board/siemens/iot2050/Kconfig"
|
2022-01-25 15:26:31 +00:00
|
|
|
source "board/ti/j721s2/Kconfig"
|
2018-08-27 10:27:08 +00:00
|
|
|
endif
|