mbox series

[net-next,0/3] Arrow SpeedChips XRS700x DSA Driver

Message ID 20201120181627.21382-1-george.mccollister@gmail.com (mailing list archive)
Headers show
Series Arrow SpeedChips XRS700x DSA Driver | expand

Message

George McCollister Nov. 20, 2020, 6:16 p.m. UTC
This series adds a DSA driver for the Arrow SpeedChips XRS 7000 series
of HSR/PRP gigabit switch chips.

The chips use Flexibilis IP.
More information can be found here:
 https://www.flexibilis.com/products/speedchips-xrs7000/

The switches have up to three RGMII ports and one MII port and are
managed via mdio or i2c. They use a one byte trailing tag to identify
the switch port when in managed mode so I've added a tag driver which
implements this.

This series contains minimal DSA functionality which may be built upon
in future patches. The ultimate goal is to add HSR and PRP
(IEC 62439-3 Clause 5 & 4) offloading with integration into net/hsr.

George McCollister (3):
  dsa: add support for Arrow XRS700x tag trailer
  net: dsa: add Arrow SpeedChips XRS700x driver
  dt-bindings: net: dsa: add bindings for xrs700x switches

 .../devicetree/bindings/net/dsa/arrow,xrs700x.yaml |  72 +++
 drivers/net/dsa/Kconfig                            |  26 +
 drivers/net/dsa/Makefile                           |   3 +
 drivers/net/dsa/xrs700x.c                          | 529 +++++++++++++++++++++
 drivers/net/dsa/xrs700x.h                          |  27 ++
 drivers/net/dsa/xrs700x_i2c.c                      | 148 ++++++
 drivers/net/dsa/xrs700x_mdio.c                     | 160 +++++++
 drivers/net/dsa/xrs700x_reg.h                      | 205 ++++++++
 include/net/dsa.h                                  |   2 +
 net/dsa/Kconfig                                    |   6 +
 net/dsa/Makefile                                   |   1 +
 net/dsa/tag_xrs700x.c                              |  91 ++++
 12 files changed, 1270 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
 create mode 100644 drivers/net/dsa/xrs700x.c
 create mode 100644 drivers/net/dsa/xrs700x.h
 create mode 100644 drivers/net/dsa/xrs700x_i2c.c
 create mode 100644 drivers/net/dsa/xrs700x_mdio.c
 create mode 100644 drivers/net/dsa/xrs700x_reg.h
 create mode 100644 net/dsa/tag_xrs700x.c