arm: mvebu: turris_omnia: add RESET button handling
[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
95 config TARGET_HELIOS4
96         bool "Support Helios4"
97         select 88F6820
98
99 config TARGET_MVEBU_ARMADA_37XX
100         bool "Support Armada 37xx platforms"
101         select ARMADA_3700
102         imply SCSI
103
104 config TARGET_DB_88F6720
105         bool "Support DB-88F6720 Armada 375"
106         select ARMADA_375
107
108 config TARGET_DB_88F6820_GP
109         bool "Support DB-88F6820-GP"
110         select 88F6820
111
112 config TARGET_DB_88F6820_AMC
113         bool "Support DB-88F6820-AMC"
114         select 88F6820
115
116 config TARGET_TURRIS_OMNIA
117         bool "Support Turris Omnia"
118         select 88F6820
119         select BOARD_LATE_INIT
120         select DM_I2C
121         select I2C_MUX
122         select I2C_MUX_PCA954x
123         select SPL_I2C_MUX
124         select SYS_I2C_MVTWSI
125         select ATSHA204A
126
127 config TARGET_TURRIS_MOX
128         bool "Support Turris Mox"
129         select ARMADA_3700
130
131 config TARGET_MVEBU_ARMADA_8K
132         bool "Support Armada 7k/8k platforms"
133         select ARMADA_8K
134         select BOARD_LATE_INIT
135         imply SCSI
136
137 config TARGET_DB_MV784MP_GP
138         bool "Support db-mv784mp-gp"
139         select MV78460
140
141 config TARGET_DS414
142         bool "Support Synology DS414"
143         select MV78230
144
145 config TARGET_MAXBCM
146         bool "Support maxbcm"
147         select MV78460
148
149 config TARGET_THEADORABLE
150         bool "Support theadorable Armada XP"
151         select BOARD_LATE_INIT if USB
152         select MV78260
153         imply CMD_SATA
154
155 config TARGET_CONTROLCENTERDC
156         bool "Support CONTROLCENTERDC"
157         select 88F6820
158
159 config TARGET_X530
160         bool "Support Allied Telesis x530"
161         select 88F6820
162
163 config TARGET_DB_XC3_24G4XG
164         bool "Support DB-XC3-24G4XG"
165         select 98DX3336
166
167 endchoice
168
169 config SYS_BOARD
170         default "clearfog" if TARGET_CLEARFOG
171         default "helios4" if TARGET_HELIOS4
172         default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
173         default "db-88f6720" if TARGET_DB_88F6720
174         default "db-88f6820-gp" if TARGET_DB_88F6820_GP
175         default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
176         default "turris_omnia" if TARGET_TURRIS_OMNIA
177         default "turris_mox" if TARGET_TURRIS_MOX
178         default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
179         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
180         default "ds414" if TARGET_DS414
181         default "maxbcm" if TARGET_MAXBCM
182         default "theadorable" if TARGET_THEADORABLE
183         default "a38x" if TARGET_CONTROLCENTERDC
184         default "x530" if TARGET_X530
185         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
186
187 config SYS_CONFIG_NAME
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 "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
195         default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
196         default "ds414" if TARGET_DS414
197         default "maxbcm" if TARGET_MAXBCM
198         default "theadorable" if TARGET_THEADORABLE
199         default "turris_omnia" if TARGET_TURRIS_OMNIA
200         default "turris_mox" if TARGET_TURRIS_MOX
201         default "controlcenterdc" if TARGET_CONTROLCENTERDC
202         default "x530" if TARGET_X530
203         default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
204
205 config SYS_VENDOR
206         default "Marvell" if TARGET_DB_MV784MP_GP
207         default "Marvell" if TARGET_MVEBU_ARMADA_37XX
208         default "Marvell" if TARGET_DB_88F6720
209         default "Marvell" if TARGET_DB_88F6820_GP
210         default "Marvell" if TARGET_DB_88F6820_AMC
211         default "Marvell" if TARGET_MVEBU_ARMADA_8K
212         default "Marvell" if TARGET_DB_XC3_24G4XG
213         default "Marvell" if TARGET_MVEBU_DB_88F7040
214         default "solidrun" if TARGET_CLEARFOG
215         default "kobol" if TARGET_HELIOS4
216         default "Synology" if TARGET_DS414
217         default "CZ.NIC" if TARGET_TURRIS_OMNIA
218         default "CZ.NIC" if TARGET_TURRIS_MOX
219         default "gdsys" if TARGET_CONTROLCENTERDC
220         default "alliedtelesis" if TARGET_X530
221
222 config SYS_SOC
223         default "mvebu"
224
225 choice
226         prompt "Boot method"
227
228 config MVEBU_SPL_BOOT_DEVICE_SPI
229         bool "SPI NOR flash"
230
231 config MVEBU_SPL_BOOT_DEVICE_MMC
232         bool "SDIO/MMC card"
233         select SPL_LIBDISK_SUPPORT
234
235 config MVEBU_SPL_BOOT_DEVICE_UART
236         bool "UART"
237
238 endchoice
239
240 config MVEBU_EFUSE
241         bool "Enable eFuse support"
242         default n
243         depends on HAVE_MVEBU_EFUSE
244         help
245           Enable support for reading and writing eFuses on mvebu SoCs.
246
247 config MVEBU_EFUSE_FAKE
248         bool "Fake eFuse access (dry run)"
249         default n
250         depends on MVEBU_EFUSE
251         help
252           This enables a "dry run" mode where eFuses are not really programmed.
253           Instead the eFuse accesses are emulated by writing to and reading
254           from a memory block.
255           This is can be used for testing prog scripts.
256
257 config SECURED_MODE_IMAGE
258         bool "Build image for trusted boot"
259         default false
260         depends on 88F6820
261         help
262           Build an image that employs the ARMADA SoC's trusted boot framework
263           for securely booting images.
264
265 config SECURED_MODE_CSK_INDEX
266         int "Index of active CSK"
267         default 0
268         depends on SECURED_MODE_IMAGE
269
270 endif