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