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"
	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
	select USB_ULPI if USB_PHY
	select USB_ULPI_VIEWPORT if USB_PHY
	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
