menu "Platform selection"

config ARCH_SUNXI
	bool "Allwinner sunxi 64-bit SoC Family"
	select ARCH_HAS_RESET_CONTROLLER
	select GENERIC_IRQ_CHIP
	select PINCTRL
	select PINCTRL_SUN50I_A64
	select RESET_CONTROLLER
	help
	  This enables support for Allwinner sunxi based SoCs like the A64.

config ARCH_ALPINE
	bool "Annapurna Labs Alpine platform"
	select ALPINE_MSI if PCI
	help
	  This enables support for the Annapurna Labs Alpine
	  Soc family.

config ARCH_BCM2835
	bool "Broadcom BCM2835 family"
	select CLKSRC_OF
	select GPIOLIB
	select PINCTRL
	select PINCTRL_BCM2835
	select ARM_AMBA
	select ARM_TIMER_SP804
	select HAVE_ARM_ARCH_TIMER
	help
	  This enables support for the Broadcom BCM2837 SoC.
	  This SoC is used in the Raspberry Pi 3 device.

config ARCH_BCM_IPROC
	bool "Broadcom iProc SoC Family"
	select COMMON_CLK_IPROC
	select GPIOLIB
	select PINCTRL
	help
	  This enables support for Broadcom iProc based SoCs

config ARCH_BERLIN
	bool "Marvell Berlin SoC Family"
	select DW_APB_ICTL
	select GPIOLIB
	select PINCTRL
	help
	  This enables support for Marvell Berlin SoC Family

config ARCH_BRCMSTB
	bool "Broadcom Set-Top-Box SoCs"
	select BRCMSTB_L2_IRQ
	select GENERIC_IRQ_CHIP
	help
	  This enables support for Broadcom's ARMv8 Set Top Box SoCs

config ARCH_EXYNOS
	bool "ARMv8 based Samsung Exynos SoC family"
	select COMMON_CLK_SAMSUNG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
	select PINCTRL
	select PINCTRL_EXYNOS
	select SOC_SAMSUNG
	help
	  This enables support for ARMv8 based Samsung Exynos SoC family.

config ARCH_LAYERSCAPE
	bool "ARMv8 based Freescale Layerscape SoC family"
	select EDAC_SUPPORT
	help
	  This enables support for the Freescale Layerscape SoC family.

config ARCH_LG1K
	bool "LG Electronics LG1K SoC Family"
	help
	  This enables support for LG Electronics LG1K SoC Family

config ARCH_HISI
	bool "Hisilicon SoC Family"
	select ARM_TIMER_SP804
	select HISILICON_IRQ_MBIGEN if PCI
	select PINCTRL
	help
	  This enables support for Hisilicon ARMv8 SoC family

config ARCH_MEDIATEK
	bool "Mediatek MT65xx & MT81xx ARMv8 SoC"
	select ARM_GIC
	select PINCTRL
	select MTK_TIMER
	help
	  Support for Mediatek MT65xx & MT81xx ARMv8 SoCs

config ARCH_MESON
	bool "Amlogic Platforms"
	select PINCTRL
	select PINCTRL_MESON
	select COMMON_CLK_AMLOGIC
	select COMMON_CLK_GXBB
	help
	  This enables support for the Amlogic S905 SoCs.

config ARCH_MVEBU
	bool "Marvell EBU SoC Family"
	select ARMADA_AP806_SYSCON
	select ARMADA_CP110_SYSCON
	select ARMADA_37XX_CLK
	select MVEBU_ODMI
	select MVEBU_PIC
	help
	  This enables support for Marvell EBU familly, including:
	   - Armada 3700 SoC Family
	   - Armada 7K SoC Family
	   - Armada 8K SoC Family

config ARCH_QCOM
	bool "Qualcomm Platforms"
	select PINCTRL
	help
	  This enables support for the ARMv8 based Qualcomm chipsets.

config ARCH_ROCKCHIP
	bool "Rockchip Platforms"
	select ARCH_HAS_RESET_CONTROLLER
	select GPIOLIB
	select PINCTRL
	select PINCTRL_ROCKCHIP
	select ROCKCHIP_TIMER
	help
	  This enables support for the ARMv8 based Rockchip chipsets,
	  like the RK3368.

