blob: 0ffbbf9168e86b654c01b6826f76565be39a50fe [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
Andrew Davis1be5e972022-07-15 10:25:27 -05007config SOC_K3_AM654
8 bool "TI's K3 based AM654 SoC Family Support"
Lokesh Vutla32886442018-08-27 15:57:09 +05309
Lokesh Vutlaa2285322019-06-13 10:29:42 +053010config SOC_K3_J721E
11 bool "TI's K3 based J721E SoC Family Support"
12
David Huang61098202022-01-25 20:56:31 +053013config SOC_K3_J721S2
14 bool "TI's K3 based J721S2 SoC Family Support"
15
Dave Gerlach96571ec2021-04-23 11:27:32 -050016config SOC_K3_AM642
17 bool "TI's K3 based AM642 SoC Family Support"
18
Suman Anna27fa4122022-05-25 13:38:42 +053019config SOC_K3_AM625
20 bool "TI's K3 based AM625 SoC Family Support"
21
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050022config SOC_K3_AM62A7
23 bool "TI's K3 based AM62A7 SoC Family Support"
24
Lokesh Vutla9bdec002018-08-27 15:57:08 +053025endchoice
26
27config SYS_SOC
28 default "k3"
29
Lokesh Vutla32886442018-08-27 15:57:09 +053030config SYS_K3_NON_SECURE_MSRAM_SIZE
31 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050032 default 0x80000 if SOC_K3_AM654
David Huang61098202022-01-25 20:56:31 +053033 default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
Dave Gerlach96571ec2021-04-23 11:27:32 -050034 default 0x1c0000 if SOC_K3_AM642
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050035 default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutla32886442018-08-27 15:57:09 +053036 help
Dave Gerlach96571ec2021-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 Vutla32886442018-08-27 15:57:09 +053041
42config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
43 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050044 default 0x58000 if SOC_K3_AM654
David Huang61098202022-01-25 20:56:31 +053045 default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
Dave Gerlach96571ec2021-04-23 11:27:32 -050046 default 0x180000 if SOC_K3_AM642
Bryan Brattlofdaa39a62022-11-03 19:13:55 -050047 default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
Lokesh Vutla32886442018-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 Davis1be5e972022-07-15 10:25:27 -050054 default 0x40280000 if SOC_K3_AM654
Manorit Chawdhry4e4f6bc2023-05-04 11:07:07 +053055 default 0x41cff9fc if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutla32886442018-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 Davis1be5e972022-07-15 10:25:27 -050061 default 0x200 if SOC_K3_AM654
David Huang61098202022-01-25 20:56:31 +053062 default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
Lokesh Vutla32886442018-08-27 15:57:09 +053063 help
64 Describes the size of MCU Scratchpad RAM.
65
Lokesh Vutlac7bfb852018-08-27 15:57:11 +053066config SYS_K3_BOOT_PARAM_TABLE_INDEX
67 hex
Andrew Davis1be5e972022-07-15 10:25:27 -050068 default 0x41c7fbfc if SOC_K3_AM654
Andreas Dannenberg4524b3f2019-06-27 20:03:21 -050069 default 0x41cffbfc if SOC_K3_J721E
David Huang61098202022-01-25 20:56:31 +053070 default 0x41cfdbfc if SOC_K3_J721S2
Dave Gerlach96571ec2021-04-23 11:27:32 -050071 default 0x701bebfc if SOC_K3_AM642
Bryan Brattlofcdea1212022-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 Vutlac7bfb852018-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 Vutla6b6a3942018-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 Dannenbergd13ec8c2019-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 Dannenberg04e5ea82019-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 Brattlofdaa39a62022-11-03 19:13:55 -0500143 default 163840 if SOC_K3_AM625 || SOC_K3_AM62A7
Andrew F. Davis4ef30592020-04-30 15:12:19 -0400144 default 278000
Andreas Dannenberg04e5ea82019-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 Vutlaa5f27562020-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 Vutla5d83fd22018-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 Govindraju560ea8a2021-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 Kristo18b8c032021-06-11 11:45:03 +0300173config K3_DM_FW
174 bool "Separate DM firmware image"
Bryan Brattlofdaa39a62022-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 Kristo18b8c032021-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 Siraswar26ebaed2022-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 Vutla029f9212018-08-27 15:59:06 +0530190source "board/ti/am65x/Kconfig"
Dave Gerlach3dc33f12021-04-23 11:27:42 -0500191source "board/ti/am64x/Kconfig"
Suman Anna3b431102022-05-25 13:38:47 +0530192source "board/ti/am62x/Kconfig"
Bryan Brattlofdaa39a62022-11-03 19:13:55 -0500193source "board/ti/am62ax/Kconfig"
Lokesh Vutla1a9dd212019-06-13 10:29:49 +0530194source "board/ti/j721e/Kconfig"
Jan Kiszka8ff2ff82021-09-18 08:17:53 +0200195source "board/siemens/iot2050/Kconfig"
David Huang61098202022-01-25 20:56:31 +0530196source "board/ti/j721s2/Kconfig"
Lokesh Vutla9bdec002018-08-27 15:57:08 +0530197endif