blob: bb4ca56a585e9017a5c7067645a128e53a1806cd [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
5 default n
6
Stefan Roesef61aefc2016-05-17 15:00:30 +02007config ARMADA_32BIT
8 bool
Michal Simek58008cb2018-07-23 15:55:15 +02009 select ARCH_MISC_INIT
10 select BOARD_EARLY_INIT_F
Lokesh Vutlaacf15002018-04-26 18:21:26 +053011 select CPU_V7A
Stefan Roese237b6292019-04-11 08:58:32 +020012 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
Michal Simek58008cb2018-07-23 15:55:15 +020016 select SUPPORT_SPL
Stefan Roesef61aefc2016-05-17 15:00:30 +020017
18config ARMADA_64BIT
19 bool
20 select ARM64
21
22# 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
32config ARMADA_XP
33 bool
Stefan Roesef61aefc2016-05-17 15:00:30 +020034 select ARMADA_32BIT
Stefan Roese81e33f42015-12-21 13:56:33 +010035
Stefan Roesef61aefc2016-05-17 15:00:30 +020036# ARMv8 SoCs...
37config ARMADA_3700
38 bool
39 select ARM64
40
Stefan Roese21b29fc2016-05-25 08:13:45 +020041# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
42config ARMADA_8K
43 bool
44 select ARM64
45
Chris Packhama53d97a2016-10-26 14:08:30 +130046# Armada PLL frequency (used for NAND clock generation)
47config SYS_MVEBU_PLL_CLOCK
48 int
Chris Packham0d0df462019-04-11 22:22:50 +120049 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packhama53d97a2016-10-26 14:08:30 +130050 default "1000000000" if ARMADA_38X || ARMADA_375
51
Stefan Roesef61aefc2016-05-17 15:00:30 +020052# Armada XP/38x SoC types...
Phil Sutter42902522015-12-25 14:41:22 +010053config MV78230
54 bool
55 select ARMADA_XP
56
57config MV78260
58 bool
59 select ARMADA_XP
Simon Glass3bf926c2017-06-14 21:28:24 -060060 imply CMD_SATA
Phil Sutter42902522015-12-25 14:41:22 +010061
62config MV78460
63 bool
64 select ARMADA_XP
65
Chris Packham0d0df462019-04-11 22:22:50 +120066config ARMADA_MSYS
67 bool
68 select ARMADA_32BIT
69
70config 98DX4251
71 bool
72 select ARMADA_MSYS
73
74config 98DX3336
75 bool
76 select ARMADA_MSYS
77
78config 98DX3236
79 bool
80 select ARMADA_MSYS
81
Chris Packham53d601f2016-09-22 12:56:13 +120082config 88F6820
Phil Sutter42902522015-12-25 14:41:22 +010083 bool
84 select ARMADA_38X
85
Stefan Roesec3d89142015-08-25 13:18:38 +020086choice
Stefan Roese21b29fc2016-05-25 08:13:45 +020087 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roesec3d89142015-08-25 13:18:38 +020088 optional
89
Stefan Roese0299c902015-10-20 15:14:47 +020090config TARGET_CLEARFOG
91 bool "Support ClearFog"
Chris Packham53d601f2016-09-22 12:56:13 +120092 select 88F6820
Stefan Roese0299c902015-10-20 15:14:47 +020093
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -050094config TARGET_HELIOS4
95 bool "Support Helios4"
96 select 88F6820
97
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +020098config TARGET_MVEBU_ARMADA_37XX
99 bool "Support Armada 37xx platforms"
Stefan Roese01e62c72016-05-17 15:04:16 +0200100 select ARMADA_3700
Simon Glassfedb4282017-06-14 21:28:21 -0600101 imply SCSI
Stefan Roese01e62c72016-05-17 15:04:16 +0200102
Stefan Roese606576d2016-01-29 09:14:54 +0100103config TARGET_DB_88F6720
104 bool "Support DB-88F6720 Armada 375"
105 select ARMADA_375
106
Stefan Roesec3d89142015-08-25 13:18:38 +0200107config TARGET_DB_88F6820_GP
108 bool "Support DB-88F6820-GP"
Chris Packham53d601f2016-09-22 12:56:13 +1200109 select 88F6820
Stefan Roesec3d89142015-08-25 13:18:38 +0200110
Chris Packhamc0def242016-09-22 12:56:14 +1200111config TARGET_DB_88F6820_AMC
112 bool "Support DB-88F6820-AMC"
113 select 88F6820
114
Marek Behúnb6ee8602017-06-09 19:28:45 +0200115config TARGET_TURRIS_OMNIA
116 bool "Support Turris Omnia"
117 select 88F6820
118
Marek Behún80af1a92018-04-24 17:21:31 +0200119config TARGET_TURRIS_MOX
120 bool "Support Turris Mox"
121 select ARMADA_3700
122
Stefan Roese633fa0e2016-10-25 10:56:19 +0200123config TARGET_MVEBU_ARMADA_8K
124 bool "Support Armada 7k/8k platforms"
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200125 select ARMADA_8K
Tom Rinie5ec4812017-01-22 19:43:11 -0500126 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600127 imply SCSI
Stefan Roese6f8c2d42016-05-25 08:21:21 +0200128
Stefan Roesec3d89142015-08-25 13:18:38 +0200129config TARGET_DB_MV784MP_GP
130 bool "Support db-mv784mp-gp"
Phil Sutter42902522015-12-25 14:41:22 +0100131 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200132
Phil Sutteraefb8f42015-12-25 14:41:25 +0100133config TARGET_DS414
134 bool "Support Synology DS414"
135 select MV78230
136
Stefan Roesec3d89142015-08-25 13:18:38 +0200137config TARGET_MAXBCM
138 bool "Support maxbcm"
Phil Sutter42902522015-12-25 14:41:22 +0100139 select MV78460
Stefan Roesec3d89142015-08-25 13:18:38 +0200140
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100141config TARGET_THEADORABLE
142 bool "Support theadorable Armada XP"
Tom Rinie5ec4812017-01-22 19:43:11 -0500143 select BOARD_LATE_INIT if USB
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100144 select MV78260
Simon Glass3bf926c2017-06-14 21:28:24 -0600145 imply CMD_SATA
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100146
Dirk Eibach60083262017-02-22 16:07:23 +0100147config TARGET_CONTROLCENTERDC
148 bool "Support CONTROLCENTERDC"
149 select 88F6820
150
Chris Packham0e316662019-01-10 21:01:00 +1300151config TARGET_X530
152 bool "Support Allied Telesis x530"
153 select 88F6820
154
Stefan Roesec3d89142015-08-25 13:18:38 +0200155endchoice
156
Stefan Roeseb322c832015-12-21 13:40:37 +0100157config SYS_BOARD
158 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500159 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200160 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100161 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100162 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200163 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200164 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200165 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese633fa0e2016-10-25 10:56:19 +0200166 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100167 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100168 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100169 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100170 default "theadorable" if TARGET_THEADORABLE
Baruch Siachd38f04f2018-06-18 21:56:23 +0300171 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300172 default "x530" if TARGET_X530
Stefan Roeseb322c832015-12-21 13:40:37 +0100173
174config SYS_CONFIG_NAME
175 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500176 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200177 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100178 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100179 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200180 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200181 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100182 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutteraefb8f42015-12-25 14:41:25 +0100183 default "ds414" if TARGET_DS414
Stefan Roeseb322c832015-12-21 13:40:37 +0100184 default "maxbcm" if TARGET_MAXBCM
Stefan Roeseb20c38a2016-01-20 08:13:29 +0100185 default "theadorable" if TARGET_THEADORABLE
Marek Behúnb6ee8602017-06-09 19:28:45 +0200186 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200187 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300188 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300189 default "x530" if TARGET_X530
Stefan Roeseb322c832015-12-21 13:40:37 +0100190
191config SYS_VENDOR
192 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkinc5330ae2017-02-16 13:52:22 +0200193 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese606576d2016-01-29 09:14:54 +0100194 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb322c832015-12-21 13:40:37 +0100195 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhamc0def242016-09-22 12:56:14 +1200196 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese633fa0e2016-10-25 10:56:19 +0200197 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb322c832015-12-21 13:40:37 +0100198 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmoreae28a5f2018-06-11 19:39:53 -0500199 default "kobol" if TARGET_HELIOS4
Phil Sutteraefb8f42015-12-25 14:41:25 +0100200 default "Synology" if TARGET_DS414
Marek Behúnb6ee8602017-06-09 19:28:45 +0200201 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behún80af1a92018-04-24 17:21:31 +0200202 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachd38f04f2018-06-18 21:56:23 +0300203 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packham0e316662019-01-10 21:01:00 +1300204 default "alliedtelesis" if TARGET_X530
Stefan Roeseb322c832015-12-21 13:40:37 +0100205
Stefan Roesec3d89142015-08-25 13:18:38 +0200206config SYS_SOC
207 default "mvebu"
208
Marek Behúnb6ee8602017-06-09 19:28:45 +0200209choice
Baruch Siachad105f52018-06-18 21:56:24 +0300210 prompt "Boot method"
Marek Behúnb6ee8602017-06-09 19:28:45 +0200211
Baruch Siachad105f52018-06-18 21:56:24 +0300212config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behúnb6ee8602017-06-09 19:28:45 +0200213 bool "SPI NOR flash"
214
Baruch Siachad105f52018-06-18 21:56:24 +0300215config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behúnb6ee8602017-06-09 19:28:45 +0200216 bool "SDIO/MMC card"
Baruch Siachad105f52018-06-18 21:56:24 +0300217 select SPL_LIBDISK_SUPPORT
Marek Behúnb6ee8602017-06-09 19:28:45 +0200218
Baruch Siach72c4e672018-06-18 21:56:26 +0300219config MVEBU_SPL_BOOT_DEVICE_UART
220 bool "UART"
221
Marek Behúnb6ee8602017-06-09 19:28:45 +0200222endchoice
223
Mario Sixa1b6b0a2017-01-11 16:01:00 +0100224config MVEBU_EFUSE
225 bool "Enable eFuse support"
226 default n
227 depends on HAVE_MVEBU_EFUSE
228 help
229 Enable support for reading and writing eFuses on mvebu SoCs.
230
231config MVEBU_EFUSE_FAKE
232 bool "Fake eFuse access (dry run)"
233 default n
234 depends on MVEBU_EFUSE
235 help
236 This enables a "dry run" mode where eFuses are not really programmed.
237 Instead the eFuse accesses are emulated by writing to and reading
238 from a memory block.
239 This is can be used for testing prog scripts.
240
241config SECURED_MODE_IMAGE
242 bool "Build image for trusted boot"
243 default false
244 depends on 88F6820
245 help
246 Build an image that employs the ARMADA SoC's trusted boot framework
247 for securely booting images.
248
249config SECURED_MODE_CSK_INDEX
250 int "Index of active CSK"
251 default 0
252 depends on SECURED_MODE_IMAGE
253
Stefan Roesec3d89142015-08-25 13:18:38 +0200254endif