Skip to contentSkip to conversation

Driver for Beckhoff CX5020 EtherCAT master module.

PATCH Superseded Darek Marcinkiewicz 1 participant 1 message May 4, 2014

Subsystems (3)

v6 of 9 Superseded Latest is v9 →

lore
Share & tools
lore

Darek Marcinkiewicz

author maintainer
#0 lore raw

PATCH 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
index 39b26fe..a93ea15 100644
@@ -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
index 545d0b3..35190e3 100644
@@ -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