blob: c1a1a333e6c99187c9443243b42d06b18a3e4c57 [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 BOARD_EARLY_INIT_F
Lokesh Vutlaacf15002018-04-26 18:21:26 +05309 select CPU_V7A
Stefan Roese237b6292019-04-11 08:58:32 +020010 select SPL_DM if SPL
11 select SPL_DM_SEQ_ALIAS if SPL
12 select SPL_OF_CONTROL if SPL
Tom Rini7609e022021-10-15 10:54:41 -040013 select SPL_SKIP_LOWLEVEL_INIT if SPL
Stefan Roese237b6292019-04-11 08:58:32 +020014 select SPL_SIMPLE_BUS if SPL
Michal Simek58008cb2018-07-23 15:55:15 +020015 select SUPPORT_SPL
Philip Oberfichtner11168882022-08-17 15:07:12 +020016 select SYS_L2_PL310 if !SYS_L2CACHE_OFF
Stefan Roesef2100f62019-04-12 16:42:28 +020017 select TRANSLATION_OFFSET
Alexander Dahlb646a102023-12-21 08:26:10 +010018 select TOOLS_KWBIMAGE if SPL
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
Marek Behún383969d2024-04-04 09:50:59 +020021 select ARMADA_32BIT_SYSCON_RESET if DM_RESET && PCI_MVEBU
Marek Behún0c350a62024-04-04 09:51:00 +020022 select ARMADA_32BIT_SYSCON_SYSRESET if SYSRESET
Stefan Roesef61aefc2016-05-17 15:00:30 +020023
Stefan Roesef61aefc2016-05-17 15:00:30 +020024# ARMv7 SoCs...
Stefan Roese606576d2016-01-29 09:14:54 +010025config ARMADA_375
26 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020027 select ARMADA_32BIT
Stefan Roese606576d2016-01-29 09:14:54 +010028
Stefan Roese81e33f42015-12-21 13:56:33 +010029config ARMADA_38X
30 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020031 select ARMADA_32BIT
Mario Sixa1b6b0a2017-01-11 16:01:00 +010032 select HAVE_MVEBU_EFUSE
Stefan Roese81e33f42015-12-21 13:56:33 +010033
Joshua Scott28f0cbc2020-11-09 10:14:08 +130034config ARMADA_38X_HS_IMPEDANCE_THRESH
35 hex "Armada 38x USB 2.0 High-Speed Impedance Threshold (0x0 - 0x7)"
36 depends on ARMADA_38X
37 default 0x6
38 range 0x0 0x7
39
Marek Behúnaff4ea12024-06-18 17:34:38 +020040config ARMADA_38X_SUPPORT_OLD_DDR3_TRAINING
41 bool
42 depends on ARMADA_38X
43
Stefan Roese81e33f42015-12-21 13:56:33 +010044config ARMADA_XP
45 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020046 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010047
Stefan Roesef61aefc2016-05-17 15:00:30 +020048# ARMv8 SoCs...
49config ARMADA_3700
50 bool
51 select ARM64
Pali Rohár10154b82022-02-23 14:15:45 +010052 select HAVE_MVEBU_EFUSE
Stefan Roesef61aefc2016-05-17 15:00:30 +020053
Stefan Roese21b29fc2016-05-25 08:13:45 +020054# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
55config ARMADA_8K
56 bool
57 select ARM64
58
Chris Packham7d7bb992022-11-05 17:23:59 +130059config ALLEYCAT_5
60 bool
61 select ARM64
62
Chris Packhama53d97a2016-10-26 14:08:30 +130063# Armada PLL frequency (used for NAND clock generation)
64config SYS_MVEBU_PLL_CLOCK
65 int
Chris Packham0d0df462019-04-11 22:22:50 +120066 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packhama53d97a2016-10-26 14:08:30 +130067 default "1000000000" if ARMADA_38X || ARMADA_375
68
Stefan Roesef61aefc2016-05-17 15:00:30 +020069# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010070config MV78230
71 bool
72 select ARMADA_XP
73
74config MV78260
75 bool
76 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060077 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010078
79config MV78460
80 bool
81 select ARMADA_XP
82
Chris Packham0d0df462019-04-11 22:22:50 +120083config ARMADA_MSYS
84 bool
85 select ARMADA_32BIT
86
87config 98DX4251
88 bool
89 select ARMADA_MSYS
90
91config 98DX3336
92 bool
93 select ARMADA_MSYS
94
95config 98DX3236
96 bool
97 select ARMADA_MSYS
98
Chris Packham53d601f2016-09-22 12:56:13 +120099config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +0100100 bool
101 select ARMADA_38X
102
Tom Rini53dbf112022-03-30 18:07:24 -0400103config CUSTOMER_BOARD_SUPPORT
104 bool
105
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800106config DDR4
107 bool "Support Marvell DDR4 Training driver"
108
Stefan Roesec3d89142015-08-25 13:18:38 +0200109choice
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300110 prompt "Armada XP/375/38x/3700/7K/8K/Alleycat-5 board select"
Stefan Roesec3d89142015-08-25 13:18:38 +0200111 optional
112
Stefan Roese0299c902015-10-20 15:14:47 +0200113config TARGET_CLEARFOG
114 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +1200115 select 88F6820
Baruch Siach867572f2020-01-20 14:20:13 +0200116 select BOARD_LATE_INIT
Martin Rowec733fe92023-03-27 21:24:09 +1000117 select OF_BOARD_SETUP
Stefan Roese0299c902015-10-20 15:14:47 +0200118
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500119config TARGET_HELIOS4
120 bool "Support Helios4"
121 select 88F6820
122
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200123config TARGET_MVEBU_ARMADA_37XX
124 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +0200125 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -0600126 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +0200127
Stefan Roese606576d2016-01-29 09:14:54 +0100128config TARGET_DB_88F6720
129 bool "Support DB-88F6720 Armada 375"
130 select ARMADA_375
131
Stefan Roesec3d89142015-08-25 13:18:38 +0200132config TARGET_DB_88F6820_GP
133 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +1200134 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +0200135
Chris Packhamc0def242016-09-22 12:56:14 +1200136config TARGET_DB_88F6820_AMC
137 bool "Support DB-88F6820-AMC"
138 select 88F6820
139
Marek Behúnb6ee8602017-06-09 19:28:45 +0200140config TARGET_TURRIS_OMNIA
141 bool "Support Turris Omnia"
142 select 88F6820
Marek Behún539f0242019-05-02 16:53:37 +0200143 select BOARD_LATE_INIT
Marek Behún8420edc2019-05-02 16:53:28 +0200144 select DM_I2C
145 select I2C_MUX
146 select I2C_MUX_PCA954x
Marek Behún6d7bfb62021-10-09 19:33:46 +0200147 select SPL_DRIVERS_MISC
Marek Behún8420edc2019-05-02 16:53:28 +0200148 select SPL_I2C_MUX
Marek Behún2c8a4e42021-10-09 19:33:45 +0200149 select SPL_SYS_MALLOC_SIMPLE
Marek Behún8420edc2019-05-02 16:53:28 +0200150 select SYS_I2C_MVTWSI
Marek Behún6b26f3e2019-05-02 16:53:32 +0200151 select ATSHA204A
Marek Behúnc9da2412024-08-29 10:08:48 +0200152 select I2C_EEPROM
Marek Behúnaec83262024-06-18 17:34:39 +0200153 select ARMADA_38X_SUPPORT_OLD_DDR3_TRAINING
Marek Behúnb6ee8602017-06-09 19:28:45 +0200154
Marek Behún80af1a92018-04-24 17:21:31 +0200155config TARGET_TURRIS_MOX
Marek Behún94c0f0b2023-10-20 16:29:16 +0200156 bool "Support CZ.NIC's Turris Mox / RIPE Atlas Probe"
Marek Behún80af1a92018-04-24 17:21:31 +0200157 select ARMADA_3700
Marek Behún94c0f0b2023-10-20 16:29:16 +0200158 select BOARD_TYPES
159 select ENV_IS_IN_MMC
160 select ENV_IS_IN_SPI_FLASH
161 select MULTI_DTB_FIT
Marek Behún80af1a92018-04-24 17:21:31 +0200162
Stefan Roese633fa0e2016-10-25 10:56:19 +0200163config TARGET_MVEBU_ARMADA_8K
164 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200165 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500166 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600167 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200168
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300169config TARGET_MVEBU_ALLEYCAT5
170 bool "Support AlleyCat 5 platforms"
171 select ALLEYCAT_5
172
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100173config TARGET_OCTEONTX2_CN913x
174 bool "Support CN913x platforms"
175 select ARMADA_8K
176 imply BOARD_EARLY_INIT_R
177 select BOARD_LATE_INIT
178 imply SCSI
179
Stefan Roesec3d89142015-08-25 13:18:38 +0200180config TARGET_DB_MV784MP_GP
181 bool "Support db-mv784mp-gp"
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 Dinhb21f87a52023-02-09 14:00:03 -0800185config TARGET_DS116
186 bool "Support Synology DS116"
187 select 88F6820
188
Phil Sutteraefb8f42015-12-25 14:41:25 +0100189config TARGET_DS414
190 bool "Support Synology DS414"
191 select MV78230
192
Stefan Roesec3d89142015-08-25 13:18:38 +0200193config TARGET_MAXBCM
194 bool "Support maxbcm"
Tom Rinida8592d2022-02-25 11:19:46 -0500195 select BOARD_ECC_SUPPORT
Phil Sutter42902522015-12-25 14:41:22 +0100196 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200197
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800198config TARGET_N2350
199 bool "Support Thecus N2350"
200 select 88F6820
201 select DDR4
202
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100203config TARGET_THEADORABLE
204 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500205 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100206 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600207 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100208
Dirk Eibach60083262017-02-22 16:07:23 +0100209config TARGET_CONTROLCENTERDC
210 bool "Support CONTROLCENTERDC"
211 select 88F6820
Tom Rini53dbf112022-03-30 18:07:24 -0400212 select CUSTOMER_BOARD_SUPPORT
Dirk Eibach60083262017-02-22 16:07:23 +0100213
Chris Packham0e316662019-01-10 21:01:00 +1300214config TARGET_X530
215 bool "Support Allied Telesis x530"
216 select 88F6820
217
Chris Packham4c97c4b2023-07-10 10:47:36 +1200218config TARGET_X240
219 bool "Support Allied Telesis x240"
220 select ALLEYCAT_5
221
Chris Packham4db944a2019-04-11 22:22:53 +1200222config TARGET_DB_XC3_24G4XG
223 bool "Support DB-XC3-24G4XG"
224 select 98DX3336
225
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200226config TARGET_CRS3XX_98DX3236
227 bool "Support CRS3XX-98DX3236"
Luka Kovacic22bb9132019-05-07 19:35:55 +0200228 select 98DX3236
229
Stefan Roesec3d89142015-08-25 13:18:38 +0200230endchoice
231
Tom Rini5b527c52021-08-21 13:50:13 -0400232choice
233 prompt "DDR bus width"
234 default DDR_64BIT
235 depends on ARMADA_XP
236
237config DDR_64BIT
238 bool "64bit bus width"
239
240config DDR_32BIT
241 bool "32bit bus width"
242
243endchoice
244
Tom Rinif66a3fd2021-08-21 13:50:15 -0400245config DDR_LOG_LEVEL
246 int "DDR training code log level"
247 depends on ARMADA_XP
248 default 0
249 range 0 3
250 help
251 Amount of information provided on error while running the DDR
252 training code. At level 0, provides an error code in a case of
253 failure, RL, WL errors and other algorithm failure. At level 1,
254 provides the D-Unit setup (SPD/Static configuration). At level 2,
255 provides the windows margin as a results of DQS centeralization.
256 At level 3, rovides the windows margin of each DQ as a results of
257 DQS centeralization.
258
Marek Behún259556e2024-06-18 17:34:28 +0200259config DDR_IMMUTABLE_DEBUG_SETTINGS
260 bool "Immutable DDR debug level (always DEBUG_LEVEL_ERROR)"
261 depends on ARMADA_38X
262 help
263 Makes the DDR training code debug level settings immutable.
264 The debug level setting from board topology definition is ignored.
265 The debug level is always set to DEBUG_LEVEL_ERROR and register
266 dumps are disabled.
267 This can save around 10 KiB of space in SPL binary.
268
Marek Behún871ee662022-02-17 13:54:42 +0100269config DDR_RESET_ON_TRAINING_FAILURE
270 bool "Reset the board on DDR training failure instead of hanging"
271 depends on ARMADA_38X || ARMADA_XP
272 help
273 If DDR training fails in SPL, reset the board instead of hanging.
274 Some boards are known to fail DDR training occasionally and an
275 immediate reset may be preferable to waiting until the board is
276 reset by watchdog (if there even is one).
277
278 Note that if booting via UART and the DDR training fails, the
279 device will still hang - it doesn't make sense to reset the board
280 in such a case.
281
Tom Rinida8592d2022-02-25 11:19:46 -0500282config BOARD_ECC_SUPPORT
283 bool
284
Stefan Roeseb322c832015-12-21 13:40:37 +0100285config SYS_BOARD
286 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500287 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200288 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100289 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100290 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200291 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200292 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200293 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200294 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100295 default "octeontx2_cn913x" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb322c832015-12-21 13:40:37 +0100296 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinhb21f87a52023-02-09 14:00:03 -0800297 default "ds116" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100298 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100299 default "maxbcm" if TARGET_MAXBCM
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800300 default "n2350" if TARGET_N2350
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100301 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300302 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300303 default "x530" if TARGET_X530
Chris Packham4c97c4b2023-07-10 10:47:36 +1200304 default "x240" if TARGET_X240
Chris Packham4db944a2019-04-11 22:22:53 +1200305 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200306 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300307 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100308
309config SYS_CONFIG_NAME
310 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500311 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200312 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100313 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100314 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200315 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200316 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100317 default "mvebu_armada-8k" if TARGET_OCTEONTX2_CN913x
Stefan Roeseb322c832015-12-21 13:40:37 +0100318 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Tony Dinhb21f87a52023-02-09 14:00:03 -0800319 default "ds116" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100320 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100321 default "maxbcm" if TARGET_MAXBCM
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800322 default "n2350" if TARGET_N2350
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100323 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200324 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200325 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300326 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300327 default "x530" if TARGET_X530
Chris Packham4c97c4b2023-07-10 10:47:36 +1200328 default "x240" if TARGET_X240
Chris Packham4db944a2019-04-11 22:22:53 +1200329 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200330 default "crs3xx-98dx3236" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300331 default "mvebu_alleycat-5" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100332
333config SYS_VENDOR
334 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200335 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100336 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100337 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200338 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200339 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Konstantin Porotchkinc4052262021-03-16 17:20:57 +0100340 default "Marvell" if TARGET_OCTEONTX2_CN913x
Chris Packham4db944a2019-04-11 22:22:53 +1200341 default "Marvell" if TARGET_DB_XC3_24G4XG
342 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb322c832015-12-21 13:40:37 +0100343 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500344 default "kobol" if TARGET_HELIOS4
Tony Dinhb21f87a52023-02-09 14:00:03 -0800345 default "Synology" if TARGET_DS116
Phil Sutteraefb8f42015-12-25 14:41:25 +0100346 default "Synology" if TARGET_DS414
Tony Dinh3fdd09f2023-02-01 15:13:05 -0800347 default "thecus" if TARGET_N2350
Marek Behúnb6ee8602017-06-09 19:28:45 +0200348 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200349 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300350 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300351 default "alliedtelesis" if TARGET_X530
Chris Packham4c97c4b2023-07-10 10:47:36 +1200352 default "alliedtelesis" if TARGET_X240
Luka Kovacicdf9ebbe2020-05-26 20:17:50 +0200353 default "mikrotik" if TARGET_CRS3XX_98DX3236
Chris Packham6cc8b5d2022-11-05 17:24:00 +1300354 default "Marvell" if TARGET_MVEBU_ALLEYCAT5
Stefan Roeseb322c832015-12-21 13:40:37 +0100355
Stefan Roesec3d89142015-08-25 13:18:38 +0200356config SYS_SOC
357 default "mvebu"
358
Marek Behúnb6ee8602017-06-09 19:28:45 +0200359choice
Baruch Siachad105f52018-06-18 21:56:24 +0300360 prompt "Boot method"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600361 depends on SPL
Marek Behúnb6ee8602017-06-09 19:28:45 +0200362
Baruch Siachad105f52018-06-18 21:56:24 +0300363config MVEBU_SPL_BOOT_DEVICE_SPI
Pali Rohár41d52f32023-01-10 23:13:01 +0100364 bool "NOR flash (SPI or parallel)"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600365 imply ENV_IS_IN_SPI_FLASH
Pali Rohár2226ca12021-07-23 11:14:29 +0200366 imply SPL_DM_SPI
367 imply SPL_SPI_FLASH_SUPPORT
368 imply SPL_SPI_LOAD
Simon Glassea2ca7e2021-08-08 12:20:14 -0600369 imply SPL_SPI
Pali Rohár9d0225b2021-07-23 11:14:25 +0200370 select SPL_BOOTROM_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200371
Pali Rohár67bd6152023-01-10 22:55:21 +0100372config MVEBU_SPL_BOOT_DEVICE_NAND
373 bool "NAND flash (SPI or parallel)"
374 select MTD_RAW_NAND
375 select SPL_BOOTROM_SUPPORT
376
Baruch Siachad105f52018-06-18 21:56:24 +0300377config MVEBU_SPL_BOOT_DEVICE_MMC
Pali Rohár41d52f32023-01-10 23:13:01 +0100378 bool "eMMC or SD card"
Joel Johnsonab2f7572020-04-17 01:19:05 -0600379 imply ENV_IS_IN_MMC
380 # GPIO needed for eMMC/SD card presence detection
Pali Rohár2226ca12021-07-23 11:14:29 +0200381 imply SPL_DM_GPIO
382 imply SPL_DM_MMC
383 imply SPL_GPIO
384 imply SPL_LIBDISK_SUPPORT
Simon Glass103c5f12021-08-08 12:20:09 -0600385 imply SPL_MMC
Pali Rohár2f27db22023-01-08 13:31:41 +0100386 select SUPPORT_EMMC_BOOT if SPL_MMC
Pali Rohár913d7562023-01-09 00:52:09 +0100387 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR if SPL_MMC
Pali Rohár9d0225b2021-07-23 11:14:25 +0200388 select SPL_BOOTROM_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200389
Baruch Siach22c65452019-05-16 13:03:58 +0300390config MVEBU_SPL_BOOT_DEVICE_SATA
391 bool "SATA"
Simon Glassf7560372021-08-08 12:20:17 -0600392 imply SPL_SATA
Pali Rohár2226ca12021-07-23 11:14:29 +0200393 imply SPL_LIBDISK_SUPPORT
Pali Rohár9d0225b2021-07-23 11:14:25 +0200394 select SPL_BOOTROM_SUPPORT
Baruch Siach22c65452019-05-16 13:03:58 +0300395
Pali Rohár50afad52023-01-10 23:09:15 +0100396config MVEBU_SPL_BOOT_DEVICE_PEX
397 bool "PCI Express"
398 select SPL_BOOTROM_SUPPORT
399
Baruch Siach72c4e672018-06-18 21:56:26 +0300400config MVEBU_SPL_BOOT_DEVICE_UART
401 bool "UART"
Pali Rohár9d0225b2021-07-23 11:14:25 +0200402 select SPL_BOOTROM_SUPPORT
Baruch Siach72c4e672018-06-18 21:56:26 +0300403
Marek Behúnb6ee8602017-06-09 19:28:45 +0200404endchoice
405
Pali Rohár67bd6152023-01-10 22:55:21 +0100406config MVEBU_SPL_NAND_BADBLK_LOCATION
407 hex "NAND Bad block indicator location"
408 depends on MVEBU_SPL_BOOT_DEVICE_NAND
409 range 0x0 0x1
410 help
411 Value 0x0 = SLC flash = BBI at page 0 or page 1
412 Value 0x1 = MLC flash = BBI at last page in the block
413
Pali Rohárc62af152023-03-29 21:25:58 +0200414config MVEBU_SPL_SATA_BLKSZ
415 int "SATA block size"
416 depends on MVEBU_SPL_BOOT_DEVICE_SATA
417 range 512 32768
418 default 512
419 help
420 Block size of the SATA disk in bytes.
421 Typically 512 bytes for majority of disks
422 and 4096 bytes for 4K Native disks.
423
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100424config MVEBU_EFUSE
425 bool "Enable eFuse support"
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100426 depends on HAVE_MVEBU_EFUSE
427 help
428 Enable support for reading and writing eFuses on mvebu SoCs.
429
430config MVEBU_EFUSE_FAKE
431 bool "Fake eFuse access (dry run)"
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100432 depends on MVEBU_EFUSE
433 help
434 This enables a "dry run" mode where eFuses are not really programmed.
435 Instead the eFuse accesses are emulated by writing to and reading
436 from a memory block.
437 This is can be used for testing prog scripts.
438
Pali Rohár8092d1d2022-09-22 13:43:45 +0200439config MVEBU_EFUSE_VHV_GPIO
440 string "VHV_Enable GPIO name for eFuse programming"
441 depends on MVEBU_EFUSE && !ARMADA_3700
442 help
443 The eFuse programing (burning) phase requires supplying 1.8V to the
444 device on the VHV power pin, while for normal operation the VHV power
445 rail must be left unconnected. See Marvell AN-389: ARMADA VHV Power
446 document (Doc. No. MV-S302545-00 Rev. C, August 2, 2016) for details.
447 .
448 This specify VHV_Enable GPIO name used in U-Boot for enabling VHV power.
449
450config MVEBU_EFUSE_VHV_GPIO_ACTIVE_LOW
451 bool "VHV_Enable GPIO is Active Low"
452 depends on MVEBU_EFUSE_VHV_GPIO != ""
453
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100454config SECURED_MODE_IMAGE
455 bool "Build image for trusted boot"
456 default false
457 depends on 88F6820
458 help
459 Build an image that employs the ARMADA SoC's trusted boot framework
460 for securely booting images.
461
462config SECURED_MODE_CSK_INDEX
463 int "Index of active CSK"
464 default 0
465 depends on SECURED_MODE_IMAGE
466
Tony Dinh21f62272023-03-02 19:27:29 -0800467config SF_DEFAULT_SPEED
468 int "Default speed for SPI flash in Hz"
469 default 10000000
470 depends on MVEBU_SPL_BOOT_DEVICE_SPI
471
472config SF_DEFAULT_MODE
473 hex "Default mode for SPI flash"
474 default 0x0
475 depends on MVEBU_SPL_BOOT_DEVICE_SPI
476
Marek Behún0c350a62024-04-04 09:51:00 +0200477config ARMADA_32BIT_SYSCON
478 bool
479 depends on ARMADA_32BIT
480 select REGMAP
481 select SYSCON
482
Marek Behúnab900a62024-04-04 09:50:58 +0200483config ARMADA_32BIT_SYSCON_RESET
484 bool "Support Armada XP/375/38x/39x reset controller"
485 depends on ARMADA_32BIT
486 depends on DM_RESET
Marek Behún0c350a62024-04-04 09:51:00 +0200487 select ARMADA_32BIT_SYSCON
Marek Behúnab900a62024-04-04 09:50:58 +0200488 help
489 Build support for Armada XP/375/38x/39x reset controller. This is
490 needed for PCIe support.
491
Marek Behún0c350a62024-04-04 09:51:00 +0200492config ARMADA_32BIT_SYSCON_SYSRESET
493 bool "Support Armada XP/375/38x/39x sysreset via driver model"
494 depends on ARMADA_32BIT
495 depends on SYSRESET
496 select ARMADA_32BIT_SYSCON
497 help
498 Build support for Armada XP/375/38x/39x system reset via driver model.
499
Joel Johnson9f205d62020-03-23 14:21:32 -0600500source "board/solidrun/clearfog/Kconfig"
Dennis Gilmore5a3db5d2020-12-08 21:07:36 -0600501source "board/kobol/helios4/Kconfig"
Joel Johnson9f205d62020-03-23 14:21:32 -0600502
Stefan Roesec3d89142015-08-25 13:18:38 +0200503endif