Commit e190d6b1 authored by Bryan Wu's avatar Bryan Wu Committed by Jeff Garzik
Browse files

Blackfin ethernet driver: on chip ethernet MAC controller driver



This patch implements the driver necessary use the Analog Devices
Blackfin processor's on-chip ethernet MAC controller.

[try#2]
 - add timeout control
 - kill dma_config_reg bitfields
 - some trivial cleanup

[try#3]
 - add endianess check
 - add DRV_NAME, DRV_VERSION... driver information string
 - add some comments for silicon anomaly and dma API confusion
 - some code trivial cleanup

[try#4]
 - add Blackfin latest GPIO pin mux opertion with Michael Hennerich's
  help and Dan's review
 - rewrite the DMA descriptor list operation in a more readable way
  by Joe's review

[try#5]
 - cleanup some coding style by Joe's review.

[try#6]
 - 1.1 version fix a bug when set up multicast list pointed by Mr. yoshfuji
 - rearrange the desc_list_free function.

Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@analog.com>
Cc: Michael Buesch <mb@bu3sch.de>
Cc: Mike Frysinger <vapier.adi@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Dan Williams <dcbw@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 308a9068
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -732,6 +732,13 @@ L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
W:	http://blackfin.uclinux.org
S:	Supported

BLACKFIN EMAC DRIVER
P:	Bryan Wu
M:	bryan.wu@analog.com
L:	uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
W:	http://blackfin.uclinux.org
S:	Supported

BLACKFIN RTC DRIVER
P:	Mike Frysinger
M:	michael.frysinger@analog.com
+44 −0
Original line number Diff line number Diff line
@@ -838,6 +838,50 @@ config ULTRA32
	  <file:Documentation/networking/net-modules.txt>. The module
	  will be called smc-ultra32.

config BFIN_MAC
	tristate "Blackfin 536/537 on-chip mac support"
	depends on NET_ETHERNET && (BF537 || BF536) && (!BF537_PORT_H)
	select CRC32
	select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE
	help
	  This is the driver for blackfin on-chip mac device. Say Y if you want it
	  compiled into the kernel. This driver is also available as a module
	  ( = code which can be inserted in and removed from the running kernel
	  whenever you want). The module will be called bfin_mac.

config BFIN_MAC_USE_L1
	bool "Use L1 memory for rx/tx packets"
	depends on BFIN_MAC && BF537
	default y
	help
	  To get maximum network performace, you should use L1 memory as rx/tx buffers.
	  Say N here if you want to reserve L1 memory for other uses.

config BFIN_TX_DESC_NUM
	int "Number of transmit buffer packets"
	depends on BFIN_MAC
	range 6 10 if BFIN_MAC_USE_L1
	range 10 100
	default "10"
	help
	  Set the number of buffer packets used in driver.

config BFIN_RX_DESC_NUM
	int "Number of receive buffer packets"
	depends on BFIN_MAC
	range 20 100 if BFIN_MAC_USE_L1
	range 20 800
	default "20"
	help
	  Set the number of buffer packets used in driver.

config BFIN_MAC_RMII
	bool "RMII PHY Interface (EXPERIMENTAL)"
	depends on BFIN_MAC && EXPERIMENTAL
	default n
	help
	  Use Reduced PHY MII Interface

config SMC9194
	tristate "SMC 9194 support"
	depends on NET_VENDOR_SMC && (ISA || MAC && BROKEN)
+1 −0
Original line number Diff line number Diff line
@@ -200,6 +200,7 @@ obj-$(CONFIG_S2IO) += s2io.o
obj-$(CONFIG_MYRI10GE) += myri10ge/
obj-$(CONFIG_SMC91X) += smc91x.o
obj-$(CONFIG_SMC911X) += smc911x.o
obj-$(CONFIG_BFIN_MAC) += bfin_mac.o
obj-$(CONFIG_DM9000) += dm9000.o
obj-$(CONFIG_FEC_8XX) += fec_8xx/
obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o