blob: 0d21f26275e9a74ca9cc2e946bdcd6df554fc873 [file] [log] [blame]
Lokesh Vutla586bde92018-08-27 15:57:08 +05301if ARCH_K3
2
3choice
4 prompt "Texas Instruments' K3 based SoC select"
5 optional
6
Andrew Davis80b93bb2022-07-15 10:25:27 -05007config SOC_K3_AM654
8 bool "TI's K3 based AM654 SoC Family Support"
Lokesh Vutlaed0e6052018-08-27 15:57:09 +05309
Lokesh Vutlac2562d72019-06-13 10:29:42 +053010config SOC_K3_J721E
11 bool "TI's K3 based J721E SoC Family Support"
12
David Huang681023a2022-01-25 20:56:31 +053013config SOC_K3_J721S2
14 bool "TI's K3 based J721S2 SoC Family Support"
15
Dave Gerlacheb541682021-04-23 11:27:32 -050016config SOC_K3_AM642
17 bool "TI's K3 based AM642 SoC Family Support"
18
Suman Annad98e8602022-05-25 13:38:42 +053019config SOC_K3_AM625
20 bool "TI's K3 based AM625 SoC Family Support"
21
Lokesh Vutla586bde92018-08-27 15:57:08 +053022endchoice
23
24config SYS_SOC
25 default "k3"
26
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053027config SYS_K3_NON_SECURE_MSRAM_SIZE
28 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050029 default 0x80000 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053030 default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050031 default 0x1c0000 if SOC_K3_AM642
Suman Annad98e8602022-05-25 13:38:42 +053032 default 0x3c000 if SOC_K3_AM625
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053033 help
Dave Gerlacheb541682021-04-23 11:27:32 -050034 Describes the total size of the MCU or OCMC MSRAM present on
35 the SoC in use. This doesn't specify the total size of SPL as
36 ROM can use some part of this RAM. Once ROM gives control to
37 SPL then this complete size can be usable.
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053038
39config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
40 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050041 default 0x58000 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053042 default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050043 default 0x180000 if SOC_K3_AM642
Suman Annad98e8602022-05-25 13:38:42 +053044 default 0x38000 if SOC_K3_AM625
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053045 help
46 Describes the maximum size of the image that ROM can download
47 from any boot media.
48
49config SYS_K3_MCU_SCRATCHPAD_BASE
50 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050051 default 0x40280000 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053052 default 0x40280000 if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053053 help
54 Describes the base address of MCU Scratchpad RAM.
55
56config SYS_K3_MCU_SCRATCHPAD_SIZE
57 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050058 default 0x200 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053059 default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053060 help
61 Describes the size of MCU Scratchpad RAM.
62
Lokesh Vutlae0064602018-08-27 15:57:11 +053063config SYS_K3_BOOT_PARAM_TABLE_INDEX
64 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050065 default 0x41c7fbfc if SOC_K3_AM654
Andreas Dannenberga06df8f2019-06-27 20:03:21 -050066 default 0x41cffbfc if SOC_K3_J721E
David Huang681023a2022-01-25 20:56:31 +053067 default 0x41cfdbfc if SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050068 default 0x701bebfc if SOC_K3_AM642
Suman Annad98e8602022-05-25 13:38:42 +053069 default 0x43c3f290 if SOC_K3_AM625
Lokesh Vutlae0064602018-08-27 15:57:11 +053070 help
71 Address at which ROM stores the value which determines if SPL
72 is booted up by primary boot media or secondary boot media.
73
Lokesh Vutla890b2e72018-11-02 19:51:04 +053074config SYS_K3_KEY
75 string "Key used to generate x509 certificate"
76 help
77 This option enables to provide a custom key that can be used for
78 generating x509 certificate for spl binary. If not needed leave
79 it blank so that a random key is generated and used.
80
81config SYS_K3_BOOT_CORE_ID
82 int
83 default 16
84
Andreas Dannenberge630afe12019-08-15 15:55:28 -050085config K3_EARLY_CONS
86 bool "Activate to allow for an early console during SPL"
87 depends on SPL
88 help
89 Turn this option on to enable an early console functionality in SPL
90 before the main console is being brought up. This can be useful in
91 situations where the main console is dependent on System Firmware
92 (SYSFW) being up and running, which is usually not the case during
93 the very early stages of boot. Using this early console functionality
94 will allow for an alternate serial port to be used to support things
95 like UART-based boot and early diagnostic messages until the main
96 console is ready to get activated.
97
98config K3_EARLY_CONS_IDX
99 depends on K3_EARLY_CONS
100 int "Index of serial device to use for SPL early console"
101 default 1
102 help
103 Use this option to set the index of the serial device to be used
104 for the early console during SPL execution.
105
Andreas Dannenberg6df87062019-06-04 17:55:47 -0500106config K3_LOAD_SYSFW
107 bool
108 depends on SPL
109
110config K3_SYSFW_IMAGE_NAME
111 string "File name of SYSFW firmware and configuration blob"
112 depends on K3_LOAD_SYSFW
113 default "sysfw.itb"
114 help
115 Filename of the combined System Firmware and configuration image tree
116 blob to be loaded when booting from a filesystem.
117
118config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_SECT
119 hex "MMC sector to load SYSFW firmware and configuration blob from"
120 depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
121 default 0x3600
122 help
123 Address on the MMC to load the combined System Firmware and
124 configuration image tree blob from, when the MMC is being used
125 in raw mode. Units: MMC sectors (1 sector = 512 bytes).
126
127config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART
128 hex "MMC partition to load SYSFW firmware and configuration blob from"
129 depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
130 default 2
131 help
132 Partition on the MMC to the combined System Firmware and configuration
133 image tree blob from, when the MMC is being used in raw mode.
134
135config K3_SYSFW_IMAGE_SIZE_MAX
136 int "Amount of memory dynamically allocated for loading SYSFW blob"
137 depends on K3_LOAD_SYSFW
Suman Annad98e8602022-05-25 13:38:42 +0530138 default 163840 if SOC_K3_AM625
Andrew F. Davisb76bea12020-04-30 15:12:19 -0400139 default 278000
Andreas Dannenberg6df87062019-06-04 17:55:47 -0500140 help
141 Amount of memory (in bytes) reserved through dynamic allocation at
142 runtime for loading the combined System Firmware and configuration image
143 tree blob. Keep it as tight as possible, as this directly affects the
144 overall SPL memory footprint.
145
Lokesh Vutla7d0866b2020-02-04 11:09:50 +0530146config K3_SYSFW_IMAGE_SPI_OFFS
147 hex "SPI offset of SYSFW firmware and configuration blob"
148 depends on K3_LOAD_SYSFW
149 default 0x6C0000
150 help
151 Offset of the combined System Firmware and configuration image tree
152 blob to be loaded when booting from a SPI flash memory.
153
Lokesh Vutlaa3501a42018-11-02 19:51:05 +0530154config SYS_K3_SPL_ATF
155 bool "Start Cortex-A from SPL"
156 depends on SPL && CPU_V7R
157 help
158 Enabling this will try to start Cortex-A (typically with ATF)
159 after SPL from R5.
160
Aswath Govindraju0c515092021-06-04 22:00:31 +0530161config K3_ATF_LOAD_ADDR
162 hex "Load address of ATF image"
163 default 0x70000000
164 help
165 The load address for the ATF image. This value defaults to 0x70000000
166 if not provided in the board defconfig file.
167
Tero Kristo99214c12021-06-11 11:45:03 +0300168config K3_DM_FW
169 bool "Separate DM firmware image"
Suman Annad98e8602022-05-25 13:38:42 +0530170 depends on SPL && CPU_V7R && (SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_AM625) && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
Tero Kristo99214c12021-06-11 11:45:03 +0300171 default y
172 help
173 Enabling this will indicate that the system has separate DM
174 and TIFS firmware images in place, instead of a single SYSFW
175 firmware. Due to DM being executed on the same core as R5 SPL
176 bootloader, it makes RM and PM services not being available
177 during R5 SPL execution time.
178
Lokesh Vutla0911d952018-08-27 15:59:06 +0530179source "board/ti/am65x/Kconfig"
Dave Gerlach33b72582021-04-23 11:27:42 -0500180source "board/ti/am64x/Kconfig"
Suman Anna900349b2022-05-25 13:38:47 +0530181source "board/ti/am62x/Kconfig"
Lokesh Vutlaf8185032019-06-13 10:29:49 +0530182source "board/ti/j721e/Kconfig"
Jan Kiszkaa2db09e2021-09-18 08:17:53 +0200183source "board/siemens/iot2050/Kconfig"
David Huang681023a2022-01-25 20:56:31 +0530184source "board/ti/j721s2/Kconfig"
Lokesh Vutla586bde92018-08-27 15:57:08 +0530185endif