menu "Platform selection"

config ARCH_BCM_IPROC
	bool "Broadcom iProc SoC Family"
	help
	  This enables support for Broadcom iProc based SoCs

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

config ARCH_EXYNOS
	bool
	help
	  This enables support for Samsung Exynos SoC family

config ARCH_EXYNOS7
	bool "ARMv8 based Samsung Exynos7"
	select ARCH_EXYNOS
	select COMMON_CLK_SAMSUNG
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
	select PINCTRL
	select PINCTRL_EXYNOS

	help
	  This enables support for Samsung Exynos7 SoC family

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

config ARCH_HISI
	bool "Hisilicon SoC Family"
	select ARM_TIMER_SP804
	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
	help
	  Support for Mediatek MT65xx & MT81xx ARMv8 SoCs

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 ARCH_REQUIRE_GPIOLIB
	select PINCTRL
	select PINCTRL_ROCKCHIP
	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_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 ARCH_REQUIRE_GPIOLIB
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select CLKSRC_OF
	select GENERIC_CLOCKEVENTS
	select HAVE_CLK
	select PINCTRL
	select RESET_CONTROLLER
	help
	  This enables support for the NVIDIA Tegra SoC family.

config ARCH_TEGRA_132_SOC
	bool "NVIDIA Tegra132 SoC"
	depends on ARCH_TEGRA
	select PINCTRL_TEGRA124
	help
	  Enable support for NVIDIA Tegra132 SoC, based on the Denver
	  ARMv8 CPU.  The Tegra132 SoC is similar to the Tegra124 SoC,
	  but contains an NVIDIA Denver CPU complex in place of
	  Tegra124's "4+1" Cortex-A15 CPU complex.

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_VEXPRESS
	bool "ARMv8 software model (Versatile Express)"
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLK_VERSATILE
	select POWER_RESET_VEXPRESS
	select VEXPRESS_CONFIG
	help
	  This enables support for the ARMv8 software model (Versatile
	  Express).

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

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

endmenu
