xref: /openbmc/u-boot/arch/arm/mach-mvebu/Kconfig (revision d38f04f7c2bca1d636ef67acf605c99e0b3a30cb)
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
135c3d89140SStefan Roeseendchoice
136c3d89140SStefan Roese
137b322c83aSStefan Roeseconfig SYS_BOARD
138b322c83aSStefan Roese	default "clearfog" if TARGET_CLEARFOG
139ae28a5f8SDennis Gilmore	default "helios4" if TARGET_HELIOS4
140c5330ae8SKonstantin Porotchkin	default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
141606576d5SStefan Roese	default "db-88f6720" if TARGET_DB_88F6720
142b322c83aSStefan Roese	default "db-88f6820-gp" if TARGET_DB_88F6820_GP
143c0def248SChris Packham	default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
144b6ee860bSMarek Behún	default "turris_omnia" if TARGET_TURRIS_OMNIA
14580af1a9eSMarek Behún	default "turris_mox" if TARGET_TURRIS_MOX
146633fa0e7SStefan Roese	default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
147b322c83aSStefan Roese	default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
148aefb8f4cSPhil Sutter	default "ds414" if TARGET_DS414
149b322c83aSStefan Roese	default "maxbcm" if TARGET_MAXBCM
150b20c38a9SStefan Roese	default "theadorable" if TARGET_THEADORABLE
151*d38f04f7SBaruch Siach	default "a38x" if TARGET_CONTROLCENTERDC
152b322c83aSStefan Roese
153b322c83aSStefan Roeseconfig SYS_CONFIG_NAME
154b322c83aSStefan Roese	default "clearfog" if TARGET_CLEARFOG
155ae28a5f8SDennis Gilmore	default "helios4" if TARGET_HELIOS4
156c5330ae8SKonstantin Porotchkin	default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
157606576d5SStefan Roese	default "db-88f6720" if TARGET_DB_88F6720
158b322c83aSStefan Roese	default "db-88f6820-gp" if TARGET_DB_88F6820_GP
159c0def248SChris Packham	default "db-88f6820-amc" if TARGET_DB_88F6820_AMC
160633fa0e7SStefan Roese	default "mvebu_armada-8k" if TARGET_MVEBU_ARMADA_8K
161b322c83aSStefan Roese	default "db-mv784mp-gp" if TARGET_DB_MV784MP_GP
162aefb8f4cSPhil Sutter	default "ds414" if TARGET_DS414
163b322c83aSStefan Roese	default "maxbcm" if TARGET_MAXBCM
164b20c38a9SStefan Roese	default "theadorable" if TARGET_THEADORABLE
165b6ee860bSMarek Behún	default "turris_omnia" if TARGET_TURRIS_OMNIA
16680af1a9eSMarek Behún	default "turris_mox" if TARGET_TURRIS_MOX
167*d38f04f7SBaruch Siach	default "controlcenterdc" if TARGET_CONTROLCENTERDC
168b322c83aSStefan Roese
169b322c83aSStefan Roeseconfig SYS_VENDOR
170b322c83aSStefan Roese	default "Marvell" if TARGET_DB_MV784MP_GP
171c5330ae8SKonstantin Porotchkin	default "Marvell" if TARGET_MVEBU_ARMADA_37XX
172606576d5SStefan Roese	default "Marvell" if TARGET_DB_88F6720
173b322c83aSStefan Roese	default "Marvell" if TARGET_DB_88F6820_GP
174c0def248SChris Packham	default "Marvell" if TARGET_DB_88F6820_AMC
175633fa0e7SStefan Roese	default "Marvell" if TARGET_MVEBU_ARMADA_8K
176b322c83aSStefan Roese	default "solidrun" if TARGET_CLEARFOG
177ae28a5f8SDennis Gilmore	default "kobol" if TARGET_HELIOS4
178aefb8f4cSPhil Sutter	default "Synology" if TARGET_DS414
179b6ee860bSMarek Behún	default "CZ.NIC" if TARGET_TURRIS_OMNIA
18080af1a9eSMarek Behún	default "CZ.NIC" if TARGET_TURRIS_MOX
181*d38f04f7SBaruch Siach	default "gdsys" if TARGET_CONTROLCENTERDC
182b322c83aSStefan Roese
183c3d89140SStefan Roeseconfig SYS_SOC
184c3d89140SStefan Roese	default "mvebu"
185c3d89140SStefan Roese
186b6ee860bSMarek Behúnif TARGET_TURRIS_OMNIA
187b6ee860bSMarek Behún
188b6ee860bSMarek Behúnchoice
189b6ee860bSMarek Behún	prompt "Turris Omnia boot method"
190b6ee860bSMarek Behún
191b6ee860bSMarek Behúnconfig TURRIS_OMNIA_SPL_BOOT_DEVICE_SPI
192b6ee860bSMarek Behún	bool "SPI NOR flash"
193b6ee860bSMarek Behún
194b6ee860bSMarek Behúnconfig TURRIS_OMNIA_SPL_BOOT_DEVICE_MMC
195b6ee860bSMarek Behún	bool "SDIO/MMC card"
196b6ee860bSMarek Behún
197b6ee860bSMarek Behúnendchoice
198b6ee860bSMarek Behún
199b6ee860bSMarek Behúnendif
200b6ee860bSMarek Behún
201a1b6b0a9SMario Sixconfig MVEBU_EFUSE
202a1b6b0a9SMario Six	bool "Enable eFuse support"
203a1b6b0a9SMario Six	default n
204a1b6b0a9SMario Six	depends on HAVE_MVEBU_EFUSE
205a1b6b0a9SMario Six	help
206a1b6b0a9SMario Six	  Enable support for reading and writing eFuses on mvebu SoCs.
207a1b6b0a9SMario Six
208a1b6b0a9SMario Sixconfig MVEBU_EFUSE_FAKE
209a1b6b0a9SMario Six	bool "Fake eFuse access (dry run)"
210a1b6b0a9SMario Six	default n
211a1b6b0a9SMario Six	depends on MVEBU_EFUSE
212a1b6b0a9SMario Six	help
213a1b6b0a9SMario Six	  This enables a "dry run" mode where eFuses are not really programmed.
214a1b6b0a9SMario Six	  Instead the eFuse accesses are emulated by writing to and reading
215a1b6b0a9SMario Six	  from a memory block.
216a1b6b0a9SMario Six	  This is can be used for testing prog scripts.
217a1b6b0a9SMario Six
218a1b6b0a9SMario Sixconfig SECURED_MODE_IMAGE
219a1b6b0a9SMario Six	bool "Build image for trusted boot"
220a1b6b0a9SMario Six	default false
221a1b6b0a9SMario Six	depends on 88F6820
222a1b6b0a9SMario Six	help
223a1b6b0a9SMario Six	  Build an image that employs the ARMADA SoC's trusted boot framework
224a1b6b0a9SMario Six	  for securely booting images.
225a1b6b0a9SMario Six
226a1b6b0a9SMario Sixconfig SECURED_MODE_CSK_INDEX
227a1b6b0a9SMario Six	int "Index of active CSK"
228a1b6b0a9SMario Six	default 0
229a1b6b0a9SMario Six	depends on SECURED_MODE_IMAGE
230a1b6b0a9SMario Six
231c3d89140SStefan Roeseendif
232