0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "Platform selection"
0003
0004 config ARCH_ACTIONS
0005 bool "Actions Semi Platforms"
0006 select OWL_TIMER
0007 select PINCTRL
0008 help
0009 This enables support for the Actions Semiconductor S900 SoC family.
0010
0011 config ARCH_SUNXI
0012 bool "Allwinner sunxi 64-bit SoC Family"
0013 select ARCH_HAS_RESET_CONTROLLER
0014 select PINCTRL
0015 select RESET_CONTROLLER
0016 select SUN4I_TIMER
0017 select SUN6I_R_INTC
0018 select SUNXI_NMI_INTC
0019 help
0020 This enables support for Allwinner sunxi based SoCs like the A64.
0021
0022 config ARCH_ALPINE
0023 bool "Annapurna Labs Alpine platform"
0024 select ALPINE_MSI if PCI
0025 help
0026 This enables support for the Annapurna Labs Alpine
0027 Soc family.
0028
0029 config ARCH_APPLE
0030 bool "Apple Silicon SoC family"
0031 select APPLE_AIC
0032 help
0033 This enables support for Apple's in-house ARM SoC family, starting
0034 with the Apple M1.
0035
0036 config ARCH_BCM2835
0037 bool "Broadcom BCM2835 family"
0038 select TIMER_OF
0039 select GPIOLIB
0040 select MFD_CORE
0041 select PINCTRL
0042 select PINCTRL_BCM2835
0043 select ARM_AMBA
0044 select ARM_GIC
0045 select ARM_TIMER_SP804
0046 help
0047 This enables support for the Broadcom BCM2837 and BCM2711 SoC.
0048 These SoCs are used in the Raspberry Pi 3 and 4 devices.
0049
0050 config ARCH_BCM4908
0051 bool "Broadcom BCM4908 family"
0052 select ARCH_BCMBCA
0053 select GPIOLIB
0054 help
0055 This enables support for the Broadcom BCM4906, BCM4908 and
0056 BCM49408 SoCs. These SoCs use Brahma-B53 cores and can be
0057 found in home routers.
0058
0059 config ARCH_BCM_IPROC
0060 bool "Broadcom iProc SoC Family"
0061 select COMMON_CLK_IPROC
0062 select GPIOLIB
0063 select PINCTRL
0064 help
0065 This enables support for Broadcom iProc based SoCs
0066
0067 config ARCH_BCMBCA
0068 bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
0069 help
0070 Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
0071 BCA chipset.
0072
0073 This enables support for Broadcom BCA ARM-based broadband chipsets,
0074 including the DSL, PON and Wireless family of chips.
0075
0076 config ARCH_BERLIN
0077 bool "Marvell Berlin SoC Family"
0078 select DW_APB_ICTL
0079 select DW_APB_TIMER_OF
0080 select GPIOLIB
0081 select PINCTRL
0082 help
0083 This enables support for Marvell Berlin SoC Family
0084
0085 config ARCH_BITMAIN
0086 bool "Bitmain SoC Platforms"
0087 help
0088 This enables support for the Bitmain SoC Family.
0089
0090 config ARCH_BRCMSTB
0091 bool "Broadcom Set-Top-Box SoCs"
0092 select ARCH_HAS_RESET_CONTROLLER
0093 select GENERIC_IRQ_CHIP
0094 select PINCTRL
0095 help
0096 This enables support for Broadcom's ARMv8 Set Top Box SoCs
0097
0098 config ARCH_EXYNOS
0099 bool "ARMv8 based Samsung Exynos SoC family"
0100 select COMMON_CLK_SAMSUNG
0101 select CLKSRC_EXYNOS_MCT
0102 select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
0103 select EXYNOS_PMU
0104 select PINCTRL
0105 select PINCTRL_EXYNOS
0106 select PM_GENERIC_DOMAINS if PM
0107 select SOC_SAMSUNG
0108 help
0109 This enables support for ARMv8 based Samsung Exynos SoC family.
0110
0111 config ARCH_SPARX5
0112 bool "ARMv8 based Microchip Sparx5 SoC family"
0113 select PINCTRL
0114 select DW_APB_TIMER_OF
0115 help
0116 This enables support for the Microchip Sparx5 ARMv8-based
0117 SoC family of TSN-capable gigabit switches.
0118
0119 The SparX-5 Ethernet switch family provides a rich set of
0120 switching features such as advanced TCAM-based VLAN and QoS
0121 processing enabling delivery of differentiated services, and
0122 security through TCAM-based frame processing using versatile
0123 content aware processor (VCAP).
0124
0125 config ARCH_K3
0126 bool "Texas Instruments Inc. K3 multicore SoC architecture"
0127 select PM_GENERIC_DOMAINS if PM
0128 select MAILBOX
0129 select SOC_TI
0130 select TI_MESSAGE_MANAGER
0131 select TI_SCI_PROTOCOL
0132 select TI_SCI_INTR_IRQCHIP
0133 select TI_SCI_INTA_IRQCHIP
0134 select TI_K3_SOCINFO
0135 help
0136 This enables support for Texas Instruments' K3 multicore SoC
0137 architecture.
0138
0139 config ARCH_LAYERSCAPE
0140 bool "ARMv8 based Freescale Layerscape SoC family"
0141 select EDAC_SUPPORT
0142 help
0143 This enables support for the Freescale Layerscape SoC family.
0144
0145 config ARCH_LG1K
0146 bool "LG Electronics LG1K SoC Family"
0147 help
0148 This enables support for LG Electronics LG1K SoC Family
0149
0150 config ARCH_HISI
0151 bool "Hisilicon SoC Family"
0152 select ARM_TIMER_SP804
0153 select HISILICON_IRQ_MBIGEN if PCI
0154 select PINCTRL
0155 help
0156 This enables support for Hisilicon ARMv8 SoC family
0157
0158 config ARCH_KEEMBAY
0159 bool "Keem Bay SoC"
0160 help
0161 This enables support for Intel Movidius SoC code-named Keem Bay.
0162
0163 config ARCH_MEDIATEK
0164 bool "MediaTek SoC Family"
0165 select ARM_GIC
0166 select PINCTRL
0167 select MTK_TIMER
0168 help
0169 This enables support for MediaTek MT27xx, MT65xx, MT76xx
0170 & MT81xx ARMv8 SoCs
0171
0172 config ARCH_MESON
0173 bool "Amlogic Platforms"
0174 help
0175 This enables support for the arm64 based Amlogic SoCs
0176 such as the s905, S905X/D, S912, A113X/D or S905X/D2
0177
0178 config ARCH_MVEBU
0179 bool "Marvell EBU SoC Family"
0180 select ARMADA_AP806_SYSCON
0181 select ARMADA_CP110_SYSCON
0182 select ARMADA_37XX_CLK
0183 select GPIOLIB
0184 select GPIOLIB_IRQCHIP
0185 select MVEBU_GICP
0186 select MVEBU_ICU
0187 select MVEBU_ODMI
0188 select MVEBU_PIC
0189 select MVEBU_SEI
0190 select OF_GPIO
0191 select PINCTRL
0192 select PINCTRL_ARMADA_37XX
0193 select PINCTRL_ARMADA_AP806
0194 select PINCTRL_ARMADA_CP110
0195 select PINCTRL_AC5
0196 help
0197 This enables support for Marvell EBU familly, including:
0198 - Armada 3700 SoC Family
0199 - Armada 7K SoC Family
0200 - Armada 8K SoC Family
0201 - 98DX2530 SoC Family
0202
0203 config ARCH_MXC
0204 bool "ARMv8 based NXP i.MX SoC family"
0205 select ARM64_ERRATUM_843419
0206 select ARM64_ERRATUM_845719 if COMPAT
0207 select IMX_GPCV2
0208 select IMX_GPCV2_PM_DOMAINS
0209 select PM
0210 select PM_GENERIC_DOMAINS
0211 select SOC_BUS
0212 select TIMER_IMX_SYS_CTR
0213 help
0214 This enables support for the ARMv8 based SoCs in the
0215 NXP i.MX family.
0216
0217 config ARCH_NPCM
0218 bool "Nuvoton NPCM Architecture"
0219 select PINCTRL
0220 select GPIOLIB
0221 select NPCM7XX_TIMER
0222 select RESET_CONTROLLER
0223 select MFD_SYSCON
0224 help
0225 General support for NPCM8xx BMC (Arbel).
0226 Nuvoton NPCM8xx BMC based on the Cortex A35.
0227
0228 config ARCH_QCOM
0229 bool "Qualcomm Platforms"
0230 select GPIOLIB
0231 select PINCTRL
0232 help
0233 This enables support for the ARMv8 based Qualcomm chipsets.
0234
0235 config ARCH_REALTEK
0236 bool "Realtek Platforms"
0237 select RESET_CONTROLLER
0238 help
0239 This enables support for the ARMv8 based Realtek chipsets,
0240 like the RTD1295.
0241
0242 config ARCH_RENESAS
0243 bool "Renesas SoC Platforms"
0244 select GPIOLIB
0245 select PINCTRL
0246 select SOC_BUS
0247 help
0248 This enables support for the ARMv8 based Renesas SoCs.
0249
0250 config ARCH_ROCKCHIP
0251 bool "Rockchip Platforms"
0252 select ARCH_HAS_RESET_CONTROLLER
0253 select PINCTRL
0254 select PM
0255 select ROCKCHIP_TIMER
0256 help
0257 This enables support for the ARMv8 based Rockchip chipsets,
0258 like the RK3368.
0259
0260 config ARCH_S32
0261 bool "NXP S32 SoC Family"
0262 help
0263 This enables support for the NXP S32 family of processors.
0264
0265 config ARCH_SEATTLE
0266 bool "AMD Seattle SoC Family"
0267 help
0268 This enables support for AMD Seattle SOC Family
0269
0270 config ARCH_INTEL_SOCFPGA
0271 bool "Intel's SoCFPGA ARMv8 Families"
0272 help
0273 This enables support for Intel's SoCFPGA ARMv8 families:
0274 Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
0275 Agilex and eASIC N5X.
0276
0277 config ARCH_SYNQUACER
0278 bool "Socionext SynQuacer SoC Family"
0279 select IRQ_FASTEOI_HIERARCHY_HANDLERS
0280
0281 config ARCH_TEGRA
0282 bool "NVIDIA Tegra SoC Family"
0283 select ARCH_HAS_RESET_CONTROLLER
0284 select ARM_GIC_PM
0285 select CLKSRC_MMIO
0286 select TIMER_OF
0287 select GPIOLIB
0288 select PINCTRL
0289 select PM
0290 select PM_GENERIC_DOMAINS
0291 select RESET_CONTROLLER
0292 help
0293 This enables support for the NVIDIA Tegra SoC family.
0294
0295 config ARCH_TESLA_FSD
0296 bool "ARMv8 based Tesla platform"
0297 depends on ARCH_EXYNOS
0298 help
0299 Support for ARMv8 based Tesla platforms.
0300
0301 config ARCH_SPRD
0302 bool "Spreadtrum SoC platform"
0303 help
0304 Support for Spreadtrum ARM based SoCs
0305
0306 config ARCH_THUNDER
0307 bool "Cavium Inc. Thunder SoC Family"
0308 help
0309 This enables support for Cavium's Thunder Family of SoCs.
0310
0311 config ARCH_THUNDER2
0312 bool "Cavium ThunderX2 Server Processors"
0313 select GPIOLIB
0314 help
0315 This enables support for Cavium's ThunderX2 CN99XX family of
0316 server processors.
0317
0318 config ARCH_UNIPHIER
0319 bool "Socionext UniPhier SoC Family"
0320 select ARCH_HAS_RESET_CONTROLLER
0321 select PINCTRL
0322 select RESET_CONTROLLER
0323 help
0324 This enables support for Socionext UniPhier SoC family.
0325
0326 config ARCH_VEXPRESS
0327 bool "ARMv8 software model (Versatile Express)"
0328 select GPIOLIB
0329 select PM
0330 select PM_GENERIC_DOMAINS
0331 help
0332 This enables support for the ARMv8 software model (Versatile
0333 Express).
0334
0335 config ARCH_VISCONTI
0336 bool "Toshiba Visconti SoC Family"
0337 select PINCTRL
0338 select PINCTRL_VISCONTI
0339 help
0340 This enables support for Toshiba Visconti SoCs Family.
0341
0342 config ARCH_XGENE
0343 bool "AppliedMicro X-Gene SOC Family"
0344 help
0345 This enables support for AppliedMicro X-Gene SOC Family
0346
0347 config ARCH_ZYNQMP
0348 bool "Xilinx ZynqMP Family"
0349 help
0350 This enables support for Xilinx ZynqMP Family
0351
0352 endmenu # "Platform selection"