1if ARCH_MVEBU
2
3config HAVE_MVEBU_EFUSE
4 bool
5
6config 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
19config ARMADA_64BIT
20 bool
21 select ARM64
22
23
24config ARMADA_375
25 bool
26 select ARMADA_32BIT
27
28config ARMADA_38X
29 bool
30 select ARMADA_32BIT
31 select HAVE_MVEBU_EFUSE
32
33config 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
39config ARMADA_XP
40 bool
41 select ARMADA_32BIT
42
43
44config ARMADA_3700
45 bool
46 select ARM64
47
48
49config ARMADA_8K
50 bool
51 select ARM64
52
53
54config 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
60config MV78230
61 bool
62 select ARMADA_XP
63
64config MV78260
65 bool
66 select ARMADA_XP
67 imply CMD_SATA
68
69config MV78460
70 bool
71 select ARMADA_XP
72
73config ARMADA_MSYS
74 bool
75 select ARMADA_32BIT
76
77config 98DX4251
78 bool
79 select ARMADA_MSYS
80
81config 98DX3336
82 bool
83 select ARMADA_MSYS
84
85config 98DX3236
86 bool
87 select ARMADA_MSYS
88
89config 88F6820
90 bool
91 select ARMADA_38X
92
93choice
94 prompt "Armada XP/375/38x/3700/7K/8K board select"
95 optional
96
97config TARGET_CLEARFOG
98 bool "Support ClearFog"
99 select 88F6820
100 select BOARD_LATE_INIT
101
102config TARGET_HELIOS4
103 bool "Support Helios4"
104 select 88F6820
105
106config TARGET_MVEBU_ARMADA_37XX
107 bool "Support Armada 37xx platforms"
108 select ARMADA_3700
109 imply SCSI
110
111config TARGET_DB_88F6720
112 bool "Support DB-88F6720 Armada 375"
113 select ARMADA_375
114
115config TARGET_DB_88F6820_GP
116 bool "Support DB-88F6820-GP"
117 select 88F6820
118
119config TARGET_DB_88F6820_AMC
120 bool "Support DB-88F6820-AMC"
121 select 88F6820
122
123config 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
136config TARGET_TURRIS_MOX
137 bool "Support Turris Mox"
138 select ARMADA_3700
139
140config TARGET_MVEBU_ARMADA_8K
141 bool "Support Armada 7k/8k platforms"
142 select ARMADA_8K
143 select BOARD_LATE_INIT
144 imply SCSI
145
146config 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
153config TARGET_DB_MV784MP_GP
154 bool "Support db-mv784mp-gp"
155 select MV78460
156
157config TARGET_DS414
158 bool "Support Synology DS414"
159 select MV78230
160
161config TARGET_MAXBCM
162 bool "Support maxbcm"
163 select MV78460
164
165config TARGET_THEADORABLE
166 bool "Support theadorable Armada XP"
167 select BOARD_LATE_INIT if USB
168 select MV78260
169 imply CMD_SATA
170
171config TARGET_CONTROLCENTERDC
172 bool "Support CONTROLCENTERDC"
173 select 88F6820
174
175config TARGET_X530
176 bool "Support Allied Telesis x530"
177 select 88F6820
178
179config TARGET_DB_XC3_24G4XG
180 bool "Support DB-XC3-24G4XG"
181 select 98DX3336
182
183config TARGET_CRS3XX_98DX3236
184 bool "Support CRS3XX-98DX3236"
185 select 98DX3236
186
187endchoice
188
189choice
190 prompt "DDR bus width"
191 default DDR_64BIT
192 depends on ARMADA_XP
193
194config DDR_64BIT
195 bool "64bit bus width"
196
197config DDR_32BIT
198 bool "32bit bus width"
199
200endchoice
201
202config 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
216config SYS_BOARD
217 default "clearfog" if TARGET_CLEARFOG
218 default "helios4" if TARGET_HELIOS4
219 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
220 default "db-88f6720" if TARGET_DB_88F6720
221 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
222 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
223 default "turris_omnia" if TARGET_TURRIS_OMNIA
224 default "turris_mox" if TARGET_TURRIS_MOX
225 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
226 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
227 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
228 default "ds414" if TARGET_DS414
229 default "maxbcm" if TARGET_MAXBCM
230 default "theadorable" if TARGET_THEADORABLE
231 default "a38x" if TARGET_CONTROLCENTERDC
232 default "x530" if TARGET_X530
233 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
234 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
235
236config SYS_CONFIG_NAME
237 default "clearfog" if TARGET_CLEARFOG
238 default "helios4" if TARGET_HELIOS4
239 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
240 default "db-88f6720" if TARGET_DB_88F6720
241 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
242 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
243 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
244 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
245 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
246 default "ds414" if TARGET_DS414
247 default "maxbcm" if TARGET_MAXBCM
248 default "theadorable" if TARGET_THEADORABLE
249 default "turris_omnia" if TARGET_TURRIS_OMNIA
250 default "turris_mox" if TARGET_TURRIS_MOX
251 default "controlcenterdc" if TARGET_CONTROLCENTERDC
252 default "x530" if TARGET_X530
253 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
254 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
255
256config SYS_VENDOR
257 default "Marvell" if TARGET_DB_MV784MP_GP
258 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
259 default "Marvell" if TARGET_DB_88F6720
260 default "Marvell" if TARGET_DB_88F6820_GP
261 default "Marvell" if TARGET_DB_88F6820_AMC
262 default "Marvell" if TARGET_MVEBU_ARMADA_8K
263 default "Marvell" if TARGET_OCTEONTX2_CN913x
264 default "Marvell" if TARGET_DB_XC3_24G4XG
265 default "Marvell" if TARGET_MVEBU_DB_88F7040
266 default "solidrun" if TARGET_CLEARFOG
267 default "kobol" if TARGET_HELIOS4
268 default "Synology" if TARGET_DS414
269 default "CZ.NIC" if TARGET_TURRIS_OMNIA
270 default "CZ.NIC" if TARGET_TURRIS_MOX
271 default "gdsys" if TARGET_CONTROLCENTERDC
272 default "alliedtelesis" if TARGET_X530
273 default "mikrotik" if TARGET_CRS3XX_98DX3236
274
275config SYS_SOC
276 default "mvebu"
277
278choice
279 prompt "Boot method"
280 depends on SPL
281
282config MVEBU_SPL_BOOT_DEVICE_SPI
283 bool "SPI NOR flash"
284 imply ENV_IS_IN_SPI_FLASH
285 imply SPL_DM_SPI
286 imply SPL_SPI_FLASH_SUPPORT
287 imply SPL_SPI_LOAD
288 imply SPL_SPI
289 select SPL_BOOTROM_SUPPORT
290
291config MVEBU_SPL_BOOT_DEVICE_MMC
292 bool "SDIO/MMC card"
293 imply ENV_IS_IN_MMC
294
295 imply SPL_DM_GPIO
296 imply SPL_DM_MMC
297 imply SPL_GPIO
298 imply SPL_LIBDISK_SUPPORT
299 imply SPL_MMC
300 select SPL_BOOTROM_SUPPORT
301
302config MVEBU_SPL_BOOT_DEVICE_SATA
303 bool "SATA"
304 imply SPL_SATA
305 imply SPL_LIBDISK_SUPPORT
306 select SPL_BOOTROM_SUPPORT
307
308config MVEBU_SPL_BOOT_DEVICE_UART
309 bool "UART"
310 select SPL_BOOTROM_SUPPORT
311
312endchoice
313
314config MVEBU_EFUSE
315 bool "Enable eFuse support"
316 depends on HAVE_MVEBU_EFUSE
317 help
318 Enable support for reading and writing eFuses on mvebu SoCs.
319
320config MVEBU_EFUSE_FAKE
321 bool "Fake eFuse access (dry run)"
322 depends on MVEBU_EFUSE
323 help
324 This enables a "dry run" mode where eFuses are not really programmed.
325 Instead the eFuse accesses are emulated by writing to and reading
326 from a memory block.
327 This is can be used for testing prog scripts.
328
329config SECURED_MODE_IMAGE
330 bool "Build image for trusted boot"
331 default false
332 depends on 88F6820
333 help
334 Build an image that employs the ARMADA SoC's trusted boot framework
335 for securely booting images.
336
337config SECURED_MODE_CSK_INDEX
338 int "Index of active CSK"
339 default 0
340 depends on SECURED_MODE_IMAGE
341
342source "board/solidrun/clearfog/Kconfig"
343source "board/kobol/helios4/Kconfig"
344
345endif
346