#
# Acorn Network device configuration
#  These are for Acorn's Expansion card network interfaces
#
config ARM_AM79C961A
	bool "ARM EBSA110 AM79C961A support"
	depends on ARM && ARCH_EBSA110
	select CRC32
	help
	  If you wish to compile a kernel for the EBSA-110, then you should
	  always answer Y to this.

config ARM_ETHER1
	tristate "Acorn Ether1 support"
	depends on ARM && ARCH_ACORN
	help
	  If you have an Acorn system with one of these (AKA25) network cards,
	  you should say Y to this option if you wish to use it with Linux.

config ARM_ETHER3
	tristate "Acorn/ANT Ether3 support"
	depends on ARM && ARCH_ACORN
	help
	  If you have an Acorn system with one of these network cards, you
	  should say Y to this option if you wish to use it with Linux.

config ARM_ETHERH
	tristate "I-cubed EtherH/ANT EtherM support"
	depends on ARM && ARCH_ACORN
	select CRC32
	help
	  If you have an Acorn system with one of these network cards, you
	  should say Y to this option if you wish to use it with Linux.

config ARM_AT91_ETHER
	tristate "AT91RM9200 Ethernet support"
	depends on ARM && ARCH_AT91RM9200
	select MII
	help
	  If you wish to compile a kernel for the AT91RM9200 and enable
	  ethernet support, then you should always answer Y to this.

config EP93XX_ETH
	tristate "EP93xx Ethernet support"
	depends on ARM && ARCH_EP93XX
	help
	  This is a driver for the ethernet hardware included in EP93xx CPUs.
	  Say Y if you are building a kernel for EP93xx based devices.