config ARCH_SEATTLE
	bool "AMD Seattle SoC Family"
	help
	  This enables support for AMD Seattle SOC Family

config ARCH_SHMOBILE
	bool

config ARCH_RENESAS
	bool "Renesas SoC Platforms"
	select ARCH_SHMOBILE
	select PINCTRL
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_IRQC
	help
	  This enables support for the ARMv8 based Renesas SoCs.

config ARCH_R8A7795
	bool "Renesas R-Car H3 SoC Platform"
	depends on ARCH_RENESAS
	help
	  This enables support for the Renesas R-Car H3 SoC.

config ARCH_R8A7796
	bool "Renesas R-Car M3-W SoC Platform"
	depends on ARCH_RENESAS
	help
	  This enables support for the Renesas R-Car M3-W SoC.

config ARCH_STRATIX10
	bool "Altera's Stratix 10 SoCFPGA Family"
	help
	  This enables support for Altera's Stratix 10 SoCFPGA Family.

config ARCH_TEGRA
	bool "NVIDIA Tegra SoC Family"
	select ARCH_HAS_RESET_CONTROLLER
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select CLKSRC_OF
	select GENERIC_CLOCKEVENTS
	select GPIOLIB
	select PINCTRL
	select PM
	select PM_GENERIC_DOMAINS
	select RESET_CONTROLLER
	help
	  This enables support for the NVIDIA Tegra SoC family.

config ARCH_SPRD
	bool "Spreadtrum SoC platform"
	help
	  Support for Spreadtrum ARM based SoCs

config ARCH_THUNDER
	bool "Cavium Inc. Thunder SoC Family"
	help
	  This enables support for Cavium's Thunder Family of SoCs.

config ARCH_UNIPHIER
	bool "Socionext UniPhier SoC Family"
	select ARCH_HAS_RESET_CONTROLLER
	select PINCTRL
	help
	  This enables support for Socionext UniPhier SoC family.

config ARCH_VEXPRESS
	bool "ARMv8 software model (Versatile Express)"
	select COMMON_CLK_VERSATILE
	select GPIOLIB
	select PM
	select PM_GENERIC_DOMAINS
	select POWER_RESET_VEXPRESS
	select VEXPRESS_CONFIG
	help
	  This enables support for the ARMv8 software model (Versatile
	  Express).

config ARCH_VULCAN
	bool "Broadcom Vulcan SOC Family"
	select GPIOLIB
	help
	  This enables support for Broadcom Vulcan SoC Family

config ARCH_XGENE
	bool "AppliedMicro X-Gene SOC Family"
	help
	  This enables support for AppliedMicro X-Gene SOC Family

config ARCH_ZX
	bool "ZTE ZX SoC Family"
	help
	  This enables support for ZTE ZX SoC Family

config ARCH_ZYNQMP
	bool "Xilinx ZynqMP Family"
	help
	  This enables support for Xilinx ZynqMP Family

config ARCH_FSL_IMX8QM
	bool "Freescale i.MX8QM SOC"
	select PINCTRL
	select PINCTRL_IMX
	select PINCTRL_IMX8QM
	select PM
	select SOC_BUS
	help
	  This enables support for Freescale i.MX8QM SOC.

config ARCH_FSL_IMX8QP
	bool "Freescale i.MX8QP SOC"
	select PINCTRL
	select PINCTRL_IMX
	select PINCTRL_IMX8QM
	select PM
	select SOC_BUS
	help
	  This enables support for Freescale i.MX8QP SOC.


config ARCH_FSL_IMX8QXP
	bool "Freescale i.MX8QXP SOC"
	select PINCTRL
	select PINCTRL_IMX
	select PINCTRL_IMX8QXP
	select PM
	select SOC_BUS
	help
	  This enables support for Freescale i.MX8QXP SOC.

config ARCH_FSL_IMX8MQ
	bool "Freescale i.MX8MQ SOC"
	select ARCH_MXC
	select SERIAL_IMX
	select PINCTRL
	select PINCTRL_IMX
	select PINCTRL_IMX8MQ
	select PM
	select SOC_BUS
	select KEYBOARD_SNVS_PWRKEY
	help
	  This enables support for Freescale i.MX8MQ SOC.

endmenu
