blob: bae0a827c29fd5387a3fdb872021fb2326ab5247 [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
Bryan Brattlofb511b372022-11-03 19:13:55 -050022config SOC_K3_AM62A7
23 bool "TI's K3 based AM62A7 SoC Family Support"
24
Lokesh Vutla586bde92018-08-27 15:57:08 +053025endchoice
26
27config SYS_SOC
28 default "k3"
29
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053030config SYS_K3_NON_SECURE_MSRAM_SIZE
31 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050032 default 0x80000 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053033 default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050034 default 0x1c0000 if SOC_K3_AM642
Bryan Brattlofb511b372022-11-03 19:13:55 -050035 default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053036 help
Dave Gerlacheb541682021-04-23 11:27:32 -050037 Describes the total size of the MCU or OCMC MSRAM present on
38 the SoC in use. This doesn't specify the total size of SPL as
39 ROM can use some part of this RAM. Once ROM gives control to
40 SPL then this complete size can be usable.
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053041
42config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
43 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050044 default 0x58000 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053045 default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050046 default 0x180000 if SOC_K3_AM642
Bryan Brattlofb511b372022-11-03 19:13:55 -050047 default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053048 help
49 Describes the maximum size of the image that ROM can download
50 from any boot media.
51
52config SYS_K3_MCU_SCRATCHPAD_BASE
53 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050054 default 0x40280000 if SOC_K3_AM654
Manorit Chawdhry6cfdf822023-05-16 10:24:36 +053055 default 0x40280000 if SOC_K3_J721S2
56 default 0x41cff9fc if SOC_K3_J721E
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053057 help
58 Describes the base address of MCU Scratchpad RAM.
59
60config SYS_K3_MCU_SCRATCHPAD_SIZE
61 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050062 default 0x200 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053063 default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053064 help
65 Describes the size of MCU Scratchpad RAM.
66
Lokesh Vutlae0064602018-08-27 15:57:11 +053067config SYS_K3_BOOT_PARAM_TABLE_INDEX
68 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050069 default 0x41c7fbfc if SOC_K3_AM654
Andreas Dannenberga06df8f2019-06-27 20:03:21 -050070 default 0x41cffbfc if SOC_K3_J721E
David Huang681023a2022-01-25 20:56:31 +053071 default 0x41cfdbfc if SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050072 default 0x701bebfc if SOC_K3_AM642
Bryan Brattlofb672e852022-12-23 19:15:23 -060073 default 0x43c3f290 if SOC_K3_AM625
74 default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
75 default 0x7000f290 if SOC_K3_AM62A7 && ARM64
Lokesh Vutlae0064602018-08-27 15:57:11 +053076 help
77 Address at which ROM stores the value which determines if SPL
78 is booted up by primary boot media or secondary boot media.
79
Lokesh Vutla890b2e72018-11-02 19:51:04 +053080config SYS_K3_KEY
81 string "Key used to generate x509 certificate"
82 help
83 This option enables to provide a custom key that can be used for
84 generating x509 certificate for spl binary. If not needed leave
85 it blank so that a random key is generated and used.
86
87config SYS_K3_BOOT_CORE_ID
88 int
89 default 16
90
Andreas Dannenberge630afe12019-08-15 15:55:28 -050091config K3_EARLY_CONS
92 bool "Activate to allow for an early console during SPL"
93 depends on SPL
94 help
95 Turn this option on to enable an early console functionality in SPL
96 before the main console is being brought up. This can be useful in
97 situations where the main console is dependent on System Firmware
98 (SYSFW) being up and running, which is usually not the case during
99 the very early stages of boot. Using this early console functionality
100 will allow for an alternate serial port to be used to support things
101 like UART-based boot and early diagnostic messages until the main
102 console is ready to get activated.
103
104config K3_EARLY_CONS_IDX
105 depends on K3_EARLY_CONS
106 int "Index of serial device to use for SPL early console"
107 default 1
108 help
109 Use this option to set the index of the serial device to be used
110 for the early console during SPL execution.
111
Andreas Dannenberg6df87062019-06-04 17:55:47 -0500112config K3_LOAD_SYSFW
113 bool
114 depends on SPL
115
116config K3_SYSFW_IMAGE_NAME
117 string "File name of SYSFW firmware and configuration blob"
118 depends on K3_LOAD_SYSFW
119 default "sysfw.itb"
120 help
121 Filename of the combined System Firmware and configuration image tree
122 blob to be loaded when booting from a filesystem.
123
124config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_SECT
125 hex "MMC sector to load SYSFW firmware and configuration blob from"
126 depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
127 default 0x3600
128 help
129 Address on the MMC to load the combined System Firmware and
130 configuration image tree blob from, when the MMC is being used
131 in raw mode. Units: MMC sectors (1 sector = 512 bytes).
132
133config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART
134 hex "MMC partition to load SYSFW firmware and configuration blob from"
135 depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
136 default 2
137 help
138 Partition on the MMC to the combined System Firmware and configuration
139 image tree blob from, when the MMC is being used in raw mode.
140
141config K3_SYSFW_IMAGE_SIZE_MAX
142 int "Amount of memory dynamically allocated for loading SYSFW blob"
143 depends on K3_LOAD_SYSFW
Dave Gerlach895b8b62023-05-16 10:24:37 +0530144 default 280000
Andreas Dannenberg6df87062019-06-04 17:55:47 -0500145 help
146 Amount of memory (in bytes) reserved through dynamic allocation at
147 runtime for loading the combined System Firmware and configuration image
148 tree blob. Keep it as tight as possible, as this directly affects the
149 overall SPL memory footprint.
150
Lokesh Vutla7d0866b2020-02-04 11:09:50 +0530151config K3_SYSFW_IMAGE_SPI_OFFS
152 hex "SPI offset of SYSFW firmware and configuration blob"
153 depends on K3_LOAD_SYSFW
154 default 0x6C0000
155 help
156 Offset of the combined System Firmware and configuration image tree
157 blob to be loaded when booting from a SPI flash memory.
158
Lokesh Vutlaa3501a42018-11-02 19:51:05 +0530159config SYS_K3_SPL_ATF
160 bool "Start Cortex-A from SPL"
161 depends on SPL && CPU_V7R
162 help
163 Enabling this will try to start Cortex-A (typically with ATF)
164 after SPL from R5.
165
Aswath Govindraju0c515092021-06-04 22:00:31 +0530166config K3_ATF_LOAD_ADDR
167 hex "Load address of ATF image"
168 default 0x70000000
169 help
170 The load address for the ATF image. This value defaults to 0x70000000
171 if not provided in the board defconfig file.
172
Tero Kristo99214c12021-06-11 11:45:03 +0300173config K3_DM_FW
174 bool "Separate DM firmware image"
Bryan Brattlofb511b372022-11-03 19:13:55 -0500175 depends on SPL && CPU_V7R && (SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_AM625 || SOC_K3_AM62A7) && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
Tero Kristo99214c12021-06-11 11:45:03 +0300176 default y
177 help
178 Enabling this will indicate that the system has separate DM
179 and TIFS firmware images in place, instead of a single SYSFW
180 firmware. Due to DM being executed on the same core as R5 SPL
181 bootloader, it makes RM and PM services not being available
182 during R5 SPL execution time.
183
Yogesh Siraswar00194272022-07-15 11:38:53 -0500184config K3_X509_SWRV
185 int "SWRV for X509 certificate used for boot images"
186 default 1
187 help
188 SWRV for X509 certificate used for boot images
189
Lokesh Vutla0911d952018-08-27 15:59:06 +0530190source "board/ti/am65x/Kconfig"
Dave Gerlach33b72582021-04-23 11:27:42 -0500191source "board/ti/am64x/Kconfig"
Suman Anna900349b2022-05-25 13:38:47 +0530192source "board/ti/am62x/Kconfig"
Bryan Brattlofb511b372022-11-03 19:13:55 -0500193source "board/ti/am62ax/Kconfig"
Lokesh Vutlaf8185032019-06-13 10:29:49 +0530194source "board/ti/j721e/Kconfig"
Jan Kiszkaa2db09e2021-09-18 08:17:53 +0200195source "board/siemens/iot2050/Kconfig"
David Huang681023a2022-01-25 20:56:31 +0530196source "board/ti/j721s2/Kconfig"
Lokesh Vutla586bde92018-08-27 15:57:08 +0530197endif