xref: /openbmc/u-boot/arch/arm/mach-mvebu/Kconfig (revision e8ddbefccd0193340ebbe6fe53c5490624b7c110)
1c3d89140SStefan Roeseif ARCH_MVEBU
2c3d89140SStefan Roese
3a1b6b0a9SMario Sixconfig HAVE_MVEBU_EFUSE
4a1b6b0a9SMario Six	bool
5a1b6b0a9SMario Six	default n
6a1b6b0a9SMario Six
7f61aefc1SStefan Roeseconfig ARMADA_32BIT
8f61aefc1SStefan Roese	bool
958008cbaSMichal Simek	select ARCH_MISC_INIT
1058008cbaSMichal Simek	select BOARD_EARLY_INIT_F
11acf15001SLokesh Vutla	select CPU_V7A
12f61aefc1SStefan Roese	select SPL_DM
13f61aefc1SStefan Roese	select SPL_DM_SEQ_ALIAS
14f61aefc1SStefan Roese	select SPL_OF_CONTROL
15f61aefc1SStefan Roese	select SPL_SIMPLE_BUS
1658008cbaSMichal Simek	select SUPPORT_SPL
17f61aefc1SStefan Roese
18f61aefc1SStefan Roeseconfig ARMADA_64BIT
19f61aefc1SStefan Roese	bool
20f61aefc1SStefan Roese	select ARM64
21f61aefc1SStefan Roese
22f61aefc1SStefan Roese# ARMv7 SoCs...
23606576d5SStefan Roeseconfig ARMADA_375
24606576d5SStefan Roese	bool
25f61aefc1SStefan Roese	select ARMADA_32BIT
26606576d5SStefan Roese
2781e33f4bSStefan Roeseconfig ARMADA_38X
2881e33f4bSStefan Roese	bool
29f61aefc1SStefan Roese	select ARMADA_32BIT
30a1b6b0a9SMario Six	select HAVE_MVEBU_EFUSE
3181e33f4bSStefan Roese
3281e33f4bSStefan Roeseconfig ARMADA_XP
3381e33f4bSStefan Roese	bool
34f61aefc1SStefan Roese	select ARMADA_32BIT
3581e33f4bSStefan Roese
36f61aefc1SStefan Roese# ARMv8 SoCs...
37f61aefc1SStefan Roeseconfig ARMADA_3700
38f61aefc1SStefan Roese	bool
39f61aefc1SStefan Roese	select ARM64
40f61aefc1SStefan Roese
4121b29fc6SStefan Roese# Armada 7K and 8K are very similar - use only one Kconfig symbol for both
4221b29fc6SStefan Roeseconfig ARMADA_8K
4321b29fc6SStefan Roese	bool
4421b29fc6SStefan Roese	select ARM64
4521b29fc6SStefan Roese
46a53d97aeSChris Packham# Armada PLL frequency (used for NAND clock generation)
47a53d97aeSChris Packhamconfig SYS_MVEBU_PLL_CLOCK
48a53d97aeSChris Packham	int
49a53d97aeSChris Packham	default "2000000000" if ARMADA_XP || ARMADA_3700 || ARMADA_8K
50a53d97aeSChris Packham	default "1000000000" if ARMADA_38X || ARMADA_375
51a53d97aeSChris Packham
52f61aefc1SStefan Roese# Armada XP/38x SoC types...
5342902521SPhil Sutterconfig MV78230
5442902521SPhil Sutter	bool
5542902521SPhil Sutter	select ARMADA_XP
5642902521SPhil Sutter
5742902521SPhil Sutterconfig MV78260
5842902521SPhil Sutter	bool
5942902521SPhil Sutter	select ARMADA_XP
603bf926c0SSimon Glass	imply CMD_SATA
6142902521SPhil Sutter
6242902521SPhil Sutterconfig MV78460
6342902521SPhil Sutter	bool
6442902521SPhil Sutter	select ARMADA_XP
6542902521SPhil Sutter
6653d601fdSChris Packhamconfig 88F6820
6742902521SPhil Sutter	bool
6842902521SPhil Sutter	select ARMADA_38X
6942902521SPhil Sutter
70c3d89140SStefan Roesechoice
7121b29fc6SStefan Roese	prompt "Armada XP/375/38x/3700/7K/8K board select"
72c3d89140SStefan Roese	optional
73c3d89140SStefan Roese
740299c90fSStefan Roeseconfig TARGET_CLEARFOG
750299c90fSStefan Roese	bool "Support ClearFog"
7653d601fdSChris Packham	select 88F6820
770299c90fSStefan Roese
78ae28a5f8SDennis Gilmoreconfig TARGET_HELIOS4
79ae28a5f8SDennis Gilmore	bool "Support Helios4"
80ae28a5f8SDennis Gilmore	select 88F6820
81ae28a5f8SDennis Gilmore
82c5330ae8SKonstantin Porotchkinconfig TARGET_MVEBU_ARMADA_37XX
83c5330ae8SKonstantin Porotchkin	bool "Support Armada 37xx platforms"
8401e62c7fSStefan Roese	select ARMADA_3700
85fedb428cSSimon Glass	imply SCSI
8601e62c7fSStefan Roese
87606576d5SStefan Roeseconfig TARGET_DB_88F6720
88606576d5SStefan Roese	bool "Support DB-88F6720 Armada 375"
89606576d5SStefan Roese	select ARMADA_375
90606576d5SStefan Roese
91c3d89140SStefan Roeseconfig TARGET_DB_88F6820_GP
92c3d89140SStefan Roese	bool "Support DB-88F6820-GP"
9353d601fdSChris Packham	select 88F6820
94c3d89140SStefan Roese
95c0def248SChris Packhamconfig TARGET_DB_88F6820_AMC
96c0def248SChris Packham	bool "Support DB-88F6820-AMC"
97c0def248SChris Packham	select 88F6820
98c0def248SChris Packham
99b6ee860bSMarek Behúnconfig TARGET_TURRIS_OMNIA
100b6ee860bSMarek Behún	bool "Support Turris Omnia"
101b6ee860bSMarek Behún	select 88F6820
102b6ee860bSMarek Behún
10380af1a9eSMarek Behúnconfig TARGET_TURRIS_MOX
10480af1a9eSMarek Behún	bool "Support Turris Mox"
10580af1a9eSMarek Behún	select ARMADA_3700
10680af1a9eSMarek Behún
107633fa0e7SStefan Roeseconfig TARGET_MVEBU_ARMADA_8K
108633fa0e7SStefan Roese	bool "Support Armada 7k/8k platforms"
1096f8c2d49SStefan Roese	select ARMADA_8K
110e5ec4815STom Rini	select BOARD_LATE_INIT
111fedb428cSSimon Glass	imply SCSI
1126f8c2d49SStefan Roese
113c3d89140SStefan Roeseconfig TARGET_DB_MV784MP_GP
114c3d89140SStefan Roese	bool "Support db-mv784mp-gp"
11542902521SPhil Sutter	select MV78460
116c3d89140SStefan Roese
117aefb8f4cSPhil Sutterconfig TARGET_DS414
118aefb8f4cSPhil Sutter	bool "Support Synology DS414"
119aefb8f4cSPhil Sutter	select MV78230
120aefb8f4cSPhil Sutter
121c3d89140SStefan Roeseconfig TARGET_MAXBCM
122c3d89140SStefan Roese	bool "Support maxbcm"
12342902521SPhil Sutter	select MV78460
124c3d89140SStefan Roese
125b20c38a9SStefan Roeseconfig TARGET_THEADORABLE
126b20c38a9SStefan Roese	bool "Support theadorable Armada XP"
127e5ec4815STom Rini	select BOARD_LATE_INIT if USB
128b20c38a9SStefan Roese	select MV78260
1293bf926c0SSimon Glass	imply CMD_SATA
130b20c38a9SStefan Roese
13160083261SDirk Eibachconfig TARGET_CONTROLCENTERDC
13260083261SDirk Eibach	bool "Support CONTROLCENTERDC"
13360083261SDirk Eibach	select 88F6820
13460083261SDirk Eibach
135*0e31666dSChris Packhamconfig TARGET_X530
136*0e31666dSChris Packham	bool "Support Allied Telesis x530"
137*0e31666dSChris Packham	select 88F6820
138*0e31666dSChris Packham
139c3d89140SStefan Roeseendchoice
140c3d89140SStefan Roese
141b322c83aSStefan Roeseconfig SYS_BOARD
142b322c83aSStefan Roese	default "clearfog" if TARGET_CLEARFOG
143ae28a5f8SDennis Gilmore	default "helios4" if TARGET_HELIOS4
144c5330ae8SKonstantin Porotchkin	default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
145606576d5SStefan Roese	default "db-88f6720" if TARGET_DB_88F6720
146b322c83aSStefan Roese	default "db-88f6820-gp" if TARGET_DB_88F6820_GP
147c0def248SChris Packham	default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
148b6ee860bSMarek Behún	default "turris_omnia" if TARGET_TURRIS_OMNIA
14980af1a9eSMarek Behún	default "turris_mox" if TARGET_TURRIS_MOX
150633fa0e7SStefan Roese	default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
151b322c83aSStefan Roese	default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
152aefb8f4cSPhil Sutter	default "ds414" if TARGET_DS414
153b322c83aSStefan Roese	default "maxbcm" if TARGET_MAXBCM
154b20c38a9SStefan Roese	default "theadorable" if TARGET_THEADORABLE
155d38f04f7SBaruch Siach	default "a38x" if TARGET_CONTROLCENTERDC
156*0e31666dSChris Packham	default "x530" if TARGET_X530
157b322c83aSStefan Roese
158b322c83aSStefan Roeseconfig SYS_CONFIG_NAME
159b322c83aSStefan Roese	default "clearfog" if TARGET_CLEARFOG
160ae28a5f8SDennis Gilmore	default "helios4" if TARGET_HELIOS4
161c5330ae8SKonstantin Porotchkin	default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
162606576d5SStefan Roese	default "db-88f6720" if TARGET_DB_88F6720
163b322c83aSStefan Roese	default "db-88f6820-gp" if TARGET_DB_88F6820_GP
164c0def248SChris Packham	default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
165633fa0e7SStefan Roese	default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
166b322c83aSStefan Roese	default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
167aefb8f4cSPhil Sutter	default "ds414" if TARGET_DS414
168b322c83aSStefan Roese	default "maxbcm" if TARGET_MAXBCM
169b20c38a9SStefan Roese	default "theadorable" if TARGET_THEADORABLE
170b6ee860bSMarek Behún	default "turris_omnia" if TARGET_TURRIS_OMNIA
17180af1a9eSMarek Behún	default "turris_mox" if TARGET_TURRIS_MOX
172d38f04f7SBaruch Siach	default "controlcenterdc" if TARGET_CONTROLCENTERDC
173*0e31666dSChris Packham	default "x530" if TARGET_X530
174b322c83aSStefan Roese
175b322c83aSStefan Roeseconfig SYS_VENDOR
176b322c83aSStefan Roese	default "Marvell" if TARGET_DB_MV784MP_GP
177c5330ae8SKonstantin Porotchkin	default "Marvell" if TARGET_MVEBU_ARMADA_37XX
178606576d5SStefan Roese	default "Marvell" if TARGET_DB_88F6720
179b322c83aSStefan Roese	default "Marvell" if TARGET_DB_88F6820_GP
180c0def248SChris Packham	default "Marvell" if TARGET_DB_88F6820_AMC
181633fa0e7SStefan Roese	default "Marvell" if TARGET_MVEBU_ARMADA_8K
182b322c83aSStefan Roese	default "solidrun" if TARGET_CLEARFOG
183ae28a5f8SDennis Gilmore	default "kobol" if TARGET_HELIOS4
184aefb8f4cSPhil Sutter	default "Synology" if TARGET_DS414
185b6ee860bSMarek Behún	default "CZ.NIC" if TARGET_TURRIS_OMNIA
18680af1a9eSMarek Behún	default "CZ.NIC" if TARGET_TURRIS_MOX
187d38f04f7SBaruch Siach	default "gdsys" if TARGET_CONTROLCENTERDC
188*0e31666dSChris Packham	default "alliedtelesis" if TARGET_X530
189b322c83aSStefan Roese
190c3d89140SStefan Roeseconfig SYS_SOC
191c3d89140SStefan Roese	default "mvebu"
192c3d89140SStefan Roese
193b6ee860bSMarek Behúnchoice
194ad105f5fSBaruch Siach	prompt "Boot method"
195b6ee860bSMarek Behún
196ad105f5fSBaruch Siachconfig MVEBU_SPL_BOOT_DEVICE_SPI
197b6ee860bSMarek Behún	bool "SPI NOR flash"
198b6ee860bSMarek Behún
199ad105f5fSBaruch Siachconfig MVEBU_SPL_BOOT_DEVICE_MMC
200b6ee860bSMarek Behún	bool "SDIO/MMC card"
201ad105f5fSBaruch Siach	select SPL_LIBDISK_SUPPORT
202b6ee860bSMarek Behún
20372c4e67dSBaruch Siachconfig MVEBU_SPL_BOOT_DEVICE_UART
20472c4e67dSBaruch Siach	bool "UART"
20572c4e67dSBaruch Siach
206b6ee860bSMarek Behúnendchoice
207b6ee860bSMarek Behún
208a1b6b0a9SMario Sixconfig MVEBU_EFUSE
209a1b6b0a9SMario Six	bool "Enable eFuse support"
210a1b6b0a9SMario Six	default n
211a1b6b0a9SMario Six	depends on HAVE_MVEBU_EFUSE
212a1b6b0a9SMario Six	help
213a1b6b0a9SMario Six	  Enable support for reading and writing eFuses on mvebu SoCs.
214a1b6b0a9SMario Six
215a1b6b0a9SMario Sixconfig MVEBU_EFUSE_FAKE
216a1b6b0a9SMario Six	bool "Fake eFuse access (dry run)"
217a1b6b0a9SMario Six	default n
218a1b6b0a9SMario Six	depends on MVEBU_EFUSE
219a1b6b0a9SMario Six	help
220a1b6b0a9SMario Six	  This enables a "dry run" mode where eFuses are not really programmed.
221a1b6b0a9SMario Six	  Instead the eFuse accesses are emulated by writing to and reading
222a1b6b0a9SMario Six	  from a memory block.
223a1b6b0a9SMario Six	  This is can be used for testing prog scripts.
224a1b6b0a9SMario Six
225a1b6b0a9SMario Sixconfig SECURED_MODE_IMAGE
226a1b6b0a9SMario Six	bool "Build image for trusted boot"
227a1b6b0a9SMario Six	default false
228a1b6b0a9SMario Six	depends on 88F6820
229a1b6b0a9SMario Six	help
230a1b6b0a9SMario Six	  Build an image that employs the ARMADA SoC's trusted boot framework
231a1b6b0a9SMario Six	  for securely booting images.
232a1b6b0a9SMario Six
233a1b6b0a9SMario Sixconfig SECURED_MODE_CSK_INDEX
234a1b6b0a9SMario Six	int "Index of active CSK"
235a1b6b0a9SMario Six	default 0
236a1b6b0a9SMario Six	depends on SECURED_MODE_IMAGE
237a1b6b0a9SMario Six
238c3d89140SStefan Roeseendif
239