xref: /openbmc/linux/arch/arm64/Kconfig.platforms (revision f8e17c17)
1# SPDX-License-Identifier: GPL-2.0-only
2menu "Platform selection"
3
4config ARCH_ACTIONS
5	bool "Actions Semi Platforms"
6	select OWL_TIMER
7	select PINCTRL
8	help
9	  This enables support for the Actions Semiconductor S900 SoC family.
10
11config ARCH_AGILEX
12	bool "Intel's Agilex SoCFPGA Family"
13	help
14	  This enables support for Intel's Agilex SoCFPGA Family.
15
16config ARCH_SUNXI
17	bool "Allwinner sunxi 64-bit SoC Family"
18	select ARCH_HAS_RESET_CONTROLLER
19	select GENERIC_IRQ_CHIP
20	select PINCTRL
21	select RESET_CONTROLLER
22	help
23	  This enables support for Allwinner sunxi based SoCs like the A64.
24
25config ARCH_ALPINE
26	bool "Annapurna Labs Alpine platform"
27	select ALPINE_MSI if PCI
28	help
29	  This enables support for the Annapurna Labs Alpine
30	  Soc family.
31
32config ARCH_BCM2835
33	bool "Broadcom BCM2835 family"
34	select TIMER_OF
35	select GPIOLIB
36	select MFD_CORE
37	select PINCTRL
38	select PINCTRL_BCM2835
39	select ARM_AMBA
40	select ARM_GIC
41	select ARM_TIMER_SP804
42	select HAVE_ARM_ARCH_TIMER
43	help
44	  This enables support for the Broadcom BCM2837 and BCM2711 SoC.
45	  These SoCs are used in the Raspberry Pi 3 and 4 devices.
46
47config ARCH_BCM_IPROC
48	bool "Broadcom iProc SoC Family"
49	select COMMON_CLK_IPROC
50	select GPIOLIB
51	select PINCTRL
52	help
53	  This enables support for Broadcom iProc based SoCs
54
55config ARCH_BERLIN
56	bool "Marvell Berlin SoC Family"
57	select DW_APB_ICTL
58	select GPIOLIB
59	select PINCTRL
60	help
61	  This enables support for Marvell Berlin SoC Family
62
63config ARCH_BITMAIN
64	bool "Bitmain SoC Platforms"
65	help
66	  This enables support for the Bitmain SoC Family.
67
68config ARCH_BRCMSTB
69	bool "Broadcom Set-Top-Box SoCs"
70	select ARCH_HAS_RESET_CONTROLLER
71	select BCM7038_L1_IRQ
72	select BRCMSTB_L2_IRQ
73	select GENERIC_IRQ_CHIP
74	select PINCTRL
75	help
76	  This enables support for Broadcom's ARMv8 Set Top Box SoCs
77
78config ARCH_EXYNOS
79	bool "ARMv8 based Samsung Exynos SoC family"
80	select COMMON_CLK_SAMSUNG
81	select EXYNOS_CHIPID
82	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
83	select EXYNOS_PMU
84	select HAVE_S3C2410_WATCHDOG if WATCHDOG
85	select HAVE_S3C_RTC if RTC_CLASS
86	select PINCTRL
87	select PINCTRL_EXYNOS
88	select PM_GENERIC_DOMAINS if PM
89	select SOC_SAMSUNG
90	help
91	  This enables support for ARMv8 based Samsung Exynos SoC family.
92
93config ARCH_K3
94	bool "Texas Instruments Inc. K3 multicore SoC architecture"
95	select PM_GENERIC_DOMAINS if PM
96	select MAILBOX
97	select SOC_TI
98	select TI_MESSAGE_MANAGER
99	select TI_SCI_PROTOCOL
100	select TI_SCI_INTR_IRQCHIP
101	select TI_SCI_INTA_IRQCHIP
102	help
103	  This enables support for Texas Instruments' K3 multicore SoC
104	  architecture.
105
106config ARCH_LAYERSCAPE
107	bool "ARMv8 based Freescale Layerscape SoC family"
108	select EDAC_SUPPORT
109	help
110	  This enables support for the Freescale Layerscape SoC family.
111
112config ARCH_LG1K
113	bool "LG Electronics LG1K SoC Family"
114	help
115	  This enables support for LG Electronics LG1K SoC Family
116
117config ARCH_HISI
118	bool "Hisilicon SoC Family"
119	select ARM_TIMER_SP804
120	select HISILICON_IRQ_MBIGEN if PCI
121	select PINCTRL
122	help
123	  This enables support for Hisilicon ARMv8 SoC family
124
125config ARCH_MEDIATEK
126	bool "MediaTek SoC Family"
127	select ARM_GIC
128	select PINCTRL
129	select MTK_TIMER
130	help
131	  This enables support for MediaTek MT27xx, MT65xx, MT76xx
132	  & MT81xx ARMv8 SoCs
133
134config ARCH_MESON
135	bool "Amlogic Platforms"
136	select PINCTRL
137	select PINCTRL_MESON
138	select COMMON_CLK_GXBB
139	select COMMON_CLK_AXG
140	select COMMON_CLK_G12A
141	select MESON_IRQ_GPIO
142	help
143	  This enables support for the arm64 based Amlogic SoCs
144	  such as the s905, S905X/D, S912, A113X/D or S905X/D2
145
146config ARCH_MVEBU
147	bool "Marvell EBU SoC Family"
148	select ARMADA_AP806_SYSCON
149	select ARMADA_CP110_SYSCON
150	select ARMADA_37XX_CLK
151	select GPIOLIB
152	select GPIOLIB_IRQCHIP
153	select MVEBU_GICP
154	select MVEBU_ICU
155	select MVEBU_ODMI
156	select MVEBU_PIC
157	select MVEBU_SEI
158	select OF_GPIO
159	select PINCTRL
160	select PINCTRL_ARMADA_37XX
161	select PINCTRL_ARMADA_AP806
162	select PINCTRL_ARMADA_CP110
163	help
164	  This enables support for Marvell EBU familly, including:
165	   - Armada 3700 SoC Family
166	   - Armada 7K SoC Family
167	   - Armada 8K SoC Family
168
169config ARCH_MXC
170	bool "ARMv8 based NXP i.MX SoC family"
171	select ARM64_ERRATUM_843419
172	select ARM64_ERRATUM_845719 if COMPAT
173	select IMX_GPCV2
174	select IMX_GPCV2_PM_DOMAINS
175	select PM
176	select PM_GENERIC_DOMAINS
177	select SOC_BUS
178	select TIMER_IMX_SYS_CTR
179	help
180	  This enables support for the ARMv8 based SoCs in the
181	  NXP i.MX family.
182
183config ARCH_QCOM
184	bool "Qualcomm Platforms"
185	select GPIOLIB
186	select PINCTRL
187	help
188	  This enables support for the ARMv8 based Qualcomm chipsets.
189
190config ARCH_REALTEK
191	bool "Realtek Platforms"
192	select RESET_CONTROLLER
193	help
194	  This enables support for the ARMv8 based Realtek chipsets,
195	  like the RTD1295.
196
197config ARCH_RENESAS
198	bool "Renesas SoC Platforms"
199	select GPIOLIB
200	select PINCTRL
201	select SOC_BUS
202	help
203	  This enables support for the ARMv8 based Renesas SoCs.
204
205config ARCH_ROCKCHIP
206	bool "Rockchip Platforms"
207	select ARCH_HAS_RESET_CONTROLLER
208	select GPIOLIB
209	select PINCTRL
210	select PINCTRL_ROCKCHIP
211	select PM
212	select ROCKCHIP_TIMER
213	help
214	  This enables support for the ARMv8 based Rockchip chipsets,
215	  like the RK3368.
216
217config ARCH_S32
218	bool "NXP S32 SoC Family"
219	help
220	  This enables support for the NXP S32 family of processors.
221
222config ARCH_SEATTLE
223	bool "AMD Seattle SoC Family"
224	help
225	  This enables support for AMD Seattle SOC Family
226
227config ARCH_STRATIX10
228	bool "Altera's Stratix 10 SoCFPGA Family"
229	help
230	  This enables support for Altera's Stratix 10 SoCFPGA Family.
231
232config ARCH_SYNQUACER
233	bool "Socionext SynQuacer SoC Family"
234
235config ARCH_TEGRA
236	bool "NVIDIA Tegra SoC Family"
237	select ARCH_HAS_RESET_CONTROLLER
238	select ARM_GIC_PM
239	select CLKDEV_LOOKUP
240	select CLKSRC_MMIO
241	select TIMER_OF
242	select GENERIC_CLOCKEVENTS
243	select GPIOLIB
244	select PINCTRL
245	select PM
246	select PM_GENERIC_DOMAINS
247	select RESET_CONTROLLER
248	help
249	  This enables support for the NVIDIA Tegra SoC family.
250
251config ARCH_SPRD
252	bool "Spreadtrum SoC platform"
253	help
254	  Support for Spreadtrum ARM based SoCs
255
256config ARCH_THUNDER
257	bool "Cavium Inc. Thunder SoC Family"
258	help
259	  This enables support for Cavium's Thunder Family of SoCs.
260
261config ARCH_THUNDER2
262	bool "Cavium ThunderX2 Server Processors"
263	select GPIOLIB
264	help
265	  This enables support for Cavium's ThunderX2 CN99XX family of
266	  server processors.
267
268config ARCH_UNIPHIER
269	bool "Socionext UniPhier SoC Family"
270	select ARCH_HAS_RESET_CONTROLLER
271	select PINCTRL
272	select RESET_CONTROLLER
273	help
274	  This enables support for Socionext UniPhier SoC family.
275
276config ARCH_VEXPRESS
277	bool "ARMv8 software model (Versatile Express)"
278	select COMMON_CLK_VERSATILE
279	select GPIOLIB
280	select PM
281	select PM_GENERIC_DOMAINS
282	select POWER_RESET_VEXPRESS
283	select VEXPRESS_CONFIG
284	help
285	  This enables support for the ARMv8 software model (Versatile
286	  Express).
287
288config ARCH_VULCAN
289	def_bool n
290
291config ARCH_XGENE
292	bool "AppliedMicro X-Gene SOC Family"
293	help
294	  This enables support for AppliedMicro X-Gene SOC Family
295
296config ARCH_ZX
297	bool "ZTE ZX SoC Family"
298	select PINCTRL
299	help
300	  This enables support for ZTE ZX SoC Family
301
302config ARCH_ZYNQMP
303	bool "Xilinx ZynqMP Family"
304	select ZYNQMP_FIRMWARE
305	help
306	  This enables support for Xilinx ZynqMP Family
307
308endmenu
309