Merge branch '2021-07-28-setexpr-fmt-support'
[platform/kernel/u-boot.git] / arch / arm / mach-mvebu / Kconfig
1 if ARCH_MVEBU
2
3 config HAVE_MVEBU_EFUSE
4         bool
5         default n
6
7 config ARMADA_32BIT
8         bool
9         select ARCH_MISC_INIT
10         select BOARD_EARLY_INIT_F
11         select CPU_V7A
12         select SPL_DM if SPL
13         select SPL_DM_SEQ_ALIAS if SPL
14         select SPL_OF_CONTROL if SPL
15         select SPL_SIMPLE_BUS if SPL
16         select SUPPORT_SPL
17         select TRANSLATION_OFFSET
18
19 config ARMADA_64BIT
20         bool
21         select ARM64
22
23 # ARMv7 SoCs...
24 config ARMADA_375
25         bool
26         select ARMADA_32BIT
27
28 config ARMADA_38X
29         bool
30         select ARMADA_32BIT
31         select HAVE_MVEBU_EFUSE
32
33 config ARMADA_38X_HS_IMPEDANCE_THRESH
34         hex  "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
35         depends on ARMADA_38X
36         default 0x6
37         range 0x0 0x7
38
39 config ARMADA_XP
40         bool
41         select ARMADA_32BIT
42
43 # ARMv8 SoCs...
44 config ARMADA_3700
45         bool
46         select ARM64
47
48 # Armada 7K and 8K are very similar - use only one Kconfig symbol for both
49 config ARMADA_8K
50         bool
51         select ARM64
52
53 # Armada PLL frequency (used for NAND clock generation)
54 config SYS_MVEBU_PLL_CLOCK
55         int
56         default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
57         default "1000000000" if ARMADA_38X || ARMADA_375
58
59 # Armada XP/38x SoC types...
60 config MV78230
61         bool
62         select ARMADA_XP
63
64 config MV78260
65         bool
66         select ARMADA_XP
67         imply CMD_SATA
68
69 config MV78460
70         bool
71         select ARMADA_XP
72
73 config ARMADA_MSYS
74         bool
75         select ARMADA_32BIT
76
77 config 98DX4251
78         bool
79         select ARMADA_MSYS
80
81 config 98DX3336
82         bool
83         select ARMADA_MSYS
84
85 config 98DX3236
86         bool
87         select ARMADA_MSYS
88
89 config 88F6820
90         bool
91         select ARMADA_38X
92
93 choice
94         prompt "Armada XP/375/38x/3700/7K/8K board select"
95         optional
96
97 config TARGET_CLEARFOG
98         bool "Support ClearFog"
99         select 88F6820
100         select BOARD_LATE_INIT
101
102 config TARGET_HELIOS4
103         bool "Support Helios4"
104         select 88F6820
105
106 config TARGET_MVEBU_ARMADA_37XX
107         bool "Support Armada 37xx platforms"
108         select ARMADA_3700
109         imply SCSI
110
111 config TARGET_DB_88F6720
112         bool "Support DB-88F6720 Armada 375"
113         select ARMADA_375
114
115 config TARGET_DB_88F6820_GP
116         bool "Support DB-88F6820-GP"
117         select 88F6820
118
119 config TARGET_DB_88F6820_AMC
120         bool "Support DB-88F6820-AMC"
121         select 88F6820
122
123 config TARGET_TURRIS_OMNIA
124         bool "Support Turris Omnia"
125         select 88F6820
126         select BOARD_LATE_INIT
127         select DM_I2C
128         select I2C_MUX
129         select I2C_MUX_PCA954x
130         select SPL_I2C_MUX
131         select SYS_I2C_MVTWSI
132         select ATSHA204A
133
134 config TARGET_TURRIS_MOX
135         bool "Support Turris Mox"
136         select ARMADA_3700
137
138 config TARGET_MVEBU_ARMADA_8K
139         bool "Support Armada 7k/8k platforms"
140         select ARMADA_8K
141         select BOARD_LATE_INIT
142         imply SCSI
143
144 config TARGET_OCTEONTX2_CN913x
145         bool "Support CN913x platforms"
146         select ARMADA_8K
147         imply BOARD_EARLY_INIT_R
148         select BOARD_LATE_INIT
149         imply SCSI
150
151 config TARGET_DB_MV784MP_GP
152         bool "Support db-mv784mp-gp"
153         select MV78460
154
155 config TARGET_DS414
156         bool "Support Synology DS414"
157         select MV78230
158
159 config TARGET_MAXBCM
160         bool "Support maxbcm"
161         select MV78460
162
163 config TARGET_THEADORABLE
164         bool "Support theadorable Armada XP"
165         select BOARD_LATE_INIT if USB
166         select MV78260
167         imply CMD_SATA
168
169 config TARGET_CONTROLCENTERDC
170         bool "Support CONTROLCENTERDC"
171         select 88F6820
172
173 config TARGET_X530
174         bool "Support Allied Telesis x530"
175         select 88F6820
176
177 config TARGET_DB_XC3_24G4XG
178         bool "Support DB-XC3-24G4XG"
179         select 98DX3336
180
181 config TARGET_CRS3XX_98DX3236
182         bool "Support CRS3XX-98DX3236"
183         select 98DX3236
184
185 endchoice
186
187 config SYS_BOARD
188         default "clearfog" if TARGET_CLEARFOG
189         default "helios4" if TARGET_HELIOS4
190         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
191         default "db-88f6720" if TARGET_DB_88F6720
192         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
193         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
194         default "turris_omnia" if TARGET_TURRIS_OMNIA
195         default "turris_mox" if TARGET_TURRIS_MOX
196         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
197         default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
198         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
199         default "ds414" if TARGET_DS414
200         default "maxbcm" if TARGET_MAXBCM
201         default "theadorable" if TARGET_THEADORABLE
202         default "a38x" if TARGET_CONTROLCENTERDC
203         default "x530" if TARGET_X530
204         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
205         default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
206
207 config SYS_CONFIG_NAME
208         default "clearfog" if TARGET_CLEARFOG
209         default "helios4" if TARGET_HELIOS4
210         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
211         default "db-88f6720" if TARGET_DB_88F6720
212         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
213         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
214         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
215         default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
216         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
217         default "ds414" if TARGET_DS414
218         default "maxbcm" if TARGET_MAXBCM
219         default "theadorable" if TARGET_THEADORABLE
220         default "turris_omnia" if TARGET_TURRIS_OMNIA
221         default "turris_mox" if TARGET_TURRIS_MOX
222         default "controlcenterdc" if TARGET_CONTROLCENTERDC
223         default "x530" if TARGET_X530
224         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
225         default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
226
227 config SYS_VENDOR
228         default "Marvell" if TARGET_DB_MV784MP_GP
229         default "Marvell" if TARGET_MVEBU_ARMADA_37XX
230         default "Marvell" if TARGET_DB_88F6720
231         default "Marvell" if TARGET_DB_88F6820_GP
232         default "Marvell" if TARGET_DB_88F6820_AMC
233         default "Marvell" if TARGET_MVEBU_ARMADA_8K
234         default "Marvell" if TARGET_OCTEONTX2_CN913x
235         default "Marvell" if TARGET_DB_XC3_24G4XG
236         default "Marvell" if TARGET_MVEBU_DB_88F7040
237         default "solidrun" if TARGET_CLEARFOG
238         default "kobol" if TARGET_HELIOS4
239         default "Synology" if TARGET_DS414
240         default "CZ.NIC" if TARGET_TURRIS_OMNIA
241         default "CZ.NIC" if TARGET_TURRIS_MOX
242         default "gdsys" if TARGET_CONTROLCENTERDC
243         default "alliedtelesis" if TARGET_X530
244         default "mikrotik" if TARGET_CRS3XX_98DX3236
245
246 config SYS_SOC
247         default "mvebu"
248
249 choice
250         prompt "Boot method"
251         depends on SPL
252
253 config MVEBU_SPL_BOOT_DEVICE_SPI
254         bool "SPI NOR flash"
255         imply ENV_IS_IN_SPI_FLASH
256         select SPL_DM_SPI
257         select SPL_SPI_FLASH_SUPPORT
258         select SPL_SPI_LOAD
259         select SPL_SPI_SUPPORT
260
261 config MVEBU_SPL_BOOT_DEVICE_MMC
262         bool "SDIO/MMC card"
263         imply ENV_IS_IN_MMC
264         # GPIO needed for eMMC/SD card presence detection
265         select SPL_DM_GPIO
266         select SPL_DM_MMC
267         select SPL_GPIO_SUPPORT
268         select SPL_LIBDISK_SUPPORT
269         select SPL_MMC_SUPPORT
270
271 config MVEBU_SPL_BOOT_DEVICE_SATA
272         bool "SATA"
273         select SPL_SATA_SUPPORT
274         select SPL_LIBDISK_SUPPORT
275
276 config MVEBU_SPL_BOOT_DEVICE_UART
277         bool "UART"
278
279 endchoice
280
281 config MVEBU_EFUSE
282         bool "Enable eFuse support"
283         default n
284         depends on HAVE_MVEBU_EFUSE
285         help
286           Enable support for reading and writing eFuses on mvebu SoCs.
287
288 config MVEBU_EFUSE_FAKE
289         bool "Fake eFuse access (dry run)"
290         default n
291         depends on MVEBU_EFUSE
292         help
293           This enables a "dry run" mode where eFuses are not really programmed.
294           Instead the eFuse accesses are emulated by writing to and reading
295           from a memory block.
296           This is can be used for testing prog scripts.
297
298 config SECURED_MODE_IMAGE
299         bool "Build image for trusted boot"
300         default false
301         depends on 88F6820
302         help
303           Build an image that employs the ARMADA SoC's trusted boot framework
304           for securely booting images.
305
306 config SECURED_MODE_CSK_INDEX
307         int "Index of active CSK"
308         default 0
309         depends on SECURED_MODE_IMAGE
310
311 source "board/solidrun/clearfog/Kconfig"
312 source "board/kobol/helios4/Kconfig"
313
314 endif