blob: 1b8c0b1eb968f0414107c0bf3142f744ce8364c8 [file] [log] [blame]
Lokesh Vutla9bdec002018-08-27 15:57:08 +05301if ARCH_K3
2
3choice
4 prompt "Texas Instruments' K3 based SoC select"
5 optional
6
Apurva Nandana727fa02024-02-24 01:51:40 +05307config SOC_K3_AM625
8 bool "TI's K3 based AM625 SoC Family Support"
9
10config SOC_K3_AM62A7
11 bool "TI's K3 based AM62A7 SoC Family Support"
12
Bryan Brattlofa4d5cc22024-03-12 15:20:24 -050013config SOC_K3_AM62P5
14 bool "TI's K3 based AM62P5 SoC Family Support"
15
Apurva Nandana727fa02024-02-24 01:51:40 +053016config SOC_K3_AM642
17 bool "TI's K3 based AM642 SoC Family Support"
18
Andrew Davis1be5e972022-07-15 10:25:27 -050019config SOC_K3_AM654
20 bool "TI's K3 based AM654 SoC Family Support"
Lokesh Vutla32886442018-08-27 15:57:09 +053021
Lokesh Vutlaa2285322019-06-13 10:29:42 +053022config SOC_K3_J721E
23 bool "TI's K3 based J721E SoC Family Support"
24
Andrew Davisbb6cc992025-03-19 13:54:58 -050025config SOC_K3_J7200
26 bool "TI's K3 based J7200 SoC Family Support"
27
David Huang61098202022-01-25 20:56:31 +053028config SOC_K3_J721S2
29 bool "TI's K3 based J721S2 SoC Family Support"
30
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +053031config SOC_K3_J722S
32 bool "TI's K3 based J722S SoC Family Support"
33
Apurva Nandan67ebc302024-02-24 01:51:41 +053034config SOC_K3_J784S4
35 bool "TI's K3 based J784S4 SoC Family Support"
36
Lokesh Vutla9bdec002018-08-27 15:57:08 +053037endchoice
38
39config SYS_SOC
40 default "k3"
41
Lokesh Vutla32886442018-08-27 15:57:09 +053042config SYS_K3_NON_SECURE_MSRAM_SIZE
43 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050044 default 0x80000 if SOC_K3_AM654
Andrew Davisbb6cc992025-03-19 13:54:58 -050045 default 0x100000 if SOC_K3_J721E || SOC_K3_J7200 || SOC_K3_J721S2 || SOC_K3_J784S4
Dave Gerlach96571ec2021-04-23 11:27:32 -050046 default 0x1c0000 if SOC_K3_AM642
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050047 default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutla32886442018-08-27 15:57:09 +053048 help
Dave Gerlach96571ec2021-04-23 11:27:32 -050049 Describes the total size of the MCU or OCMC MSRAM present on
50 the SoC in use. This doesn't specify the total size of SPL as
51 ROM can use some part of this RAM. Once ROM gives control to
52 SPL then this complete size can be usable.
Lokesh Vutla32886442018-08-27 15:57:09 +053053
54config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
55 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050056 default 0x58000 if SOC_K3_AM654
Andrew Davisbb6cc992025-03-19 13:54:58 -050057 default 0xc0000 if SOC_K3_J721E || SOC_K3_J7200 || SOC_K3_J721S2 || SOC_K3_J784S4
Dave Gerlach96571ec2021-04-23 11:27:32 -050058 default 0x180000 if SOC_K3_AM642
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050059 default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutla32886442018-08-27 15:57:09 +053060 help
61 Describes the maximum size of the image that ROM can download
62 from any boot media.
63
64config SYS_K3_MCU_SCRATCHPAD_BASE
65 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050066 default 0x40280000 if SOC_K3_AM654
Andrew Davisbb6cc992025-03-19 13:54:58 -050067 default 0x41cff9fc if SOC_K3_J721E || SOC_K3_J7200 || SOC_K3_J721S2 || SOC_K3_J784S4
Lokesh Vutla32886442018-08-27 15:57:09 +053068 help
69 Describes the base address of MCU Scratchpad RAM.
70
71config SYS_K3_MCU_SCRATCHPAD_SIZE
72 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050073 default 0x200 if SOC_K3_AM654
Andrew Davisbb6cc992025-03-19 13:54:58 -050074 default 0x200 if SOC_K3_J721E || SOC_K3_J7200 || SOC_K3_J721S2 || SOC_K3_J784S4
Lokesh Vutla32886442018-08-27 15:57:09 +053075 help
76 Describes the size of MCU Scratchpad RAM.
77
Lokesh Vutlac7bfb852018-08-27 15:57:11 +053078config SYS_K3_BOOT_PARAM_TABLE_INDEX
79 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050080 default 0x41c7fbfc if SOC_K3_AM654
Andrew Davisbb6cc992025-03-19 13:54:58 -050081 default 0x41cffbfc if SOC_K3_J721E || SOC_K3_J7200
Apurva Nandan67ebc302024-02-24 01:51:41 +053082 default 0x41cfdbfc if SOC_K3_J721S2 || SOC_K3_J784S4
Dave Gerlach96571ec2021-04-23 11:27:32 -050083 default 0x701bebfc if SOC_K3_AM642
Bryan Brattlofcdea1212022-12-23 19:15:23 -060084 default 0x43c3f290 if SOC_K3_AM625
85 default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
86 default 0x7000f290 if SOC_K3_AM62A7 && ARM64
Bryan Brattlofa4d5cc22024-03-12 15:20:24 -050087 default 0x43c4f290 if SOC_K3_AM62P5
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +053088 default 0x43c7f290 if SOC_K3_J722S
Lokesh Vutlac7bfb852018-08-27 15:57:11 +053089 help
90 Address at which ROM stores the value which determines if SPL
91 is booted up by primary boot media or secondary boot media.
92
Lokesh Vutla6b6a3942018-11-02 19:51:04 +053093config SYS_K3_KEY
94 string "Key used to generate x509 certificate"
95 help
96 This option enables to provide a custom key that can be used for
97 generating x509 certificate for spl binary. If not needed leave
98 it blank so that a random key is generated and used.
99
100config SYS_K3_BOOT_CORE_ID
101 int
102 default 16
103
Andreas Dannenbergd13ec8c2019-08-15 15:55:28 -0500104config K3_EARLY_CONS
105 bool "Activate to allow for an early console during SPL"
106 depends on SPL
107 help
108 Turn this option on to enable an early console functionality in SPL
109 before the main console is being brought up. This can be useful in
110 situations where the main console is dependent on System Firmware
111 (SYSFW) being up and running, which is usually not the case during
112 the very early stages of boot. Using this early console functionality
113 will allow for an alternate serial port to be used to support things
114 like UART-based boot and early diagnostic messages until the main
115 console is ready to get activated.
116
117config K3_EARLY_CONS_IDX
118 depends on K3_EARLY_CONS
119 int "Index of serial device to use for SPL early console"
120 default 1
121 help
122 Use this option to set the index of the serial device to be used
123 for the early console during SPL execution.
124
Aswath Govindraju560ea8a2021-06-04 22:00:31 +0530125config K3_ATF_LOAD_ADDR
126 hex "Load address of ATF image"
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +0530127 default 0x80000000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S)
Aswath Govindraju560ea8a2021-06-04 22:00:31 +0530128 default 0x70000000
129 help
Andrew Davis0f13a002024-02-14 10:30:04 -0600130 The load address for the ATF image. This value is used to build the
131 FIT image header that places ATF in memory where it will run.
Aswath Govindraju560ea8a2021-06-04 22:00:31 +0530132
Andrew Davis27df8602024-02-14 10:30:05 -0600133config K3_OPTEE_LOAD_ADDR
134 hex "Load address of OPTEE image"
135 default 0x9e800000
136 help
137 The load address for the OPTEE image. This value defaults to 0x9e800000
Lokesh Vutla9bdec002018-08-27 15:57:08 +0530138 if not provided in the board defconfig file.
139
Tero Kristo18b8c032021-06-11 11:45:03 +0300140config K3_DM_FW
141 bool "Separate DM firmware image"
Bryan Brattlof2fcd8812024-03-12 15:20:23 -0500142 depends on CPU_V7R && !SOC_K3_AM642 && !SOC_K3_AM654 && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
Tero Kristo18b8c032021-06-11 11:45:03 +0300143 default y
144 help
145 Enabling this will indicate that the system has separate DM
146 and TIFS firmware images in place, instead of a single SYSFW
147 firmware. Due to DM being executed on the same core as R5 SPL
148 bootloader, it makes RM and PM services not being available
149 during R5 SPL execution time.
150
Yogesh Siraswar26ebaed2022-07-15 11:38:53 -0500151config K3_X509_SWRV
152 int "SWRV for X509 certificate used for boot images"
153 default 1
154 help
155 SWRV for X509 certificate used for boot images
156
Neha Malcom Francis728a6ce2025-01-06 14:37:07 +0530157config NR_DRAM_BANKS
158 default 2
159
Judith Mendezcd70fa42025-02-10 14:29:43 -0600160config K3_REMOTEPROC_R5F
161 bool "Enable K3 Remoteproc driver for R5F"
162 depends on ARM64
163 imply REMOTEPROC_TI_K3_R5F
164 default y if (SOC_K3_AM62A7 || SOC_K3_AM654 || SOC_K3_J721E || SOC_K3_J784S4 || SOC_K3_J721S2 || SOC_K3_J722S || SOC_K3_AM62P5 || SOC_K3_AM642)
165
166config K3_REMOTEPROC_DSP
167 bool "Enable K3 Remoteproc driver for DSP"
168 depends on ARM64
169 imply REMOTEPROC_TI_K3_DSP
170 default y if (SOC_K3_AM62A7 || SOC_K3_J721E || SOC_K3_J784S4 || SOC_K3_J721S2 || SOC_K3_J722S)
171
172config K3_REMOTEPROC_M4F
173 bool "Enable K3 Remoteproc driver for M4F"
174 depends on ARM64
175 imply REMOTEPROC_TI_K3_M4F
176 default y if (SOC_K3_AM625 || SOC_K3_AM642)
177
178config K3_REMOTEPROC_PRU
179 bool "Enable K3 Remoteproc driver for PRU"
180 depends on ARM64
181 imply REMOTEPROC_TI_PRU
182 default y if (SOC_K3_AM642 || SOC_K3_AM654)
183
Andrew Davisc6f2a232023-11-14 09:59:50 -0600184if CPU_V7R
185source "arch/arm/mach-k3/r5/Kconfig"
186endif
187
Andrew Davisecfef3c2023-11-01 15:35:26 -0500188source "arch/arm/mach-k3/am65x/Kconfig"
Andrew Davisac35ed32023-11-01 15:35:27 -0500189source "arch/arm/mach-k3/am64x/Kconfig"
Andrew Davis308b6002023-11-01 15:35:28 -0500190source "arch/arm/mach-k3/am62x/Kconfig"
Andrew Davis11ab49e2023-11-01 15:35:29 -0500191source "arch/arm/mach-k3/am62ax/Kconfig"
Bryan Brattlofa4d5cc22024-03-12 15:20:24 -0500192source "arch/arm/mach-k3/am62px/Kconfig"
Andrew Davisec2d8122023-11-01 15:35:25 -0500193source "arch/arm/mach-k3/j721e/Kconfig"
Andrew Davisbb6cc992025-03-19 13:54:58 -0500194source "arch/arm/mach-k3/j7200/Kconfig"
Andrew Davisba38c1b2023-11-01 15:35:30 -0500195source "arch/arm/mach-k3/j721s2/Kconfig"
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +0530196source "arch/arm/mach-k3/j722s/Kconfig"
Apurva Nandan8b957b32024-02-24 01:51:46 +0530197source "arch/arm/mach-k3/j784s4/Kconfig"
Andrew Davis308b6002023-11-01 15:35:28 -0500198
Lokesh Vutla9bdec002018-08-27 15:57:08 +0530199endif