arm: mach-k3: introduce generic board detction kconfig option
[platform/kernel/u-boot.git] / arch / arm / mach-k3 / Kconfig
1 if ARCH_K3
2
3 choice
4         prompt "Texas Instruments' K3 based SoC select"
5         optional
6
7 config SOC_K3_AM654
8         bool "TI's K3 based AM654 SoC Family Support"
9
10 config SOC_K3_J721E
11         bool "TI's K3 based J721E SoC Family Support"
12
13 config SOC_K3_J721S2
14         bool "TI's K3 based J721S2 SoC Family Support"
15
16 config SOC_K3_AM642
17         bool "TI's K3 based AM642 SoC Family Support"
18
19 config SOC_K3_AM625
20         bool "TI's K3 based AM625 SoC Family Support"
21
22 config SOC_K3_AM62A7
23         bool "TI's K3 based AM62A7 SoC Family Support"
24
25 endchoice
26
27 config SYS_SOC
28         default "k3"
29
30 config SYS_K3_NON_SECURE_MSRAM_SIZE
31         hex
32         default 0x80000 if SOC_K3_AM654
33         default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
34         default 0x1c0000 if SOC_K3_AM642
35         default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
36         help
37           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.
41
42 config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
43         hex
44         default 0x58000 if SOC_K3_AM654
45         default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
46         default 0x180000 if SOC_K3_AM642
47         default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
48         help
49           Describes the maximum size of the image that ROM can download
50           from any boot media.
51
52 config SYS_K3_MCU_SCRATCHPAD_BASE
53         hex
54         default 0x40280000 if SOC_K3_AM654
55         default 0x40280000 if SOC_K3_J721E || SOC_K3_J721S2
56         help
57           Describes the base address of MCU Scratchpad RAM.
58
59 config SYS_K3_MCU_SCRATCHPAD_SIZE
60         hex
61         default 0x200 if SOC_K3_AM654
62         default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
63         help
64           Describes the size of MCU Scratchpad RAM.
65
66 config SYS_K3_BOOT_PARAM_TABLE_INDEX
67         hex
68         default 0x41c7fbfc if SOC_K3_AM654
69         default 0x41cffbfc if SOC_K3_J721E
70         default 0x41cfdbfc if SOC_K3_J721S2
71         default 0x701bebfc if SOC_K3_AM642
72         default 0x43c3f290 if SOC_K3_AM625
73         default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
74         default 0x7000f290 if SOC_K3_AM62A7 && ARM64
75         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
79 config 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
86 config SYS_K3_BOOT_CORE_ID
87         int
88         default 16
89
90 config 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
103 config 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
111 config K3_LOAD_SYSFW
112         bool
113         depends on SPL
114
115 config 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
123 config 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
132 config 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
140 config K3_SYSFW_IMAGE_SIZE_MAX
141         int "Amount of memory dynamically allocated for loading SYSFW blob"
142         depends on K3_LOAD_SYSFW
143         default 163840 if SOC_K3_AM625 || SOC_K3_AM62A7
144         default 278000
145         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
151 config 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
159 config 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
166 config 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
173 config K3_DM_FW
174         bool "Separate DM firmware image"
175         depends on SPL && CPU_V7R && (SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_AM625 || SOC_K3_AM62A7) && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
176         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
184 config 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
190 config K3_BOARD_DETECT
191         bool "Support for Board detection"
192         help
193            Support for board detection.
194
195 source "board/ti/am65x/Kconfig"
196 source "board/ti/am64x/Kconfig"
197 source "board/ti/am62x/Kconfig"
198 source "board/ti/am62ax/Kconfig"
199 source "board/ti/j721e/Kconfig"
200 source "board/siemens/iot2050/Kconfig"
201 source "board/ti/j721s2/Kconfig"
202 endif