blob: f5fd60d784560336ddd4170e10ffaff83f0c8f8c [file] [log] [blame]
Stefan Roese383e0c12015-08-25 13:18:38 +02001if ARCH_MVEBU
2
Mario Six10d14492017-01-11 16:01:00 +01003config HAVE_MVEBU_EFUSE
4 bool
5 default n
6
Stefan Roese05b17652016-05-17 15:00:30 +02007config ARMADA_32BIT
8 bool
Michal Simek7e7ba3b2018-07-23 15:55:15 +02009 select ARCH_MISC_INIT
10 select BOARD_EARLY_INIT_F
Lokesh Vutla81b1a672018-04-26 18:21:26 +053011 select CPU_V7A
Stefan Roese1f1b3e92019-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 Simek7e7ba3b2018-07-23 15:55:15 +020016 select SUPPORT_SPL
Stefan Roese05b17652016-05-17 15:00:30 +020017
18config ARMADA_64BIT
19 bool
20 select ARM64
21
22# ARMv7 SoCs...
Stefan Roese9106ed02016-01-29 09:14:54 +010023config ARMADA_375
24 bool
Stefan Roese05b17652016-05-17 15:00:30 +020025 select ARMADA_32BIT
Stefan Roese9106ed02016-01-29 09:14:54 +010026
Stefan Roeseeb083e52015-12-21 13:56:33 +010027config ARMADA_38X
28 bool
Stefan Roese05b17652016-05-17 15:00:30 +020029 select ARMADA_32BIT
Mario Six10d14492017-01-11 16:01:00 +010030 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010031
32config ARMADA_XP
33 bool
Stefan Roese05b17652016-05-17 15:00:30 +020034 select ARMADA_32BIT
35
36# ARMv8 SoCs...
37config ARMADA_3700
38 bool
39 select ARM64
Stefan Roeseeb083e52015-12-21 13:56:33 +010040
Stefan Roesecb410332016-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 Packham1d496682016-10-26 14:08:30 +130046# Armada PLL frequency (used for NAND clock generation)
47config SYS_MVEBU_PLL_CLOCK
48 int
Chris Packhama8f845e2019-04-11 22:22:50 +120049 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packham1d496682016-10-26 14:08:30 +130050 default "1000000000" if ARMADA_38X || ARMADA_375
51
Stefan Roese05b17652016-05-17 15:00:30 +020052# Armada XP/38x SoC types...
Phil Suttera7f94ad2015-12-25 14:41:22 +010053config MV78230
54 bool
55 select ARMADA_XP
56
57config MV78260
58 bool
59 select ARMADA_XP
Simon Glass203b3ab2017-06-14 21:28:24 -060060 imply CMD_SATA
Phil Suttera7f94ad2015-12-25 14:41:22 +010061
62config MV78460
63 bool
64 select ARMADA_XP
65
Chris Packhama8f845e2019-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 Packhamf5fc25b2016-09-22 12:56:13 +120082config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +010083 bool
84 select ARMADA_38X
85
Stefan Roese383e0c12015-08-25 13:18:38 +020086choice
Stefan Roesecb410332016-05-25 08:13:45 +020087 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roese383e0c12015-08-25 13:18:38 +020088 optional
89
Stefan Roese73606402015-10-20 15:14:47 +020090config TARGET_CLEARFOG
91 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +120092 select 88F6820
Stefan Roese73606402015-10-20 15:14:47 +020093
Dennis Gilmore77c39402018-06-11 19:39:53 -050094config TARGET_HELIOS4
95 bool "Support Helios4"
96 select 88F6820
97
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +020098config TARGET_MVEBU_ARMADA_37XX
99 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +0200100 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -0600101 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +0200102
Stefan Roese9106ed02016-01-29 09:14:54 +0100103config TARGET_DB_88F6720
104 bool "Support DB-88F6720 Armada 375"
105 select ARMADA_375
106
Stefan Roese383e0c12015-08-25 13:18:38 +0200107config TARGET_DB_88F6820_GP
108 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200109 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +0200110
Chris Packhama90dd4c2016-09-22 12:56:14 +1200111config TARGET_DB_88F6820_AMC
112 bool "Support DB-88F6820-AMC"
113 select 88F6820
114
Marek Behún09e16b82017-06-09 19:28:45 +0200115config TARGET_TURRIS_OMNIA
116 bool "Support Turris Omnia"
117 select 88F6820
118
Marek Behúnf835bed2018-04-24 17:21:31 +0200119config TARGET_TURRIS_MOX
120 bool "Support Turris Mox"
121 select ARMADA_3700
122
Stefan Roese5c806f12016-10-25 10:56:19 +0200123config TARGET_MVEBU_ARMADA_8K
124 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200125 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500126 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600127 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200128
Stefan Roese383e0c12015-08-25 13:18:38 +0200129config TARGET_DB_MV784MP_GP
130 bool "Support db-mv784mp-gp"
Phil Suttera7f94ad2015-12-25 14:41:22 +0100131 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200132
Phil Sutterd76eba62015-12-25 14:41:25 +0100133config TARGET_DS414
134 bool "Support Synology DS414"
135 select MV78230
136
Stefan Roese383e0c12015-08-25 13:18:38 +0200137config TARGET_MAXBCM
138 bool "Support maxbcm"
Phil Suttera7f94ad2015-12-25 14:41:22 +0100139 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200140
Stefan Roese459e0642016-01-20 08:13:29 +0100141config TARGET_THEADORABLE
142 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500143 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100144 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600145 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100146
Dirk Eibachfb605942017-02-22 16:07:23 +0100147config TARGET_CONTROLCENTERDC
148 bool "Support CONTROLCENTERDC"
149 select 88F6820
150
Chris Packhamb55b2c92019-01-10 21:01:00 +1300151config TARGET_X530
152 bool "Support Allied Telesis x530"
153 select 88F6820
154
Chris Packham199e3182019-04-11 22:22:53 +1200155config TARGET_DB_XC3_24G4XG
156 bool "Support DB-XC3-24G4XG"
157 select 98DX3336
158
Stefan Roese383e0c12015-08-25 13:18:38 +0200159endchoice
160
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100161config SYS_BOARD
162 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500163 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200164 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100165 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100166 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200167 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200168 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200169 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200170 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100171 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutterd76eba62015-12-25 14:41:25 +0100172 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100173 default "maxbcm" if TARGET_MAXBCM
Stefan Roese459e0642016-01-20 08:13:29 +0100174 default "theadorable" if TARGET_THEADORABLE
Baruch Siachdaa6f082018-06-18 21:56:23 +0300175 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300176 default "x530" if TARGET_X530
Chris Packham199e3182019-04-11 22:22:53 +1200177 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100178
179config SYS_CONFIG_NAME
180 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500181 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200182 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100183 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100184 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200185 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200186 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100187 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutterd76eba62015-12-25 14:41:25 +0100188 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100189 default "maxbcm" if TARGET_MAXBCM
Stefan Roese459e0642016-01-20 08:13:29 +0100190 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200191 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200192 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300193 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300194 default "x530" if TARGET_X530
Chris Packham199e3182019-04-11 22:22:53 +1200195 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100196
197config SYS_VENDOR
198 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200199 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100200 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100201 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200202 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200203 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Chris Packham199e3182019-04-11 22:22:53 +1200204 default "Marvell" if TARGET_DB_XC3_24G4XG
205 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100206 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500207 default "kobol" if TARGET_HELIOS4
Phil Sutterd76eba62015-12-25 14:41:25 +0100208 default "Synology" if TARGET_DS414
Marek Behún09e16b82017-06-09 19:28:45 +0200209 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200210 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300211 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300212 default "alliedtelesis" if TARGET_X530
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100213
Stefan Roese383e0c12015-08-25 13:18:38 +0200214config SYS_SOC
215 default "mvebu"
216
Marek Behún09e16b82017-06-09 19:28:45 +0200217choice
Baruch Siach8d196a42018-06-18 21:56:24 +0300218 prompt "Boot method"
Marek Behún09e16b82017-06-09 19:28:45 +0200219
Baruch Siach8d196a42018-06-18 21:56:24 +0300220config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behún09e16b82017-06-09 19:28:45 +0200221 bool "SPI NOR flash"
222
Baruch Siach8d196a42018-06-18 21:56:24 +0300223config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behún09e16b82017-06-09 19:28:45 +0200224 bool "SDIO/MMC card"
Baruch Siach8d196a42018-06-18 21:56:24 +0300225 select SPL_LIBDISK_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200226
Baruch Siachb35c4472018-06-18 21:56:26 +0300227config MVEBU_SPL_BOOT_DEVICE_UART
228 bool "UART"
229
Marek Behún09e16b82017-06-09 19:28:45 +0200230endchoice
231
Mario Six10d14492017-01-11 16:01:00 +0100232config MVEBU_EFUSE
233 bool "Enable eFuse support"
234 default n
235 depends on HAVE_MVEBU_EFUSE
236 help
237 Enable support for reading and writing eFuses on mvebu SoCs.
238
239config MVEBU_EFUSE_FAKE
240 bool "Fake eFuse access (dry run)"
241 default n
242 depends on MVEBU_EFUSE
243 help
244 This enables a "dry run" mode where eFuses are not really programmed.
245 Instead the eFuse accesses are emulated by writing to and reading
246 from a memory block.
247 This is can be used for testing prog scripts.
248
249config SECURED_MODE_IMAGE
250 bool "Build image for trusted boot"
251 default false
252 depends on 88F6820
253 help
254 Build an image that employs the ARMADA SoC's trusted boot framework
255 for securely booting images.
256
257config SECURED_MODE_CSK_INDEX
258 int "Index of active CSK"
259 default 0
260 depends on SECURED_MODE_IMAGE
261
Stefan Roese383e0c12015-08-25 13:18:38 +0200262endif