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 -- 2.11.0