mbox series

[v4,net-next,0/9] dt-binding preparation for ocelot switches

Message ID 20221202204559.162619-1-colin.foster@in-advantage.com (mailing list archive)
Headers show
Series dt-binding preparation for ocelot switches | expand

Message

Colin Foster Dec. 2, 2022, 8:45 p.m. UTC
Ocelot switches have the abilitiy to be used internally via
memory-mapped IO or externally via SPI or PCIe. This brings up issues
for documentation, where the same chip might be accessed internally in a
switchdev manner, or externally in a DSA configuration. This patch set
is perparation to bring DSA functionality to the VSC7512, utilizing as
much as possible with an almost identical VSC7514 chip.

This patch set changed quite a bit from v2, so I'll omit the background
of how those sets came to be. Rob offered a lot of very useful guidance.
My thanks.

At the end of the day, with this patch set, there should be a framework
to document Ocelot switches (and any switch) in scenarios where they can
be controlled internally (ethernet-switch) or externally (dsa-switch).

---

v3 -> v4
  * Renamed "base" to "ethernet-ports" to avoid confusion with the concept
    of a base class.
  * Squash ("dt-bindings: net: dsa: mediatek,mt7530: fix port description location")
    patch into ("dt-bindings: net: dsa: utilize base definitions for standard dsa
    switches")
  * Corrections to fix confusion about additonalProperties vs unevaluatedProperties.
    See specific patches for details.

v2 -> v3
  * Restructured everything to use a "base" iref for devices that don't
    have additional properties, and simply a "ref" for devices that do.
  * New patches to fix up brcm,sf2, qca8k, and mt7530
  * Fix unevaluatedProperties errors from previous sets (see specific
    patches for more detail)
  * Removed redundant "Device Tree Binding" from titles, where applicable.

v1 -> v2
  * Two MFD patches were brought into the MFD tree, so are dropped
  * Add first patch 1/6 to allow DSA devices to add ports and port
    properties
  * Test qca8k against new dt-bindings and fix warnings. (patch 2/6)
  * Add tags (patch 3/6)
  * Fix vsc7514 refs and properties

---

Colin Foster (9):
  dt-bindings: net: dsa: sf2: fix brcm,use-bcm-hdr documentation
  dt-bindings: net: dsa: qca8k: remove address-cells and size-cells from
    switch node
  dt-bindings: net: dsa: utilize base definitions for standard dsa
    switches
  dt-bindings: net: dsa: allow additional ethernet-port properties
  dt-bindings: net: dsa: qca8k: utilize shared dsa.yaml
  dt-bindings: net: dsa: mediatek,mt7530: remove unnecessary dsa-port
    reference
  dt-bindings: net: add generic ethernet-switch
  dt-bindings: net: add generic ethernet-switch-port binding
  dt-bindings: net: mscc,vsc7514-switch: utilize generic
    ethernet-switch.yaml

 .../bindings/net/dsa/arrow,xrs700x.yaml       |  2 +-
 .../devicetree/bindings/net/dsa/brcm,b53.yaml |  2 +-
 .../devicetree/bindings/net/dsa/brcm,sf2.yaml | 15 +++--
 .../devicetree/bindings/net/dsa/dsa-port.yaml | 24 +------
 .../devicetree/bindings/net/dsa/dsa.yaml      | 47 +++++++-------
 .../net/dsa/hirschmann,hellcreek.yaml         |  2 +-
 .../bindings/net/dsa/mediatek,mt7530.yaml     | 17 ++---
 .../bindings/net/dsa/microchip,ksz.yaml       |  2 +-
 .../bindings/net/dsa/microchip,lan937x.yaml   |  2 +-
 .../bindings/net/dsa/mscc,ocelot.yaml         |  2 +-
 .../bindings/net/dsa/nxp,sja1105.yaml         |  2 +-
 .../devicetree/bindings/net/dsa/qca8k.yaml    | 14 +----
 .../devicetree/bindings/net/dsa/realtek.yaml  |  2 +-
 .../bindings/net/dsa/renesas,rzn1-a5psw.yaml  |  2 +-
 .../bindings/net/ethernet-switch-port.yaml    | 25 ++++++++
 .../bindings/net/ethernet-switch.yaml         | 62 +++++++++++++++++++
 .../bindings/net/mscc,vsc7514-switch.yaml     | 31 +---------
 MAINTAINERS                                   |  2 +
 18 files changed, 142 insertions(+), 113 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
 create mode 100644 Documentation/devicetree/bindings/net/ethernet-switch.yaml

Comments

Vladimir Oltean Dec. 6, 2022, 4:04 p.m. UTC | #1
Hi Colin,

On Fri, Dec 02, 2022 at 12:45:50PM -0800, Colin Foster wrote:
> Ocelot switches have the abilitiy to be used internally via
> memory-mapped IO or externally via SPI or PCIe. This brings up issues
> for documentation, where the same chip might be accessed internally in a
> switchdev manner, or externally in a DSA configuration. This patch set
> is perparation to bring DSA functionality to the VSC7512, utilizing as
> much as possible with an almost identical VSC7514 chip.
> 
> This patch set changed quite a bit from v2, so I'll omit the background
> of how those sets came to be. Rob offered a lot of very useful guidance.
> My thanks.
> 
> At the end of the day, with this patch set, there should be a framework
> to document Ocelot switches (and any switch) in scenarios where they can
> be controlled internally (ethernet-switch) or externally (dsa-switch).
> 
> ---

This looks like a very clean implementation of what I had in mind
(better than I could have done it). Sorry for not being able to help
with the json-schema bits and thanks to Rob for doing so.

Would you mind adding one more patch at the beginning of the series
which syncs the maintainers from the DSA (and now also ethernet-switch)
dt-bindings with the MAINTAINERS file? That would mean removing Vivien
(see commit 6ce3df596be2 ("MAINTAINERS: Move Vivien to CREDITS")) and
adding myself. This is in principle such that you don't carry around a
not-up-to-date list of maintainers when adding new schemas.

I don't know if we could do something about maintainer entries in
schemas not becoming out of date w.r.t. the MAINTAINERS file.
Colin Foster Dec. 7, 2022, 3:07 a.m. UTC | #2
On Tue, Dec 06, 2022 at 06:04:30PM +0200, Vladimir Oltean wrote:
> Hi Colin,
> 
> On Fri, Dec 02, 2022 at 12:45:50PM -0800, Colin Foster wrote:
> > Ocelot switches have the abilitiy to be used internally via
> > memory-mapped IO or externally via SPI or PCIe. This brings up issues
> > for documentation, where the same chip might be accessed internally in a
> > switchdev manner, or externally in a DSA configuration. This patch set
> > is perparation to bring DSA functionality to the VSC7512, utilizing as
> > much as possible with an almost identical VSC7514 chip.
> > 
> > This patch set changed quite a bit from v2, so I'll omit the background
> > of how those sets came to be. Rob offered a lot of very useful guidance.
> > My thanks.
> > 
> > At the end of the day, with this patch set, there should be a framework
> > to document Ocelot switches (and any switch) in scenarios where they can
> > be controlled internally (ethernet-switch) or externally (dsa-switch).
> > 
> > ---
> 
> This looks like a very clean implementation of what I had in mind
> (better than I could have done it). Sorry for not being able to help
> with the json-schema bits and thanks to Rob for doing so.

It seems like it worked out well. Thanks Rob for all the help on this!

> 
> Would you mind adding one more patch at the beginning of the series
> which syncs the maintainers from the DSA (and now also ethernet-switch)
> dt-bindings with the MAINTAINERS file? That would mean removing Vivien
> (see commit 6ce3df596be2 ("MAINTAINERS: Move Vivien to CREDITS")) and
> adding myself. This is in principle such that you don't carry around a
> not-up-to-date list of maintainers when adding new schemas.

Yep. I'll get that in the next set.

> 
> I don't know if we could do something about maintainer entries in
> schemas not becoming out of date w.r.t. the MAINTAINERS file.

Sounds like a nice feature. Maybe part of dt_binding_check / checkpatch?
I'm running out of hours in a day...