blob: a8c3a593d5704b70907e7dfd4c42b8fcaab46144 [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
David Huang681023a2022-01-25 20:56:31 +053055 default 0x40280000 if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053056 help
57 Describes the base address of MCU Scratchpad RAM.
58
59config SYS_K3_MCU_SCRATCHPAD_SIZE
60 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050061 default 0x200 if SOC_K3_AM654
David Huang681023a2022-01-25 20:56:31 +053062 default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutlaed0e6052018-08-27 15:57:09 +053063 help
64 Describes the size of MCU Scratchpad RAM.
65
Lokesh Vutlae0064602018-08-27 15:57:11 +053066config SYS_K3_BOOT_PARAM_TABLE_INDEX
67 hex
Andrew Davis80b93bb2022-07-15 10:25:27 -050068 default 0x41c7fbfc if SOC_K3_AM654
Andreas Dannenberga06df8f2019-06-27 20:03:21 -050069 default 0x41cffbfc if SOC_K3_J721E
David Huang681023a2022-01-25 20:56:31 +053070 default 0x41cfdbfc if SOC_K3_J721S2
Dave Gerlacheb541682021-04-23 11:27:32 -050071 default 0x701bebfc if SOC_K3_AM642
Bryan Brattlofb672e852022-12-23 19:15:23 -060072 default 0x43c3f290 if SOC_K3_AM625
73 default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
74 default 0x7000f290 if SOC_K3_AM62A7 && ARM64
Lokesh Vutlae0064602018-08-27 15:57:11 +053075 help
76 Address at which ROM stores the value which determines if SPL
77 is booted up by primary boot media or secondary boot media.
78
Lokesh Vutla890b2e72018-11-02 19:51:04 +053079config SYS_K3_KEY
80 string "Key used to generate x509 certificate"
81 help
82 This option enables to provide a custom key that can be used for
83 generating x509 certificate for spl binary. If not needed leave
84 it blank so that a random key is generated and used.
85
86config SYS_K3_BOOT_CORE_ID
87 int
88 default 16
89
Andreas Dannenberge630afe12019-08-15 15:55:28 -050090config K3_EARLY_CONS
91 bool "Activate to allow for an early console during SPL"
92 depends on SPL
93 help
94 Turn this option on to enable an early console functionality in SPL
95 before the main console is being brought up. This can be useful in
96 situations where the main console is dependent on System Firmware
97 (SYSFW) being up and running, which is usually not the case during
98 the very early stages of boot. Using this early console functionality
99 will allow for an alternate serial port to be used to support things
100 like UART-based boot and early diagnostic messages until the main
101 console is ready to get activated.
102
103config K3_EARLY_CONS_IDX
104 depends on K3_EARLY_CONS
105 int "Index of serial device to use for SPL early console"
106 default 1
107 help
108 Use this option to set the index of the serial device to be used
109 for the early console during SPL execution.
110
Andreas Dannenberg6df87062019-06-04 17:55:47 -0500111config K3_LOAD_SYSFW
112 bool
113 depends on SPL
114
115config K3_SYSFW_IMAGE_NAME
116 string "File name of SYSFW firmware and configuration blob"
117 depends on K3_LOAD_SYSFW
118 default "sysfw.itb"
119 help
120 Filename of the combined System Firmware and configuration image tree
121 blob to be loaded when booting from a filesystem.
122
123config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_SECT
124 hex "MMC sector to load SYSFW firmware and configuration blob from"
125 depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
126 default 0x3600
127 help
128 Address on the MMC to load the combined System Firmware and
129 configuration image tree blob from, when the MMC is being used
130 in raw mode. Units: MMC sectors (1 sector = 512 bytes).
131
132config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART
133 hex "MMC partition to load SYSFW firmware and configuration blob from"
134 depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
135 default 2
136 help
137 Partition on the MMC to the combined System Firmware and configuration
138 image tree blob from, when the MMC is being used in raw mode.
139
140config K3_SYSFW_IMAGE_SIZE_MAX
141 int "Amount of memory dynamically allocated for loading SYSFW blob"
142 depends on K3_LOAD_SYSFW
Bryan Brattlofb511b372022-11-03 19:13:55 -0500143 default 163840 if SOC_K3_AM625 || SOC_K3_AM62A7
Andrew F. Davisb76bea12020-04-30 15:12:19 -0400144 default 278000
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