#
# Copyright (C) 2013-15 Synopsys, Inc. (www.synopsys.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#

menuconfig ARC_PLAT_AXS10X
	bool "Synopsys ARC AXS10x Software Development Platforms"
	select DW_APB_ICTL
	select GPIO_DWAPB
	select OF_GPIO
	select MIGHT_HAVE_PCI
	select GENERIC_IRQ_CHIP
	select ARCH_REQUIRE_GPIOLIB
	help
	  Support for the ARC AXS10x Software Development Platforms.

	  The AXS10x Platforms consist of a mainboard with peripherals,
	  on which several daughter cards can be placed. The daughter cards
	  typically contain a CPU and memory.

if ARC_PLAT_AXS10X

config AXS101
	depends on ISA_ARCOMPACT
	bool "AXS101 with AXC001 CPU Card (ARC 770D/EM6/AS221)"
	help
	  This adds support for the 770D/EM6/AS221 CPU Card. Only the ARC
	  770D is supported in Linux.

	  The AXS101 Platform consists of an AXS10x mainboard with
	  this daughtercard. Please use the axs101.dts device tree
	  with this configuration.

config AXS103
	bool "AXS103 with AXC003 CPU Card (ARC HS38x)"
	depends on ISA_ARCV2
	help
	  This adds support for the HS38x CPU Card.

	  The AXS103 Platform consists of an AXS10x mainboard with
	  this daughtercard. Please use the axs103.dts device tree
	  with this configuration.

endif
