Commit 9899b81e authored by Mike Sinkovsky's avatar Mike Sinkovsky Committed by David S. Miller

Ethernet driver for the WIZnet W5300 chip

Based on original driver from chip manufacturer, but nearly full rewite.
Tested and used in production with Blackfin BF531 embedded processor.
Signed-off-by: default avatarMike Sinkovsky <msink@permonline.ru>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 044a3813
...@@ -174,6 +174,7 @@ source "drivers/net/ethernet/tile/Kconfig" ...@@ -174,6 +174,7 @@ source "drivers/net/ethernet/tile/Kconfig"
source "drivers/net/ethernet/toshiba/Kconfig" source "drivers/net/ethernet/toshiba/Kconfig"
source "drivers/net/ethernet/tundra/Kconfig" source "drivers/net/ethernet/tundra/Kconfig"
source "drivers/net/ethernet/via/Kconfig" source "drivers/net/ethernet/via/Kconfig"
source "drivers/net/ethernet/wiznet/Kconfig"
source "drivers/net/ethernet/xilinx/Kconfig" source "drivers/net/ethernet/xilinx/Kconfig"
source "drivers/net/ethernet/xircom/Kconfig" source "drivers/net/ethernet/xircom/Kconfig"
......
...@@ -73,5 +73,6 @@ obj-$(CONFIG_TILE_NET) += tile/ ...@@ -73,5 +73,6 @@ obj-$(CONFIG_TILE_NET) += tile/
obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/ obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/
obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/ obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/
obj-$(CONFIG_NET_VENDOR_VIA) += via/ obj-$(CONFIG_NET_VENDOR_VIA) += via/
obj-$(CONFIG_NET_VENDOR_WIZNET) += wiznet/
obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/ obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/
obj-$(CONFIG_NET_VENDOR_XIRCOM) += xircom/ obj-$(CONFIG_NET_VENDOR_XIRCOM) += xircom/
#
# 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
obj-$(CONFIG_WIZNET_W5300) += w5300.o
This diff is collapsed.
/*
* Ethernet driver for the WIZnet W5x00 chip.
*
* Licensed under the GPL-2 or later.
*/
#ifndef PLATFORM_DATA_WIZNET_H
#define PLATFORM_DATA_WIZNET_H
#include <linux/if_ether.h>
struct wiznet_platform_data {
int link_gpio;
u8 mac_addr[ETH_ALEN];
};
#ifndef CONFIG_WIZNET_BUS_SHIFT
#define CONFIG_WIZNET_BUS_SHIFT 0
#endif
#define W5100_BUS_DIRECT_SIZE (0x8000 << CONFIG_WIZNET_BUS_SHIFT)
#define W5300_BUS_DIRECT_SIZE (0x0400 << CONFIG_WIZNET_BUS_SHIFT)
#endif /* PLATFORM_DATA_WIZNET_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment