Driver for Beckhoff CX5020 EtherCAT master module.
Subsystems (3)
Darek Marcinkiewicz
maintainerPATCH v6 1/1 Driver for Beckhoff CX5020 EtherCAT master module.
This driver adds support for EtherCAT master module located on CCAT FPGA found on Beckhoff CX series industrial PCs. The driver exposes EtherCAT master as an ethernet interface.
EtherCAT is a fieldbus protocol defined on top of ethernet and Beckhoff CX5020 PCs come with built-in EtherCAT master module located on a FPGA, which in turn is connected to a PCI bus.
---
Changes from v5:
* removal of needless locking on tx path
* driver makes actual use of tx fifo
* driver uses descriptors' array instead of descriptor list
Changes from v4:
* incorporates Francois Romieu comments
* fixes typo spotted by Jesper Brouer
Changes from v3:
* some clarificatoins around buffer allocations
Changes from v2:
* removed all checkpatch warnings
* driver makes use of device rx fifo
Changes from v1:
* added endianess annotation to descriptors' structures
* killed checkpath warnings about string literals being split into multiple lines
drivers/net/ethernet/Kconfig | 11 + drivers/net/ethernet/Makefile | 1 + drivers/net/ethernet/ec_bhf.c | 701 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 713 insertions(+) create mode 100644 drivers/net/ethernet/ec_bhf.c
drivers/net/ethernet/Kconfig +11 -0
@@ -35,6 +35,17 @@ source "drivers/net/ethernet/calxeda/Kconfig" source "drivers/net/ethernet/chelsio/Kconfig" source "drivers/net/ethernet/cirrus/Kconfig" source "drivers/net/ethernet/cisco/Kconfig" + +config CX_ECAT + tristate "Beckhoff CX5020 EtherCAT master support" + ---help--- + Driver for EtherCAT master module located on CCAT FPGA + that can be found on Beckhoff CX5020, and possibly other of CX + Beckhoff CX series industrial PCs. + + To compile this driver as a module, choose M here. The module + will be called ec_bhf. + source "drivers/net/ethernet/davicom/Kconfig" config DNET
drivers/net/ethernet/Makefile +1 -0
@@ -21,6 +21,7 @@ obj-$(CONFIG_NET_CALXEDA_XGMAC) += calxeda/ obj-$(CONFIG_NET_VENDOR_CHELSIO) += chelsio/ obj-$(CONFIG_NET_VENDOR_CIRRUS) += cirrus/ obj-$(CONFIG_NET_VENDOR_CISCO) += cisco/ +obj-$(CONFIG_CX_ECAT) += ec_bhf.o obj-$(CONFIG_DM9000) += davicom/ obj-$(CONFIG_DNET) += dnet.o obj-$(CONFIG_NET_VENDOR_DEC) += dec/
drivers/net/ethernet/ec_bhf.c new file +701 -0
701 lines not on this page · raw message
Signature · 1 line
1.7.10.4