[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210114195734.55313-1-george.mccollister@gmail.com>
Date: Thu, 14 Jan 2021 13:57:31 -0600
From: George McCollister <george.mccollister@...il.com>
To: Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>
Cc: Rob Herring <robh@...nel.org>,
"David S . Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
devicetree@...r.kernel.org,
George McCollister <george.mccollister@...il.com>
Subject: [PATCH net-next v5 0/3] Arrow SpeedChips XRS700x DSA Driver
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.
Changes since v1:
* Use central TX reallocation in tag driver. (Andrew Lunn)
* Code style fixes. (Andrew Lunn, Vladimir Oltean)
* Code simplifications. (Andrew Lunn, Vladimir Oltean)
* Verify detected switch matches compatible. (Andrew Lunn)
* Add inbound policy to allow BPDUs. (Andrew Lunn)
* Move files into their own subdir. (Vladimir Oltean)
* Automate regmap field allocation. (Vladimir Oltean)
* Move setting link speed to .mac_link_up. (Vladimir Oltean)
* Use different compatible strings for e/f variants.
Changes since v2:
* Export constant xrs700x_info symbols. (Jakub Kicinski)
* Report stats via .get_stats64. (Jakub Kicinski, Vladimir Oltean)
* Use a 3 second polling rate for counters.
Changes since v3:
* Builds against net-next now that get_stats64 commit has been merged.
* Don't show status in devicetree examples. (Rob Herring)
* Use ethernet-port(s) in devicetree examples. (Rob Herring)
* Use strscpy() instead of strlcpy().
Changes since v4:
* Removed some unneeded includes. (Vladimir Oltean)
* Remove unneeded call to skb_linearize(). (Vladimir Oltean)
* Make naming of variables more consistent. (Vladimir Oltean)
* Use VLAN_N_VID instead of creating a define for MAX_VLAN.
(Florian Fainelli)
* Use devm_kcalloc instead of devm_kzalloc where appropriate.
(Vladimir Oltean)
* Use eth_stp_addr and write BPDU inbound policy address in a loop.
(Florian Fainelli)
* Set i2c/mdio data before registering. (Florian Fainelli)
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 | 73 +++
drivers/net/dsa/Kconfig | 2 +
drivers/net/dsa/Makefile | 1 +
drivers/net/dsa/xrs700x/Kconfig | 26 +
drivers/net/dsa/xrs700x/Makefile | 4 +
drivers/net/dsa/xrs700x/xrs700x.c | 622 +++++++++++++++++++++
drivers/net/dsa/xrs700x/xrs700x.h | 42 ++
drivers/net/dsa/xrs700x/xrs700x_i2c.c | 150 +++++
drivers/net/dsa/xrs700x/xrs700x_mdio.c | 163 ++++++
drivers/net/dsa/xrs700x/xrs700x_reg.h | 203 +++++++
include/net/dsa.h | 2 +
net/dsa/Kconfig | 6 +
net/dsa/Makefile | 1 +
net/dsa/tag_xrs700x.c | 61 ++
14 files changed, 1356 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
create mode 100644 drivers/net/dsa/xrs700x/Kconfig
create mode 100644 drivers/net/dsa/xrs700x/Makefile
create mode 100644 drivers/net/dsa/xrs700x/xrs700x.c
create mode 100644 drivers/net/dsa/xrs700x/xrs700x.h
create mode 100644 drivers/net/dsa/xrs700x/xrs700x_i2c.c
create mode 100644 drivers/net/dsa/xrs700x/xrs700x_mdio.c
create mode 100644 drivers/net/dsa/xrs700x/xrs700x_reg.h
create mode 100644 net/dsa/tag_xrs700x.c
--
2.11.0
Powered by blists - more mailing lists