blob: f3f42b392139fef90cea309a48efde920eda017d [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
David Huang61098202022-01-25 20:56:31 +053025config SOC_K3_J721S2
26 bool "TI's K3 based J721S2 SoC Family Support"
27
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +053028config SOC_K3_J722S
29 bool "TI's K3 based J722S SoC Family Support"
30
Apurva Nandan67ebc302024-02-24 01:51:41 +053031config SOC_K3_J784S4
32 bool "TI's K3 based J784S4 SoC Family Support"
33
Lokesh Vutla9bdec002018-08-27 15:57:08 +053034endchoice
35
Nishanth Menon27ee03c2023-11-04 02:21:44 -050036if SOC_K3_J721E
37config SOC_K3_J721E_J7200
38 bool "TI's K3 based J7200 SoC variant Family Support"
39endif
40
Lokesh Vutla9bdec002018-08-27 15:57:08 +053041config SYS_SOC
42 default "k3"
43
Lokesh Vutla32886442018-08-27 15:57:09 +053044config SYS_K3_NON_SECURE_MSRAM_SIZE
45 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050046 default 0x80000 if SOC_K3_AM654
Apurva Nandan67ebc302024-02-24 01:51:41 +053047 default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_J784S4
Dave Gerlach96571ec2021-04-23 11:27:32 -050048 default 0x1c0000 if SOC_K3_AM642
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050049 default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutla32886442018-08-27 15:57:09 +053050 help
Dave Gerlach96571ec2021-04-23 11:27:32 -050051 Describes the total size of the MCU or OCMC MSRAM present on
52 the SoC in use. This doesn't specify the total size of SPL as
53 ROM can use some part of this RAM. Once ROM gives control to
54 SPL then this complete size can be usable.
Lokesh Vutla32886442018-08-27 15:57:09 +053055
56config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
57 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050058 default 0x58000 if SOC_K3_AM654
Apurva Nandan67ebc302024-02-24 01:51:41 +053059 default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_J784S4
Dave Gerlach96571ec2021-04-23 11:27:32 -050060 default 0x180000 if SOC_K3_AM642
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050061 default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutla32886442018-08-27 15:57:09 +053062 help
63 Describes the maximum size of the image that ROM can download
64 from any boot media.
65
66config SYS_K3_MCU_SCRATCHPAD_BASE
67 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050068 default 0x40280000 if SOC_K3_AM654
Apurva Nandan67ebc302024-02-24 01:51:41 +053069 default 0x41cff9fc if SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_J784S4
Lokesh Vutla32886442018-08-27 15:57:09 +053070 help
71 Describes the base address of MCU Scratchpad RAM.
72
73config SYS_K3_MCU_SCRATCHPAD_SIZE
74 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050075 default 0x200 if SOC_K3_AM654
Apurva Nandan67ebc302024-02-24 01:51:41 +053076 default 0x200 if SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_J784S4
Lokesh Vutla32886442018-08-27 15:57:09 +053077 help
78 Describes the size of MCU Scratchpad RAM.
79
Lokesh Vutlac7bfb852018-08-27 15:57:11 +053080config SYS_K3_BOOT_PARAM_TABLE_INDEX
81 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050082 default 0x41c7fbfc if SOC_K3_AM654
Andreas Dannenberg4524b3f2019-06-27 20:03:21 -050083 default 0x41cffbfc if SOC_K3_J721E
Apurva Nandan67ebc302024-02-24 01:51:41 +053084 default 0x41cfdbfc if SOC_K3_J721S2 || SOC_K3_J784S4
Dave Gerlach96571ec2021-04-23 11:27:32 -050085 default 0x701bebfc if SOC_K3_AM642
Bryan Brattlofcdea1212022-12-23 19:15:23 -060086 default 0x43c3f290 if SOC_K3_AM625
87 default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
88 default 0x7000f290 if SOC_K3_AM62A7 && ARM64
Bryan Brattlofa4d5cc22024-03-12 15:20:24 -050089 default 0x43c4f290 if SOC_K3_AM62P5
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +053090 default 0x43c7f290 if SOC_K3_J722S
Lokesh Vutlac7bfb852018-08-27 15:57:11 +053091 help
92 Address at which ROM stores the value which determines if SPL
93 is booted up by primary boot media or secondary boot media.
94
Lokesh Vutla6b6a3942018-11-02 19:51:04 +053095config SYS_K3_KEY
96 string "Key used to generate x509 certificate"
97 help
98 This option enables to provide a custom key that can be used for
99 generating x509 certificate for spl binary. If not needed leave
100 it blank so that a random key is generated and used.
101
102config SYS_K3_BOOT_CORE_ID
103 int
104 default 16
105
Andreas Dannenbergd13ec8c2019-08-15 15:55:28 -0500106config K3_EARLY_CONS
107 bool "Activate to allow for an early console during SPL"
108 depends on SPL
109 help
110 Turn this option on to enable an early console functionality in SPL
111 before the main console is being brought up. This can be useful in
112 situations where the main console is dependent on System Firmware
113 (SYSFW) being up and running, which is usually not the case during
114 the very early stages of boot. Using this early console functionality
115 will allow for an alternate serial port to be used to support things
116 like UART-based boot and early diagnostic messages until the main
117 console is ready to get activated.
118
119config K3_EARLY_CONS_IDX
120 depends on K3_EARLY_CONS
121 int "Index of serial device to use for SPL early console"
122 default 1
123 help
124 Use this option to set the index of the serial device to be used
125 for the early console during SPL execution.
126
Aswath Govindraju560ea8a2021-06-04 22:00:31 +0530127config K3_ATF_LOAD_ADDR
128 hex "Load address of ATF image"
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +0530129 default 0x80000000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S)
Aswath Govindraju560ea8a2021-06-04 22:00:31 +0530130 default 0x70000000
131 help
Andrew Davis0f13a002024-02-14 10:30:04 -0600132 The load address for the ATF image. This value is used to build the
133 FIT image header that places ATF in memory where it will run.
Aswath Govindraju560ea8a2021-06-04 22:00:31 +0530134
Andrew Davis27df8602024-02-14 10:30:05 -0600135config K3_OPTEE_LOAD_ADDR
136 hex "Load address of OPTEE image"
137 default 0x9e800000
138 help
139 The load address for the OPTEE image. This value defaults to 0x9e800000
Lokesh Vutla9bdec002018-08-27 15:57:08 +0530140 if not provided in the board defconfig file.
141
Tero Kristo18b8c032021-06-11 11:45:03 +0300142config K3_DM_FW
143 bool "Separate DM firmware image"
Bryan Brattlof2fcd8812024-03-12 15:20:23 -0500144 depends on CPU_V7R && !SOC_K3_AM642 && !SOC_K3_AM654 && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
Tero Kristo18b8c032021-06-11 11:45:03 +0300145 default y
146 help
147 Enabling this will indicate that the system has separate DM
148 and TIFS firmware images in place, instead of a single SYSFW
149 firmware. Due to DM being executed on the same core as R5 SPL
150 bootloader, it makes RM and PM services not being available
151 during R5 SPL execution time.
152
Yogesh Siraswar26ebaed2022-07-15 11:38:53 -0500153config K3_X509_SWRV
154 int "SWRV for X509 certificate used for boot images"
155 default 1
156 help
157 SWRV for X509 certificate used for boot images
158
Andrew Davisc6f2a232023-11-14 09:59:50 -0600159if CPU_V7R
160source "arch/arm/mach-k3/r5/Kconfig"
161endif
162
Andrew Davisecfef3c2023-11-01 15:35:26 -0500163source "arch/arm/mach-k3/am65x/Kconfig"
Andrew Davisac35ed32023-11-01 15:35:27 -0500164source "arch/arm/mach-k3/am64x/Kconfig"
Andrew Davis308b6002023-11-01 15:35:28 -0500165source "arch/arm/mach-k3/am62x/Kconfig"
Andrew Davis11ab49e2023-11-01 15:35:29 -0500166source "arch/arm/mach-k3/am62ax/Kconfig"
Bryan Brattlofa4d5cc22024-03-12 15:20:24 -0500167source "arch/arm/mach-k3/am62px/Kconfig"
Andrew Davisec2d8122023-11-01 15:35:25 -0500168source "arch/arm/mach-k3/j721e/Kconfig"
Andrew Davisba38c1b2023-11-01 15:35:30 -0500169source "arch/arm/mach-k3/j721s2/Kconfig"
Jayesh Choudhary732d2ff2024-06-12 14:41:18 +0530170source "arch/arm/mach-k3/j722s/Kconfig"
Apurva Nandan8b957b32024-02-24 01:51:46 +0530171source "arch/arm/mach-k3/j784s4/Kconfig"
Andrew Davis308b6002023-11-01 15:35:28 -0500172
Lokesh Vutla9bdec002018-08-27 15:57:08 +0530173endif