blob: a832e1dc8c9e65469acc4c65f1033c1e5ef4344e [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 Roese85bddff2019-04-12 16:42:28 +020017 select TRANSLATION_OFFSET
Stefan Roese05b17652016-05-17 15:00:30 +020018
19config ARMADA_64BIT
20 bool
21 select ARM64
22
23# ARMv7 SoCs...
Stefan Roese9106ed02016-01-29 09:14:54 +010024config ARMADA_375
25 bool
Stefan Roese05b17652016-05-17 15:00:30 +020026 select ARMADA_32BIT
Stefan Roese9106ed02016-01-29 09:14:54 +010027
Stefan Roeseeb083e52015-12-21 13:56:33 +010028config ARMADA_38X
29 bool
Stefan Roese05b17652016-05-17 15:00:30 +020030 select ARMADA_32BIT
Mario Six10d14492017-01-11 16:01:00 +010031 select HAVE_MVEBU_EFUSE
Stefan Roeseeb083e52015-12-21 13:56:33 +010032
33config ARMADA_XP
34 bool
Stefan Roese05b17652016-05-17 15:00:30 +020035 select ARMADA_32BIT
36
37# ARMv8 SoCs...
38config ARMADA_3700
39 bool
40 select ARM64
Stefan Roeseeb083e52015-12-21 13:56:33 +010041
Stefan Roesecb410332016-05-25 08:13:45 +020042# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
43config ARMADA_8K
44 bool
45 select ARM64
46
Chris Packham1d496682016-10-26 14:08:30 +130047# Armada PLL frequency (used for NAND clock generation)
48config SYS_MVEBU_PLL_CLOCK
49 int
Chris Packhama8f845e2019-04-11 22:22:50 +120050 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K || ARMADA_MSYS
Chris Packham1d496682016-10-26 14:08:30 +130051 default "1000000000" if ARMADA_38X || ARMADA_375
52
Stefan Roese05b17652016-05-17 15:00:30 +020053# Armada XP/38x SoC types...
Phil Suttera7f94ad2015-12-25 14:41:22 +010054config MV78230
55 bool
56 select ARMADA_XP
57
58config MV78260
59 bool
60 select ARMADA_XP
Simon Glass203b3ab2017-06-14 21:28:24 -060061 imply CMD_SATA
Phil Suttera7f94ad2015-12-25 14:41:22 +010062
63config MV78460
64 bool
65 select ARMADA_XP
66
Chris Packhama8f845e2019-04-11 22:22:50 +120067config ARMADA_MSYS
68 bool
69 select ARMADA_32BIT
70
71config 98DX4251
72 bool
73 select ARMADA_MSYS
74
75config 98DX3336
76 bool
77 select ARMADA_MSYS
78
79config 98DX3236
80 bool
81 select ARMADA_MSYS
82
Chris Packhamf5fc25b2016-09-22 12:56:13 +120083config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +010084 bool
85 select ARMADA_38X
86
Stefan Roese383e0c12015-08-25 13:18:38 +020087choice
Stefan Roesecb410332016-05-25 08:13:45 +020088 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roese383e0c12015-08-25 13:18:38 +020089 optional
90
Stefan Roese73606402015-10-20 15:14:47 +020091config TARGET_CLEARFOG
92 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +120093 select 88F6820
Stefan Roese73606402015-10-20 15:14:47 +020094
Dennis Gilmore77c39402018-06-11 19:39:53 -050095config TARGET_HELIOS4
96 bool "Support Helios4"
97 select 88F6820
98
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +020099config TARGET_MVEBU_ARMADA_37XX
100 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +0200101 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -0600102 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +0200103
Stefan Roese9106ed02016-01-29 09:14:54 +0100104config TARGET_DB_88F6720
105 bool "Support DB-88F6720 Armada 375"
106 select ARMADA_375
107
Stefan Roese383e0c12015-08-25 13:18:38 +0200108config TARGET_DB_88F6820_GP
109 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +1200110 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +0200111
Chris Packhama90dd4c2016-09-22 12:56:14 +1200112config TARGET_DB_88F6820_AMC
113 bool "Support DB-88F6820-AMC"
114 select 88F6820
115
Marek Behún09e16b82017-06-09 19:28:45 +0200116config TARGET_TURRIS_OMNIA
117 bool "Support Turris Omnia"
118 select 88F6820
Marek Behún0f2e66a2019-05-02 16:53:37 +0200119 select BOARD_LATE_INIT
Marek Behún1e4cbb92019-05-02 16:53:28 +0200120 select DM_I2C
121 select I2C_MUX
122 select I2C_MUX_PCA954x
123 select SPL_I2C_MUX
124 select SYS_I2C_MVTWSI
Marek Behún5e92efe2019-05-02 16:53:32 +0200125 select ATSHA204A
Marek Behún09e16b82017-06-09 19:28:45 +0200126
Marek Behúnf835bed2018-04-24 17:21:31 +0200127config TARGET_TURRIS_MOX
128 bool "Support Turris Mox"
129 select ARMADA_3700
130
Stefan Roese5c806f12016-10-25 10:56:19 +0200131config TARGET_MVEBU_ARMADA_8K
132 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200133 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500134 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600135 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200136
Stefan Roese383e0c12015-08-25 13:18:38 +0200137config TARGET_DB_MV784MP_GP
138 bool "Support db-mv784mp-gp"
Phil Suttera7f94ad2015-12-25 14:41:22 +0100139 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200140
Phil Sutterd76eba62015-12-25 14:41:25 +0100141config TARGET_DS414
142 bool "Support Synology DS414"
143 select MV78230
144
Stefan Roese383e0c12015-08-25 13:18:38 +0200145config TARGET_MAXBCM
146 bool "Support maxbcm"
Phil Suttera7f94ad2015-12-25 14:41:22 +0100147 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200148
Stefan Roese459e0642016-01-20 08:13:29 +0100149config TARGET_THEADORABLE
150 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500151 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100152 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600153 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100154
Dirk Eibachfb605942017-02-22 16:07:23 +0100155config TARGET_CONTROLCENTERDC
156 bool "Support CONTROLCENTERDC"
157 select 88F6820
158
Chris Packhamb55b2c92019-01-10 21:01:00 +1300159config TARGET_X530
160 bool "Support Allied Telesis x530"
161 select 88F6820
162
Chris Packham199e3182019-04-11 22:22:53 +1200163config TARGET_DB_XC3_24G4XG
164 bool "Support DB-XC3-24G4XG"
165 select 98DX3336
166
Stefan Roese383e0c12015-08-25 13:18:38 +0200167endchoice
168
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100169config SYS_BOARD
170 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500171 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200172 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100173 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100174 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200175 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200176 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200177 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200178 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100179 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutterd76eba62015-12-25 14:41:25 +0100180 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100181 default "maxbcm" if TARGET_MAXBCM
Stefan Roese459e0642016-01-20 08:13:29 +0100182 default "theadorable" if TARGET_THEADORABLE
Baruch Siachdaa6f082018-06-18 21:56:23 +0300183 default "a38x" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300184 default "x530" if TARGET_X530
Chris Packham199e3182019-04-11 22:22:53 +1200185 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100186
187config SYS_CONFIG_NAME
188 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500189 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200190 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100191 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100192 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200193 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200194 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100195 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutterd76eba62015-12-25 14:41:25 +0100196 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100197 default "maxbcm" if TARGET_MAXBCM
Stefan Roese459e0642016-01-20 08:13:29 +0100198 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200199 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200200 default "turris_mox" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300201 default "controlcenterdc" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300202 default "x530" if TARGET_X530
Chris Packham199e3182019-04-11 22:22:53 +1200203 default "db-xc3-24g4xg" if TARGET_DB_XC3_24G4XG
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100204
205config SYS_VENDOR
206 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200207 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100208 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100209 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200210 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200211 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Chris Packham199e3182019-04-11 22:22:53 +1200212 default "Marvell" if TARGET_DB_XC3_24G4XG
213 default "Marvell" if TARGET_MVEBU_DB_88F7040
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100214 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500215 default "kobol" if TARGET_HELIOS4
Phil Sutterd76eba62015-12-25 14:41:25 +0100216 default "Synology" if TARGET_DS414
Marek Behún09e16b82017-06-09 19:28:45 +0200217 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200218 default "CZ.NIC" if TARGET_TURRIS_MOX
Baruch Siachdaa6f082018-06-18 21:56:23 +0300219 default "gdsys" if TARGET_CONTROLCENTERDC
Chris Packhamb55b2c92019-01-10 21:01:00 +1300220 default "alliedtelesis" if TARGET_X530
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100221
Stefan Roese383e0c12015-08-25 13:18:38 +0200222config SYS_SOC
223 default "mvebu"
224
Marek Behún09e16b82017-06-09 19:28:45 +0200225choice
Baruch Siach8d196a42018-06-18 21:56:24 +0300226 prompt "Boot method"
Marek Behún09e16b82017-06-09 19:28:45 +0200227
Baruch Siach8d196a42018-06-18 21:56:24 +0300228config MVEBU_SPL_BOOT_DEVICE_SPI
Marek Behún09e16b82017-06-09 19:28:45 +0200229 bool "SPI NOR flash"
230
Baruch Siach8d196a42018-06-18 21:56:24 +0300231config MVEBU_SPL_BOOT_DEVICE_MMC
Marek Behún09e16b82017-06-09 19:28:45 +0200232 bool "SDIO/MMC card"
Baruch Siach8d196a42018-06-18 21:56:24 +0300233 select SPL_LIBDISK_SUPPORT
Marek Behún09e16b82017-06-09 19:28:45 +0200234
Baruch Siachb35c4472018-06-18 21:56:26 +0300235config MVEBU_SPL_BOOT_DEVICE_UART
236 bool "UART"
237
Marek Behún09e16b82017-06-09 19:28:45 +0200238endchoice
239
Mario Six10d14492017-01-11 16:01:00 +0100240config MVEBU_EFUSE
241 bool "Enable eFuse support"
242 default n
243 depends on HAVE_MVEBU_EFUSE
244 help
245 Enable support for reading and writing eFuses on mvebu SoCs.
246
247config MVEBU_EFUSE_FAKE
248 bool "Fake eFuse access (dry run)"
249 default n
250 depends on MVEBU_EFUSE
251 help
252 This enables a "dry run" mode where eFuses are not really programmed.
253 Instead the eFuse accesses are emulated by writing to and reading
254 from a memory block.
255 This is can be used for testing prog scripts.
256
257config SECURED_MODE_IMAGE
258 bool "Build image for trusted boot"
259 default false
260 depends on 88F6820
261 help
262 Build an image that employs the ARMADA SoC's trusted boot framework
263 for securely booting images.
264
265config SECURED_MODE_CSK_INDEX
266 int "Index of active CSK"
267 default 0
268 depends on SECURED_MODE_IMAGE
269
Stefan Roese383e0c12015-08-25 13:18:38 +0200270endif