Merge tag 'u-boot-stm32-20211012' of https://source.denx.de/u-boot/custodians/u-boot-stm
[platform/kernel/u-boot.git] / arch / arm / mach-mvebu / Kconfig
1 if ARCH_MVEBU
2
3 config HAVE_MVEBU_EFUSE
4         bool
5
6 config ARMADA_32BIT
7         bool
8         select ARCH_MISC_INIT
9         select BOARD_EARLY_INIT_F
10         select CPU_V7A
11         select SPL_DM if SPL
12         select SPL_DM_SEQ_ALIAS if SPL
13         select SPL_OF_CONTROL if SPL
14         select SPL_SKIP_LOWLEVEL_INIT
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 choice
188         prompt "DDR bus width"
189         default DDR_64BIT
190         depends on ARMADA_XP
191
192 config DDR_64BIT
193         bool "64bit bus width"
194
195 config DDR_32BIT
196         bool "32bit bus width"
197
198 endchoice
199
200 config DDR_LOG_LEVEL
201         int "DDR training code log level"
202         depends on ARMADA_XP
203         default 0
204         range 0 3
205         help
206           Amount of information provided on error while running the DDR
207           training code.  At level 0, provides an error code in a case of
208           failure, RL, WL errors and other algorithm failure.  At level 1,
209           provides the D-Unit setup (SPD/Static configuration).  At level 2,
210           provides the windows margin as a results of DQS centeralization.
211           At level 3, rovides the windows margin of each DQ as a results of
212           DQS centeralization.
213
214 config SYS_BOARD
215         default "clearfog" if TARGET_CLEARFOG
216         default "helios4" if TARGET_HELIOS4
217         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
218         default "db-88f6720" if TARGET_DB_88F6720
219         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
220         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
221         default "turris_omnia" if TARGET_TURRIS_OMNIA
222         default "turris_mox" if TARGET_TURRIS_MOX
223         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
224         default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
225         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
226         default "ds414" if TARGET_DS414
227         default "maxbcm" if TARGET_MAXBCM
228         default "theadorable" if TARGET_THEADORABLE
229         default "a38x" if TARGET_CONTROLCENTERDC
230         default "x530" if TARGET_X530
231         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
232         default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
233
234 config SYS_CONFIG_NAME
235         default "clearfog" if TARGET_CLEARFOG
236         default "helios4" if TARGET_HELIOS4
237         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
238         default "db-88f6720" if TARGET_DB_88F6720
239         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
240         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
241         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
242         default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
243         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
244         default "ds414" if TARGET_DS414
245         default "maxbcm" if TARGET_MAXBCM
246         default "theadorable" if TARGET_THEADORABLE
247         default "turris_omnia" if TARGET_TURRIS_OMNIA
248         default "turris_mox" if TARGET_TURRIS_MOX
249         default "controlcenterdc" if TARGET_CONTROLCENTERDC
250         default "x530" if TARGET_X530
251         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
252         default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
253
254 config SYS_VENDOR
255         default "Marvell" if TARGET_DB_MV784MP_GP
256         default "Marvell" if TARGET_MVEBU_ARMADA_37XX
257         default "Marvell" if TARGET_DB_88F6720
258         default "Marvell" if TARGET_DB_88F6820_GP
259         default "Marvell" if TARGET_DB_88F6820_AMC
260         default "Marvell" if TARGET_MVEBU_ARMADA_8K
261         default "Marvell" if TARGET_OCTEONTX2_CN913x
262         default "Marvell" if TARGET_DB_XC3_24G4XG
263         default "Marvell" if TARGET_MVEBU_DB_88F7040
264         default "solidrun" if TARGET_CLEARFOG
265         default "kobol" if TARGET_HELIOS4
266         default "Synology" if TARGET_DS414
267         default "CZ.NIC" if TARGET_TURRIS_OMNIA
268         default "CZ.NIC" if TARGET_TURRIS_MOX
269         default "gdsys" if TARGET_CONTROLCENTERDC
270         default "alliedtelesis" if TARGET_X530
271         default "mikrotik" if TARGET_CRS3XX_98DX3236
272
273 config SYS_SOC
274         default "mvebu"
275
276 choice
277         prompt "Boot method"
278         depends on SPL
279
280 config MVEBU_SPL_BOOT_DEVICE_SPI
281         bool "SPI NOR flash"
282         imply ENV_IS_IN_SPI_FLASH
283         imply SPL_DM_SPI
284         imply SPL_SPI_FLASH_SUPPORT
285         imply SPL_SPI_LOAD
286         imply SPL_SPI
287         select SPL_BOOTROM_SUPPORT
288
289 config MVEBU_SPL_BOOT_DEVICE_MMC
290         bool "SDIO/MMC card"
291         imply ENV_IS_IN_MMC
292         # GPIO needed for eMMC/SD card presence detection
293         imply SPL_DM_GPIO
294         imply SPL_DM_MMC
295         imply SPL_GPIO
296         imply SPL_LIBDISK_SUPPORT
297         imply SPL_MMC
298         select SPL_BOOTROM_SUPPORT
299
300 config MVEBU_SPL_BOOT_DEVICE_SATA
301         bool "SATA"
302         imply SPL_SATA
303         imply SPL_LIBDISK_SUPPORT
304         select SPL_BOOTROM_SUPPORT
305
306 config MVEBU_SPL_BOOT_DEVICE_UART
307         bool "UART"
308         select SPL_BOOTROM_SUPPORT
309
310 endchoice
311
312 config MVEBU_EFUSE
313         bool "Enable eFuse support"
314         depends on HAVE_MVEBU_EFUSE
315         help
316           Enable support for reading and writing eFuses on mvebu SoCs.
317
318 config MVEBU_EFUSE_FAKE
319         bool "Fake eFuse access (dry run)"
320         depends on MVEBU_EFUSE
321         help
322           This enables a "dry run" mode where eFuses are not really programmed.
323           Instead the eFuse accesses are emulated by writing to and reading
324           from a memory block.
325           This is can be used for testing prog scripts.
326
327 config SECURED_MODE_IMAGE
328         bool "Build image for trusted boot"
329         default false
330         depends on 88F6820
331         help
332           Build an image that employs the ARMADA SoC's trusted boot framework
333           for securely booting images.
334
335 config SECURED_MODE_CSK_INDEX
336         int "Index of active CSK"
337         default 0
338         depends on SECURED_MODE_IMAGE
339
340 source "board/solidrun/clearfog/Kconfig"
341 source "board/kobol/helios4/Kconfig"
342
343 endif