blob: 5415b5a7bfe240a1399a3d4a80edf17de6c2c632 [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
Lokesh Vutla81b1a672018-04-26 18:21:26 +05309 select CPU_V7A
Stefan Roese05b17652016-05-17 15:00:30 +020010 select SUPPORT_SPL
11 select SPL_DM
12 select SPL_DM_SEQ_ALIAS
13 select SPL_OF_CONTROL
14 select SPL_SIMPLE_BUS
Simon Glass7a99a872017-01-23 13:31:20 -070015 select BOARD_EARLY_INIT_F
Simon Glass95d31412017-01-23 13:31:21 -070016 select ARCH_MISC_INIT
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
49 default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K
50 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 Packhamf5fc25b2016-09-22 12:56:13 +120066config 88F6820
Phil Suttera7f94ad2015-12-25 14:41:22 +010067 bool
68 select ARMADA_38X
69
Stefan Roese383e0c12015-08-25 13:18:38 +020070choice
Stefan Roesecb410332016-05-25 08:13:45 +020071 prompt "Armada XP/375/38x/3700/7K/8K board select"
Stefan Roese383e0c12015-08-25 13:18:38 +020072 optional
73
Stefan Roese73606402015-10-20 15:14:47 +020074config TARGET_CLEARFOG
75 bool "Support ClearFog"
Chris Packhamf5fc25b2016-09-22 12:56:13 +120076 select 88F6820
Stefan Roese73606402015-10-20 15:14:47 +020077
Dennis Gilmore77c39402018-06-11 19:39:53 -050078config TARGET_HELIOS4
79 bool "Support Helios4"
80 select 88F6820
81
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +020082config TARGET_MVEBU_ARMADA_37XX
83 bool "Support Armada 37xx platforms"
Stefan Roese6edf27e2016-05-17 15:04:16 +020084 select ARMADA_3700
Simon Glass0e5faf02017-06-14 21:28:21 -060085 imply SCSI
Stefan Roese6edf27e2016-05-17 15:04:16 +020086
Stefan Roese9106ed02016-01-29 09:14:54 +010087config TARGET_DB_88F6720
88 bool "Support DB-88F6720 Armada 375"
89 select ARMADA_375
90
Stefan Roese383e0c12015-08-25 13:18:38 +020091config TARGET_DB_88F6820_GP
92 bool "Support DB-88F6820-GP"
Chris Packhamf5fc25b2016-09-22 12:56:13 +120093 select 88F6820
Stefan Roese383e0c12015-08-25 13:18:38 +020094
Chris Packhama90dd4c2016-09-22 12:56:14 +120095config TARGET_DB_88F6820_AMC
96 bool "Support DB-88F6820-AMC"
97 select 88F6820
98
Marek Behún09e16b82017-06-09 19:28:45 +020099config TARGET_TURRIS_OMNIA
100 bool "Support Turris Omnia"
101 select 88F6820
102
Marek Behúnf835bed2018-04-24 17:21:31 +0200103config TARGET_TURRIS_MOX
104 bool "Support Turris Mox"
105 select ARMADA_3700
106
Stefan Roese5c806f12016-10-25 10:56:19 +0200107config TARGET_MVEBU_ARMADA_8K
108 bool "Support Armada 7k/8k platforms"
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200109 select ARMADA_8K
Tom Rini22d567e2017-01-22 19:43:11 -0500110 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600111 imply SCSI
Stefan Roese7be1b9b2016-05-25 08:21:21 +0200112
Stefan Roese383e0c12015-08-25 13:18:38 +0200113config TARGET_DB_MV784MP_GP
114 bool "Support db-mv784mp-gp"
Phil Suttera7f94ad2015-12-25 14:41:22 +0100115 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200116
Phil Sutterd76eba62015-12-25 14:41:25 +0100117config TARGET_DS414
118 bool "Support Synology DS414"
119 select MV78230
120
Stefan Roese383e0c12015-08-25 13:18:38 +0200121config TARGET_MAXBCM
122 bool "Support maxbcm"
Phil Suttera7f94ad2015-12-25 14:41:22 +0100123 select MV78460
Stefan Roese383e0c12015-08-25 13:18:38 +0200124
Stefan Roese459e0642016-01-20 08:13:29 +0100125config TARGET_THEADORABLE
126 bool "Support theadorable Armada XP"
Tom Rini22d567e2017-01-22 19:43:11 -0500127 select BOARD_LATE_INIT if USB
Stefan Roese459e0642016-01-20 08:13:29 +0100128 select MV78260
Simon Glass203b3ab2017-06-14 21:28:24 -0600129 imply CMD_SATA
Stefan Roese459e0642016-01-20 08:13:29 +0100130
Dirk Eibachfb605942017-02-22 16:07:23 +0100131config TARGET_CONTROLCENTERDC
132 bool "Support CONTROLCENTERDC"
133 select 88F6820
134
Stefan Roese383e0c12015-08-25 13:18:38 +0200135endchoice
136
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100137config SYS_BOARD
138 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500139 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200140 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100141 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100142 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200143 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Marek Behún09e16b82017-06-09 19:28:45 +0200144 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200145 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roese5c806f12016-10-25 10:56:19 +0200146 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100147 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutterd76eba62015-12-25 14:41:25 +0100148 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100149 default "maxbcm" if TARGET_MAXBCM
Stefan Roese459e0642016-01-20 08:13:29 +0100150 default "theadorable" if TARGET_THEADORABLE
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100151
152config SYS_CONFIG_NAME
153 default "clearfog" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500154 default "helios4" if TARGET_HELIOS4
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200155 default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100156 default "db-88f6720" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100157 default "db-88f6820-gp" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200158 default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200159 default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100160 default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
Phil Sutterd76eba62015-12-25 14:41:25 +0100161 default "ds414" if TARGET_DS414
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100162 default "maxbcm" if TARGET_MAXBCM
Stefan Roese459e0642016-01-20 08:13:29 +0100163 default "theadorable" if TARGET_THEADORABLE
Marek Behún09e16b82017-06-09 19:28:45 +0200164 default "turris_omnia" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200165 default "turris_mox" if TARGET_TURRIS_MOX
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100166
167config SYS_VENDOR
168 default "Marvell" if TARGET_DB_MV784MP_GP
Konstantin Porotchkin7f8dfea2017-02-16 13:52:22 +0200169 default "Marvell" if TARGET_MVEBU_ARMADA_37XX
Stefan Roese9106ed02016-01-29 09:14:54 +0100170 default "Marvell" if TARGET_DB_88F6720
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100171 default "Marvell" if TARGET_DB_88F6820_GP
Chris Packhama90dd4c2016-09-22 12:56:14 +1200172 default "Marvell" if TARGET_DB_88F6820_AMC
Stefan Roese5c806f12016-10-25 10:56:19 +0200173 default "Marvell" if TARGET_MVEBU_ARMADA_8K
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100174 default "solidrun" if TARGET_CLEARFOG
Dennis Gilmore77c39402018-06-11 19:39:53 -0500175 default "kobol" if TARGET_HELIOS4
Phil Sutterd76eba62015-12-25 14:41:25 +0100176 default "Synology" if TARGET_DS414
Marek Behún09e16b82017-06-09 19:28:45 +0200177 default "CZ.NIC" if TARGET_TURRIS_OMNIA
Marek Behúnf835bed2018-04-24 17:21:31 +0200178 default "CZ.NIC" if TARGET_TURRIS_MOX
Stefan Roeseb9f41bf2015-12-21 13:40:37 +0100179
Stefan Roese383e0c12015-08-25 13:18:38 +0200180config SYS_SOC
181 default "mvebu"
182
Marek Behún09e16b82017-06-09 19:28:45 +0200183if TARGET_TURRIS_OMNIA
184
185choice
186 prompt "Turris Omnia boot method"
187
188config TURRIS_OMNIA_SPL_BOOT_DEVICE_SPI
189 bool "SPI NOR flash"
190
191config TURRIS_OMNIA_SPL_BOOT_DEVICE_MMC
192 bool "SDIO/MMC card"
193
194endchoice
195
196endif
197
Mario Six10d14492017-01-11 16:01:00 +0100198config MVEBU_EFUSE
199 bool "Enable eFuse support"
200 default n
201 depends on HAVE_MVEBU_EFUSE
202 help
203 Enable support for reading and writing eFuses on mvebu SoCs.
204
205config MVEBU_EFUSE_FAKE
206 bool "Fake eFuse access (dry run)"
207 default n
208 depends on MVEBU_EFUSE
209 help
210 This enables a "dry run" mode where eFuses are not really programmed.
211 Instead the eFuse accesses are emulated by writing to and reading
212 from a memory block.
213 This is can be used for testing prog scripts.
214
215config SECURED_MODE_IMAGE
216 bool "Build image for trusted boot"
217 default false
218 depends on 88F6820
219 help
220 Build an image that employs the ARMADA SoC's trusted boot framework
221 for securely booting images.
222
223config SECURED_MODE_CSK_INDEX
224 int "Index of active CSK"
225 default 0
226 depends on SECURED_MODE_IMAGE
227
Stefan Roese383e0c12015-08-25 13:18:38 +0200228endif