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