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