| 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_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" |
| |
| 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 || SOC_K3_J721S2 |
| default 0x1c0000 if SOC_K3_AM642 |
| default 0x3c000 if SOC_K3_AM625 |
| 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 || SOC_K3_J721S2 |
| default 0x180000 if SOC_K3_AM642 |
| default 0x38000 if SOC_K3_AM625 |
| 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 || SOC_K3_J721S2 |
| 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 || SOC_K3_J721S2 |
| 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 0x41cfdbfc if SOC_K3_J721S2 |
| default 0x701bebfc if SOC_K3_AM642 |
| default 0x43c3f290 if SOC_K3_AM625 |
| 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 163840 if SOC_K3_AM625 |
| 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 || SOC_K3_J721S2 || SOC_K3_AM625) && !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" |
| source "board/ti/j721s2/Kconfig" |
| endif |