Skip to content

Commit

Permalink
Ethernet driver for the WIZnet W5300 chip
Browse files Browse the repository at this point in the history
Based on original driver from chip manufacturer, but nearly full rewite.
Tested and used in production with Blackfin BF531 embedded processor.

Signed-off-by: Mike Sinkovsky <msink@permonline.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Mike Sinkovsky authored and David S. Miller committed Apr 5, 2012
1 parent 044a381 commit 9899b81
Show file tree
Hide file tree
Showing 6 changed files with 814 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/net/ethernet/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ source "drivers/net/ethernet/tile/Kconfig"
source "drivers/net/ethernet/toshiba/Kconfig"
source "drivers/net/ethernet/tundra/Kconfig"
source "drivers/net/ethernet/via/Kconfig"
source "drivers/net/ethernet/wiznet/Kconfig"
source "drivers/net/ethernet/xilinx/Kconfig"
source "drivers/net/ethernet/xircom/Kconfig"

Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -73,5 +73,6 @@ obj-$(CONFIG_TILE_NET) += tile/
obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/
obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/
obj-$(CONFIG_NET_VENDOR_VIA) += via/
obj-$(CONFIG_NET_VENDOR_WIZNET) += wiznet/
obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/
obj-$(CONFIG_NET_VENDOR_XIRCOM) += xircom/
65 changes: 65 additions & 0 deletions drivers/net/ethernet/wiznet/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#
# WIZnet devices configuration
#

config NET_VENDOR_WIZNET
bool "WIZnet devices"
default y
---help---
If you have a network (Ethernet) card belonging to this class, say Y
and read the Ethernet-HOWTO, available from
<http://www.tldp.org/docs.html#howto>.

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

if NET_VENDOR_WIZNET

config WIZNET_W5300
tristate "WIZnet W5300 Ethernet support"
---help---
Support for WIZnet W5300 chips.

W5300 is a single chip with integrated 10/100 Ethernet MAC,
PHY and hardware TCP/IP stack, but this driver is limited to
the MAC and PHY functions only, onchip TCP/IP is unused.

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

choice
prompt "WIZnet interface mode"
default WIZNET_BUS_ANY

config WIZNET_BUS_DIRECT
bool "Direct address bus mode"
---help---
In direct address mode host system can directly access all registers
after mapping to Memory-Mapped I/O space.

config WIZNET_BUS_INDIRECT
bool "Indirect address bus mode"
---help---
In indirect address mode host system indirectly accesses registers
using Indirect Mode Address Register and Indirect Mode Data Register,
which are directly mapped to Memory-Mapped I/O space.

config WIZNET_BUS_ANY
bool "Select interface mode in runtime"
---help---
If interface mode is unknown in compile time, it can be selected
in runtime from board/platform resources configuration.

Performance may decrease compared to explicitly selected bus mode.
endchoice

config WIZNET_TX_FLOW
bool "Use transmit flow control"
default y
help
This enables transmit flow control for WIZnet chips.
If unsure, say Y.

endif # NET_VENDOR_WIZNET
1 change: 1 addition & 0 deletions drivers/net/ethernet/wiznet/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
obj-$(CONFIG_WIZNET_W5300) += w5300.o
Loading

0 comments on commit 9899b81

Please sign in to comment.