blob: cf249580d197727c9cd061089b46413bcd30a788 [file] [log] [blame]
Stefan Roesec3d89142015-08-25 13:18:38 +02001if ARCH_MVEBU
2
Mario Sixa1b6b0a2017-01-11 16:01:00 +01003config HAVE_MVEBU_EFUSE
4 bool
Mario Sixa1b6b0a2017-01-11 16:01:00 +01005
Stefan Roesef61aefc2016-05-17 15:00:30 +02006config ARMADA_32BIT
7 bool
Michal Simek58008cb2018-07-23 15:55:15 +02008 select ARCH_MISC_INIT
9 select BOARD_EARLY_INIT_F
Lokesh Vutlaacf15002018-04-26 18:21:26 +053010 select CPU_V7A
Stefan Roese237b6292019-04-11 08:58:32 +020011 select SPL_DM if SPL
12 select SPL_DM_SEQ_ALIAS if SPL
13 select SPL_OF_CONTROL if SPL
Tom Rini7609e022021-10-15 10:54:41 -040014 select SPL_SKIP_LOWLEVEL_INIT if SPL
Stefan Roese237b6292019-04-11 08:58:32 +020015 select SPL_SIMPLE_BUS if SPL
Michal Simek58008cb2018-07-23 15:55:15 +020016 select SUPPORT_SPL
Philip Oberfichtner11168882022-08-17 15:07:12 +020017 select SYS_L2_PL310 if !SYS_L2CACHE_OFF
Stefan Roesef2100f62019-04-12 16:42:28 +020018 select TRANSLATION_OFFSET
Pali Rohár2975bba2022-04-06 16:20:20 +020019 select SPL_SYS_NO_VECTOR_TABLE if SPL
Pali Rohár5bb2c552022-05-06 11:05:14 +020020 select ARCH_VERY_EARLY_INIT
Stefan Roesef61aefc2016-05-17 15:00:30 +020021
Stefan Roesef61aefc2016-05-17 15:00:30 +020022# ARMv7 SoCs...
Stefan Roese606576d2016-01-29 09:14:54 +010023config ARMADA_375
24 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020025 select ARMADA_32BIT
Stefan Roese606576d2016-01-29 09:14:54 +010026
Stefan Roese81e33f42015-12-21 13:56:33 +010027config ARMADA_38X
28 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020029 select ARMADA_32BIT
Mario Sixa1b6b0a2017-01-11 16:01:00 +010030 select HAVE_MVEBU_EFUSE
Stefan Roese81e33f42015-12-21 13:56:33 +010031
Joshua Scott28f0cbc2020-11-09 10:14:08 +130032config ARMADA_38X_HS_IMPEDANCE_THRESH
33 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
34 depends on ARMADA_38X
35 default 0x6
36 range 0x0 0x7
37
Stefan Roese81e33f42015-12-21 13:56:33 +010038config ARMADA_XP
39 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020040 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010041
Stefan Roesef61aefc2016-05-17 15:00:30 +020042# ARMv8 SoCs...
43config ARMADA_3700
44 bool
45 select ARM64
Pali Rohár10154b82022-02-23 14:15:45 +010046 select HAVE_MVEBU_EFUSE
Stefan Roesef61aefc2016-05-17 15:00:30 +020047
Stefan Roese21b29fc2016-05-25 08:13:45 +020048# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
49config ARMADA_8K
50 bool
51 select ARM64
52
Chris Packham7d7bb992022-11-05 17:23:59 +130053config ALLEYCAT_5
54 bool
55 select ARM64
56
Chris Packhama53d97a2016-10-26 14:08:30 +130057# Armada PLL frequency (used for NAND clock generation)
58config SYS_MVEBU_PLL_CLOCK
59 int
Chris Packham0d0df462019-04-11 22:22:50 +120060 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packhama53d97a2016-10-26 14:08:30 +130061 default "1000000000" if ARMADA_38X || ARMADA_375
62
Stefan Roesef61aefc2016-05-17 15:00:30 +020063# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010064config MV78230
65 bool
66 select ARMADA_XP
67
68config MV78260
69 bool
70 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060071 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010072
73config MV78460
74 bool
75 select ARMADA_XP
76
Chris Packham0d0df462019-04-11 22:22:50 +120077config ARMADA_MSYS
78 bool
79 select ARMADA_32BIT
80
81config 98DX4251
82 bool
83 select ARMADA_MSYS
84
85config 98DX3336
86 bool
87 select ARMADA_MSYS
88
89config 98DX3236
90 bool
91 select ARMADA_MSYS
92
Chris Packham53d601f2016-09-22 12:56:13 +120093config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +010094 bool
95 select ARMADA_38X
96
Tom Rini53dbf112022-03-30 18:07:24 -040097config CUSTOMER_BOARD_SUPPORT
98 bool
99
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800100config DDR4
101 bool "Support Marvell DDR4 Training driver"
102
Stefan Roesec3d89142015-08-25 13:18:38 +0200103choice
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300104 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roesec3d89142015-08-25 13:18:38 +0200105 optional
106
Stefan Roese0299c902015-10-20 15:14:47 +0200107config TARGET_CLEARFOG
108 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +1200109 select 88F6820
Baruch Siach867572f2020-01-20 14:20:13 +0200110 select BOARD_LATE_INIT
Stefan Roese0299c902015-10-20 15:14:47 +0200111
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500112config TARGET_HELIOS4
113 bool "Support Helios4"
114 select 88F6820
115
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200116config TARGET_MVEBU_ARMADA_37XX
117 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +0200118 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -0600119 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +0200120
Stefan Roese606576d2016-01-29 09:14:54 +0100121config TARGET_DB_88F6720
122 bool "Support DB-88F6720 Armada 375"
123 select ARMADA_375
124
Stefan Roesec3d89142015-08-25 13:18:38 +0200125config TARGET_DB_88F6820_GP
126 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +1200127 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +0200128
Chris Packhamc0def242016-09-22 12:56:14 +1200129config TARGET_DB_88F6820_AMC
130 bool "Support DB-88F6820-AMC"
131 select 88F6820
132
Marek Behúnb6ee8602017-06-09 19:28:45 +0200133config TARGET_TURRIS_OMNIA
134 bool "Support Turris Omnia"
135 select 88F6820
Marek Behún539f0242019-05-02 16:53:37 +0200136 select BOARD_LATE_INIT
Marek Behún8420edc2019-05-02 16:53:28 +0200137 select DM_I2C
138 select I2C_MUX
139 select I2C_MUX_PCA954x
Marek Behún6d7bfb62021-10-09 19:33:46 +0200140 select SPL_DRIVERS_MISC
Marek Behún8420edc2019-05-02 16:53:28 +0200141 select SPL_I2C_MUX
Marek Behún2c8a4e42021-10-09 19:33:45 +0200142 select SPL_SYS_MALLOC_SIMPLE
Marek Behún8420edc2019-05-02 16:53:28 +0200143 select SYS_I2C_MVTWSI
Marek Behún6b26f3e2019-05-02 16:53:32 +0200144 select ATSHA204A
Marek Behúnb6ee8602017-06-09 19:28:45 +0200145
Marek Behún80af1a92018-04-24 17:21:31 +0200146config TARGET_TURRIS_MOX
147 bool "Support Turris Mox"
148 select ARMADA_3700
149
Stefan Roese633fa0e2016-10-25 10:56:19 +0200150config TARGET_MVEBU_ARMADA_8K
151 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200152 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500153 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600154 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200155
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300156config TARGET_MVEBU_ALLEYCAT5
157 bool "Support AlleyCat 5 platforms"
158 select ALLEYCAT_5
159
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100160config TARGET_OCTEONTX2_CN913x
161 bool "Support CN913x platforms"
162 select ARMADA_8K
163 imply BOARD_EARLY_INIT_R
164 select BOARD_LATE_INIT
165 imply SCSI
166
Stefan Roesec3d89142015-08-25 13:18:38 +0200167config TARGET_DB_MV784MP_GP
168 bool "Support db-mv784mp-gp"
Tom Rinida8592d2022-02-25 11:19:46 -0500169 select BOARD_ECC_SUPPORT
Phil Sutter42902522015-12-25 14:41:22 +0100170 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200171
Tony Dinhb21f87a52023-02-09 14:00:03 -0800172config TARGET_DS116
173 bool "Support Synology DS116"
174 select 88F6820
175
Phil Sutteraefb8f42015-12-25 14:41:25 +0100176config TARGET_DS414
177 bool "Support Synology DS414"
178 select MV78230
179
Stefan Roesec3d89142015-08-25 13:18:38 +0200180config TARGET_MAXBCM
181 bool "Support maxbcm"
Tom Rinida8592d2022-02-25 11:19:46 -0500182 select BOARD_ECC_SUPPORT
Phil Sutter42902522015-12-25 14:41:22 +0100183 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200184
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800185config TARGET_N2350
186 bool "Support Thecus N2350"
187 select 88F6820
188 select DDR4
189
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100190config TARGET_THEADORABLE
191 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500192 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100193 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600194 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100195
Dirk Eibach60083262017-02-22 16:07:23 +0100196config TARGET_CONTROLCENTERDC
197 bool "Support CONTROLCENTERDC"
198 select 88F6820
Tom Rini53dbf112022-03-30 18:07:24 -0400199 select CUSTOMER_BOARD_SUPPORT
Dirk Eibach60083262017-02-22 16:07:23 +0100200
Chris Packham0e316662019-01-10 21:01:00 +1300201config TARGET_X530
202 bool "Support Allied Telesis x530"
203 select 88F6820
204
Chris Packham4db944a2019-04-11 22:22:53 +1200205config TARGET_DB_XC3_24G4XG
206 bool "Support DB-XC3-24G4XG"
207 select 98DX3336
208
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200209config TARGET_CRS3XX_98DX3236
210 bool "Support CRS3XX-98DX3236"
Luka Kovacic22bb9132019-05-07 19:35:55 +0200211 select 98DX3236
212
Stefan Roesec3d89142015-08-25 13:18:38 +0200213endchoice
214
Tom Rini5b527c52021-08-21 13:50:13 -0400215choice
216 prompt "DDR bus width"
217 default DDR_64BIT
218 depends on ARMADA_XP
219
220config DDR_64BIT
221 bool "64bit bus width"
222
223config DDR_32BIT
224 bool "32bit bus width"
225
226endchoice
227
Tom Rinif66a3fd2021-08-21 13:50:15 -0400228config DDR_LOG_LEVEL
229 int "DDR training code log level"
230 depends on ARMADA_XP
231 default 0
232 range 0 3
233 help
234 Amount of information provided on error while running the DDR
235 training code. At level 0, provides an error code in a case of
236 failure, RL, WL errors and other algorithm failure. At level 1,
237 provides the D-Unit setup (SPD/Static configuration). At level 2,
238 provides the windows margin as a results of DQS centeralization.
239 At level 3, rovides the windows margin of each DQ as a results of
240 DQS centeralization.
241
Marek Behún871ee662022-02-17 13:54:42 +0100242config DDR_RESET_ON_TRAINING_FAILURE
243 bool "Reset the board on DDR training failure instead of hanging"
244 depends on ARMADA_38X || ARMADA_XP
245 help
246 If DDR training fails in SPL, reset the board instead of hanging.
247 Some boards are known to fail DDR training occasionally and an
248 immediate reset may be preferable to waiting until the board is
249 reset by watchdog (if there even is one).
250
251 Note that if booting via UART and the DDR training fails, the
252 device will still hang - it doesn't make sense to reset the board
253 in such a case.
254
Tom Rinida8592d2022-02-25 11:19:46 -0500255config BOARD_ECC_SUPPORT
256 bool
257
Stefan Roeseb322c832015-12-21 13:40:37 +0100258config SYS_BOARD
259 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500260 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200261 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100262 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100263 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200264 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200265 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200266 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200267 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100268 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb322c832015-12-21 13:40:37 +0100269 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinhb21f87a52023-02-09 14:00:03 -0800270 default "ds116" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100271 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100272 default "maxbcm" if TARGET_MAXBCM
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800273 default "n2350" if TARGET_N2350
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100274 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300275 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300276 default "x530" if TARGET_X530
Chris Packham4db944a2019-04-11 22:22:53 +1200277 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200278 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300279 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100280
281config SYS_CONFIG_NAME
282 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500283 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200284 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100285 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100286 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200287 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200288 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100289 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb322c832015-12-21 13:40:37 +0100290 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinhb21f87a52023-02-09 14:00:03 -0800291 default "ds116" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100292 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100293 default "maxbcm" if TARGET_MAXBCM
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800294 default "n2350" if TARGET_N2350
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100295 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200296 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200297 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300298 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300299 default "x530" if TARGET_X530
Chris Packham4db944a2019-04-11 22:22:53 +1200300 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200301 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300302 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100303
304config SYS_VENDOR
305 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200306 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100307 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100308 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200309 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200310 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100311 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham4db944a2019-04-11 22:22:53 +1200312 default "Marvell" if TARGET_DB_XC3_24G4XG
313 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb322c832015-12-21 13:40:37 +0100314 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500315 default "kobol" if TARGET_HELIOS4
Tony Dinhb21f87a52023-02-09 14:00:03 -0800316 default "Synology" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100317 default "Synology" if TARGET_DS414
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800318 default "thecus" if TARGET_N2350
Marek Behúnb6ee8602017-06-09 19:28:45 +0200319 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200320 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300321 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300322 default "alliedtelesis" if TARGET_X530
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200323 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300324 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100325
Stefan Roesec3d89142015-08-25 13:18:38 +0200326config SYS_SOC
327 default "mvebu"
328
Marek Behúnb6ee8602017-06-09 19:28:45 +0200329choice
Baruch Siachad105f52018-06-18 21:56:24 +0300330 prompt "Boot method"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600331 depends on SPL
Marek Behúnb6ee8602017-06-09 19:28:45 +0200332
Baruch Siachad105f52018-06-18 21:56:24 +0300333config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behúnb6ee8602017-06-09 19:28:45 +0200334 bool "SPI NOR flash"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600335 imply ENV_IS_IN_SPI_FLASH
Pali Rohár2226ca12021-07-23 11:14:29 +0200336 imply SPL_DM_SPI
337 imply SPL_SPI_FLASH_SUPPORT
338 imply SPL_SPI_LOAD
Simon Glassea2ca7e2021-08-08 12:20:14 -0600339 imply SPL_SPI
Pali Rohár9d0225b2021-07-23 11:14:25 +0200340 select SPL_BOOTROM_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200341
Pali Rohár67bd6152023-01-10 22:55:21 +0100342config MVEBU_SPL_BOOT_DEVICE_NAND
343 bool "NAND flash (SPI or parallel)"
344 select MTD_RAW_NAND
345 select SPL_BOOTROM_SUPPORT
346
Baruch Siachad105f52018-06-18 21:56:24 +0300347config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200348 bool "SDIO/MMC card"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600349 imply ENV_IS_IN_MMC
350 # GPIO needed for eMMC/SD card presence detection
Pali Rohár2226ca12021-07-23 11:14:29 +0200351 imply SPL_DM_GPIO
352 imply SPL_DM_MMC
353 imply SPL_GPIO
354 imply SPL_LIBDISK_SUPPORT
Simon Glass103c5f12021-08-08 12:20:09 -0600355 imply SPL_MMC
Pali Rohár2f27db22023-01-08 13:31:41 +0100356 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Rohár913d7562023-01-09 00:52:09 +0100357 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohár9d0225b2021-07-23 11:14:25 +0200358 select SPL_BOOTROM_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200359
Baruch Siach22c65452019-05-16 13:03:58 +0300360config MVEBU_SPL_BOOT_DEVICE_SATA
361 bool "SATA"
Simon Glassf7560372021-08-08 12:20:17 -0600362 imply SPL_SATA
Pali Rohár2226ca12021-07-23 11:14:29 +0200363 imply SPL_LIBDISK_SUPPORT
Pali Rohár9d0225b2021-07-23 11:14:25 +0200364 select SPL_BOOTROM_SUPPORT
Baruch Siach22c65452019-05-16 13:03:58 +0300365
Baruch Siach72c4e672018-06-18 21:56:26 +0300366config MVEBU_SPL_BOOT_DEVICE_UART
367 bool "UART"
Pali Rohár9d0225b2021-07-23 11:14:25 +0200368 select SPL_BOOTROM_SUPPORT
Baruch Siach72c4e672018-06-18 21:56:26 +0300369
Marek Behúnb6ee8602017-06-09 19:28:45 +0200370endchoice
371
Pali Rohár67bd6152023-01-10 22:55:21 +0100372config MVEBU_SPL_NAND_BADBLK_LOCATION
373 hex "NAND Bad block indicator location"
374 depends on MVEBU_SPL_BOOT_DEVICE_NAND
375 range 0x0 0x1
376 help
377 Value 0x0 = SLC flash = BBI at page 0 or page 1
378 Value 0x1 = MLC flash = BBI at last page in the block
379
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100380config MVEBU_EFUSE
381 bool "Enable eFuse support"
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100382 depends on HAVE_MVEBU_EFUSE
383 help
384 Enable support for reading and writing eFuses on mvebu SoCs.
385
386config MVEBU_EFUSE_FAKE
387 bool "Fake eFuse access (dry run)"
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100388 depends on MVEBU_EFUSE
389 help
390 This enables a "dry run" mode where eFuses are not really programmed.
391 Instead the eFuse accesses are emulated by writing to and reading
392 from a memory block.
393 This is can be used for testing prog scripts.
394
Pali Rohár8092d1d2022-09-22 13:43:45 +0200395config MVEBU_EFUSE_VHV_GPIO
396 string "VHV_Enable GPIO name for eFuse programming"
397 depends on MVEBU_EFUSE && !ARMADA_3700
398 help
399 The eFuse programing (burning) phase requires supplying 1.8V to the
400 device on the VHV power pin, while for normal operation the VHV power
401 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
402 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
403 .
404 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
405
406config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
407 bool "VHV_Enable GPIO is Active Low"
408 depends on MVEBU_EFUSE_VHV_GPIO != ""
409
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100410config SECURED_MODE_IMAGE
411 bool "Build image for trusted boot"
412 default false
413 depends on 88F6820
414 help
415 Build an image that employs the ARMADA SoC's trusted boot framework
416 for securely booting images.
417
418config SECURED_MODE_CSK_INDEX
419 int "Index of active CSK"
420 default 0
421 depends on SECURED_MODE_IMAGE
422
Joel Johnson9f205d62020-03-23 14:21:32 -0600423source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore5a3db5d2020-12-08 21:07:36 -0600424source "board/kobol/helios4/Kconfig"
Joel Johnson9f205d62020-03-23 14:21:32 -0600425
Stefan Roesec3d89142015-08-25 13:18:38 +0200426endif