#
# Atmel device configuration
#

config NET_CADENCE
	bool "Cadence devices"
	depends on HAS_IOMEM && (ARM || AVR32 || COMPILE_TEST)
	default y
	---help---
	  If you have a network (Ethernet) card belonging to this class, say Y.
	  Make sure you know the name of your card. Read the Ethernet-HOWTO,
	  available from <http://www.tldp.org/docs.html#howto>.

	  If unsure, say Y.

	  Note that the answer to this question doesn't directly affect the
	  kernel: saying N will just cause the configurator to skip all
	  the remaining Atmel network card questions. If you say Y, you will be
	  asked for your specific card in the following questions.

if NET_CADENCE

config ARM_AT91_ETHER
	tristate "AT91RM9200 Ethernet support"
	depends on HAS_DMA && (ARCH_AT91RM9200 || COMPILE_TEST)
	select MACB
	---help---
	  If you wish to compile a kernel for the AT91RM9200 and enable
	  ethernet support, then you should always answer Y to this.

config MACB
	tristate "Cadence MACB/GEM support"
	depends on HAS_DMA && (PLATFORM_AT32AP || ARCH_AT91 || ARCH_PICOXCELL || ARCH_ZYNQ || COMPILE_TEST)
	select PHYLIB
	---help---
	  The Cadence MACB ethernet interface is found on many Atmel AT32 and
	  AT91 parts.  This driver also supports the Cadence GEM (Gigabit
	  Ethernet MAC found in some ARM SoC devices).  Note: the Gigabit mode
	  is not yet supported.  Say Y to include support for the MACB/GEM chip.

	  To compile this driver as a module, choose M here: the module
	  will be called macb.

endif # NET_CADENCE
