arm64: zynqmp: Add pinctrl emmc description to SM-K26
[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 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_DRIVERS_MISC
131         select SPL_I2C_MUX
132         select SPL_SYS_MALLOC_SIMPLE
133         select SYS_I2C_MVTWSI
134         select ATSHA204A
135
136 config TARGET_TURRIS_MOX
137         bool "Support Turris Mox"
138         select ARMADA_3700
139
140 config TARGET_MVEBU_ARMADA_8K
141         bool "Support Armada 7k/8k platforms"
142         select ARMADA_8K
143         select BOARD_LATE_INIT
144         imply SCSI
145
146 config TARGET_OCTEONTX2_CN913x
147         bool "Support CN913x platforms"
148         select ARMADA_8K
149         imply BOARD_EARLY_INIT_R
150         select BOARD_LATE_INIT
151         imply SCSI
152
153 config TARGET_DB_MV784MP_GP
154         bool "Support db-mv784mp-gp"
155         select MV78460
156
157 config TARGET_DS414
158         bool "Support Synology DS414"
159         select MV78230
160
161 config TARGET_MAXBCM
162         bool "Support maxbcm"
163         select MV78460
164
165 config TARGET_THEADORABLE
166         bool "Support theadorable Armada XP"
167         select BOARD_LATE_INIT if USB
168         select MV78260
169         imply CMD_SATA
170
171 config TARGET_CONTROLCENTERDC
172         bool "Support CONTROLCENTERDC"
173         select 88F6820
174
175 config TARGET_X530
176         bool "Support Allied Telesis x530"
177         select 88F6820
178
179 config TARGET_DB_XC3_24G4XG
180         bool "Support DB-XC3-24G4XG"
181         select 98DX3336
182
183 config TARGET_CRS3XX_98DX3236
184         bool "Support CRS3XX-98DX3236"
185         select 98DX3236
186
187 endchoice
188
189 choice
190         prompt "DDR bus width"
191         default DDR_64BIT
192         depends on ARMADA_XP
193
194 config DDR_64BIT
195         bool "64bit bus width"
196
197 config DDR_32BIT
198         bool "32bit bus width"
199
200 endchoice
201
202 config DDR_LOG_LEVEL
203         int "DDR training code log level"
204         depends on ARMADA_XP
205         default 0
206         range 0 3
207         help
208           Amount of information provided on error while running the DDR
209           training code.  At level 0, provides an error code in a case of
210           failure, RL, WL errors and other algorithm failure.  At level 1,
211           provides the D-Unit setup (SPD/Static configuration).  At level 2,
212           provides the windows margin as a results of DQS centeralization.
213           At level 3, rovides the windows margin of each DQ as a results of
214           DQS centeralization.
215
216 config DDR_RESET_ON_TRAINING_FAILURE
217         bool "Reset the board on DDR training failure instead of hanging"
218         depends on ARMADA_38X || ARMADA_XP
219         help
220           If DDR training fails in SPL, reset the board instead of hanging.
221           Some boards are known to fail DDR training occasionally and an
222           immediate reset may be preferable to waiting until the board is
223           reset by watchdog (if there even is one).
224
225           Note that if booting via UART and the DDR training fails, the
226           device will still hang - it doesn't make sense to reset the board
227           in such a case.
228
229 config SYS_BOARD
230         default "clearfog" if TARGET_CLEARFOG
231         default "helios4" if TARGET_HELIOS4
232         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
233         default "db-88f6720" if TARGET_DB_88F6720
234         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
235         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
236         default "turris_omnia" if TARGET_TURRIS_OMNIA
237         default "turris_mox" if TARGET_TURRIS_MOX
238         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
239         default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
240         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
241         default "ds414" if TARGET_DS414
242         default "maxbcm" if TARGET_MAXBCM
243         default "theadorable" if TARGET_THEADORABLE
244         default "a38x" if TARGET_CONTROLCENTERDC
245         default "x530" if TARGET_X530
246         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
247         default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
248
249 config SYS_CONFIG_NAME
250         default "clearfog" if TARGET_CLEARFOG
251         default "helios4" if TARGET_HELIOS4
252         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
253         default "db-88f6720" if TARGET_DB_88F6720
254         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
255         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
256         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
257         default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
258         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
259         default "ds414" if TARGET_DS414
260         default "maxbcm" if TARGET_MAXBCM
261         default "theadorable" if TARGET_THEADORABLE
262         default "turris_omnia" if TARGET_TURRIS_OMNIA
263         default "turris_mox" if TARGET_TURRIS_MOX
264         default "controlcenterdc" if TARGET_CONTROLCENTERDC
265         default "x530" if TARGET_X530
266         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
267         default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
268
269 config SYS_VENDOR
270         default "Marvell" if TARGET_DB_MV784MP_GP
271         default "Marvell" if TARGET_MVEBU_ARMADA_37XX
272         default "Marvell" if TARGET_DB_88F6720
273         default "Marvell" if TARGET_DB_88F6820_GP
274         default "Marvell" if TARGET_DB_88F6820_AMC
275         default "Marvell" if TARGET_MVEBU_ARMADA_8K
276         default "Marvell" if TARGET_OCTEONTX2_CN913x
277         default "Marvell" if TARGET_DB_XC3_24G4XG
278         default "Marvell" if TARGET_MVEBU_DB_88F7040
279         default "solidrun" if TARGET_CLEARFOG
280         default "kobol" if TARGET_HELIOS4
281         default "Synology" if TARGET_DS414
282         default "CZ.NIC" if TARGET_TURRIS_OMNIA
283         default "CZ.NIC" if TARGET_TURRIS_MOX
284         default "gdsys" if TARGET_CONTROLCENTERDC
285         default "alliedtelesis" if TARGET_X530
286         default "mikrotik" if TARGET_CRS3XX_98DX3236
287
288 config SYS_SOC
289         default "mvebu"
290
291 choice
292         prompt "Boot method"
293         depends on SPL
294
295 config MVEBU_SPL_BOOT_DEVICE_SPI
296         bool "SPI NOR flash"
297         imply ENV_IS_IN_SPI_FLASH
298         imply SPL_DM_SPI
299         imply SPL_SPI_FLASH_SUPPORT
300         imply SPL_SPI_LOAD
301         imply SPL_SPI
302         select SPL_BOOTROM_SUPPORT
303
304 config MVEBU_SPL_BOOT_DEVICE_MMC
305         bool "SDIO/MMC card"
306         imply ENV_IS_IN_MMC
307         # GPIO needed for eMMC/SD card presence detection
308         imply SPL_DM_GPIO
309         imply SPL_DM_MMC
310         imply SPL_GPIO
311         imply SPL_LIBDISK_SUPPORT
312         imply SPL_MMC
313         select SPL_BOOTROM_SUPPORT
314
315 config MVEBU_SPL_BOOT_DEVICE_SATA
316         bool "SATA"
317         imply SPL_SATA
318         imply SPL_LIBDISK_SUPPORT
319         select SPL_BOOTROM_SUPPORT
320
321 config MVEBU_SPL_BOOT_DEVICE_UART
322         bool "UART"
323         select SPL_BOOTROM_SUPPORT
324
325 endchoice
326
327 config MVEBU_EFUSE
328         bool "Enable eFuse support"
329         depends on HAVE_MVEBU_EFUSE
330         help
331           Enable support for reading and writing eFuses on mvebu SoCs.
332
333 config MVEBU_EFUSE_FAKE
334         bool "Fake eFuse access (dry run)"
335         depends on MVEBU_EFUSE
336         help
337           This enables a "dry run" mode where eFuses are not really programmed.
338           Instead the eFuse accesses are emulated by writing to and reading
339           from a memory block.
340           This is can be used for testing prog scripts.
341
342 config SECURED_MODE_IMAGE
343         bool "Build image for trusted boot"
344         default false
345         depends on 88F6820
346         help
347           Build an image that employs the ARMADA SoC's trusted boot framework
348           for securely booting images.
349
350 config SECURED_MODE_CSK_INDEX
351         int "Index of active CSK"
352         default 0
353         depends on SECURED_MODE_IMAGE
354
355 source "board/solidrun/clearfog/Kconfig"
356 source "board/kobol/helios4/Kconfig"
357
358 endif