Skip to content

Commit e190d6b

Browse files
Bryan WuJeff Garzik
authored andcommitted
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: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
1 parent 308a906 commit e190d6b

File tree

5 files changed

+1193
-0
lines changed

5 files changed

+1193
-0
lines changed

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,13 @@ L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
732732
W: http://blackfin.uclinux.org
733733
S: Supported
734734

735+
BLACKFIN EMAC DRIVER
736+
P: Bryan Wu
737+
M: bryan.wu@analog.com
738+
L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
739+
W: http://blackfin.uclinux.org
740+
S: Supported
741+
735742
BLACKFIN RTC DRIVER
736743
P: Mike Frysinger
737744
M: michael.frysinger@analog.com

drivers/net/Kconfig

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,50 @@ config ULTRA32
838838
<file:Documentation/networking/net-modules.txt>. The module
839839
will be called smc-ultra32.
840840

841+
config BFIN_MAC
842+
tristate "Blackfin 536/537 on-chip mac support"
843+
depends on NET_ETHERNET && (BF537 || BF536) && (!BF537_PORT_H)
844+
select CRC32
845+
select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE
846+
help
847+
This is the driver for blackfin on-chip mac device. Say Y if you want it
848+
compiled into the kernel. This driver is also available as a module
849+
( = code which can be inserted in and removed from the running kernel
850+
whenever you want). The module will be called bfin_mac.
851+
852+
config BFIN_MAC_USE_L1
853+
bool "Use L1 memory for rx/tx packets"
854+
depends on BFIN_MAC && BF537
855+
default y
856+
help
857+
To get maximum network performace, you should use L1 memory as rx/tx buffers.
858+
Say N here if you want to reserve L1 memory for other uses.
859+
860+
config BFIN_TX_DESC_NUM
861+
int "Number of transmit buffer packets"
862+
depends on BFIN_MAC
863+
range 6 10 if BFIN_MAC_USE_L1
864+
range 10 100
865+
default "10"
866+
help
867+
Set the number of buffer packets used in driver.
868+
869+
config BFIN_RX_DESC_NUM
870+
int "Number of receive buffer packets"
871+
depends on BFIN_MAC
872+
range 20 100 if BFIN_MAC_USE_L1
873+
range 20 800
874+
default "20"
875+
help
876+
Set the number of buffer packets used in driver.
877+
878+
config BFIN_MAC_RMII
879+
bool "RMII PHY Interface (EXPERIMENTAL)"
880+
depends on BFIN_MAC && EXPERIMENTAL
881+
default n
882+
help
883+
Use Reduced PHY MII Interface
884+
841885
config SMC9194
842886
tristate "SMC 9194 support"
843887
depends on NET_VENDOR_SMC && (ISA || MAC && BROKEN)

drivers/net/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ obj-$(CONFIG_S2IO) += s2io.o
200200
obj-$(CONFIG_MYRI10GE) += myri10ge/
201201
obj-$(CONFIG_SMC91X) += smc91x.o
202202
obj-$(CONFIG_SMC911X) += smc911x.o
203+
obj-$(CONFIG_BFIN_MAC) += bfin_mac.o
203204
obj-$(CONFIG_DM9000) += dm9000.o
204205
obj-$(CONFIG_FEC_8XX) += fec_8xx/
205206
obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o

0 commit comments

Comments
 (0)