1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig ARCH_MVEBU
3	bool "Marvell Engineering Business Unit (MVEBU) SoCs"
4	depends on ARCH_MULTI_V7 || ARCH_MULTI_V5
5	select ARCH_SUPPORTS_BIG_ENDIAN
6	select CLKSRC_MMIO
7	select PINCTRL
8	select PLAT_ORION
9	select SOC_BUS
10	select MVEBU_MBUS
11	select ZONE_DMA if ARM_LPAE
12	select GPIOLIB
13	select PCI_QUIRKS if PCI
14
15if ARCH_MVEBU
16
17config MACH_MVEBU_ANY
18	bool
19
20config MACH_MVEBU_V7
21	bool
22	select ARMADA_370_XP_TIMER
23	select CACHE_L2X0
24	select ARM_CPU_SUSPEND
25	select MACH_MVEBU_ANY
26	select MVEBU_CLK_COREDIV
27
28config MACH_ARMADA_370
29	bool "Marvell Armada 370 boards"
30	depends on ARCH_MULTI_V7
31	select ARMADA_370_CLK
32	select ARMADA_370_XP_IRQ
33	select CPU_PJ4B
34	select MACH_MVEBU_V7
35	select PINCTRL_ARMADA_370
36	help
37	  Say 'Y' here if you want your kernel to support boards based
38	  on the Marvell Armada 370 SoC with device tree.
39
40config MACH_ARMADA_375
41	bool "Marvell Armada 375 boards"
42	depends on ARCH_MULTI_V7
43	select ARMADA_370_XP_IRQ
44	select ARM_ERRATA_720789
45	select PL310_ERRATA_753970
46	select ARM_GIC
47	select ARMADA_375_CLK
48	select HAVE_ARM_SCU
49	select HAVE_ARM_TWD if SMP
50	select MACH_MVEBU_V7
51	select PINCTRL_ARMADA_375
52	help
53	  Say 'Y' here if you want your kernel to support boards based
54	  on the Marvell Armada 375 SoC with device tree.
55
56config MACH_ARMADA_38X
57	bool "Marvell Armada 380/385 boards"
58	depends on ARCH_MULTI_V7
59	select ARM_ERRATA_720789
60	select PL310_ERRATA_753970
61	select ARM_GIC
62	select ARM_GLOBAL_TIMER
63	select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
64	select ARMADA_370_XP_IRQ
65	select ARMADA_38X_CLK
66	select HAVE_ARM_SCU
67	select HAVE_ARM_TWD if SMP
68	select MACH_MVEBU_V7
69	select PINCTRL_ARMADA_38X
70	help
71	  Say 'Y' here if you want your kernel to support boards based
72	  on the Marvell Armada 380/385 SoC with device tree.
73
74config MACH_ARMADA_39X
75	bool "Marvell Armada 39x boards"
76	depends on ARCH_MULTI_V7
77	select ARM_GIC
78	select ARMADA_370_XP_IRQ
79	select ARMADA_39X_CLK
80	select CACHE_L2X0
81	select HAVE_ARM_SCU
82	select HAVE_ARM_TWD if SMP
83	select MACH_MVEBU_V7
84	select PINCTRL_ARMADA_39X
85	help
86	  Say 'Y' here if you want your kernel to support boards based
87	  on the Marvell Armada 39x SoC with device tree.
88
89config MACH_ARMADA_XP
90	bool "Marvell Armada XP boards"
91	depends on ARCH_MULTI_V7
92	select ARMADA_370_XP_IRQ
93	select ARMADA_XP_CLK
94	select CPU_PJ4B
95	select MACH_MVEBU_V7
96	select PINCTRL_ARMADA_XP
97	help
98	  Say 'Y' here if you want your kernel to support boards based
99	  on the Marvell Armada XP SoC with device tree.
100
101config MACH_DOVE
102	bool "Marvell Dove boards"
103	depends on ARCH_MULTI_V7
104	select CACHE_L2X0
105	select CPU_PJ4
106	select DOVE_CLK
107	select MACH_MVEBU_ANY
108	select ORION_IRQCHIP
109	select ORION_TIMER
110	select PM_GENERIC_DOMAINS if PM
111	select PINCTRL_DOVE
112	help
113	  Say 'Y' here if you want your kernel to support the
114	  Marvell Dove using flattened device tree.
115
116config MACH_KIRKWOOD
117	bool "Marvell Kirkwood boards"
118	depends on ARCH_MULTI_V5
119	select CPU_FEROCEON
120	select GPIOLIB
121	select KIRKWOOD_CLK
122	select MACH_MVEBU_ANY
123	select ORION_IRQCHIP
124	select ORION_TIMER
125	select FORCE_PCI
126	select PCI_QUIRKS
127	select PINCTRL_KIRKWOOD
128	help
129	  Say 'Y' here if you want your kernel to support boards based
130	  on the Marvell Kirkwood device tree.
131
132endif
133