Commit 86ce04f3 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'dt-bindings-ocelot-switches'



Colin Foster says

====================
dt-binding preparation for ocelot switches

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).

---

v6 -> v7
  * Add Reviewed / Acked on patch 1
  * Clean up descriptions on Ethernet / DSA switch port bindings

v5 -> v6
  * Rebase so it applies to net-next cleanly.
  * No other changes - during the last submission round I said I'd
    submit v6 with a change to move $dsa-port.yaml to outside the allOf
    list. In retrospect that wasn't the right thing to do, because later
    in the patch series the $dsa-port.yaml is removed outright. So I
    believe the submission in v5 to keep "type: object" was correct.

v4 -> v5
  * Sync DSA maintainers with MAINTAINERS file (new patch 1)
  * Undo move of port description of mediatek,mt7530.yaml (patch 4)
  * Move removal of "^(ethernet-)?switch(@.*)?$" in dsa.yaml from patch 4
    to patch 8
  * Add more consistent capitalization in title lines and better Ethernet
    switch port description. (patch 8)

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
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 87b08a8c 1f4d4ad6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Arrow SpeedChips XRS7000 Series Switch

allOf:
  - $ref: dsa.yaml#
  - $ref: dsa.yaml#/$defs/ethernet-ports

maintainers:
  - George McCollister <george.mccollister@gmail.com>
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ required:
  - reg

allOf:
  - $ref: dsa.yaml#
  - $ref: dsa.yaml#/$defs/ethernet-ports
  - if:
      properties:
        compatible:
+10 −5
Original line number Diff line number Diff line
@@ -85,6 +85,11 @@ properties:
  ports:
    type: object

    patternProperties:
      '^port@[0-9a-f]$':
        $ref: dsa-port.yaml#
        unevaluatedProperties: false

        properties:
          brcm,use-bcm-hdr:
            description: if present, indicates that the switch port has Broadcom
+6 −24
Original line number Diff line number Diff line
@@ -4,18 +4,19 @@
$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ethernet Switch port
title: Generic DSA Switch Port

maintainers:
  - Andrew Lunn <andrew@lunn.ch>
  - Florian Fainelli <f.fainelli@gmail.com>
  - Vivien Didelot <vivien.didelot@gmail.com>
  - Vladimir Oltean <olteanv@gmail.com>

description:
  Ethernet switch port Description
  A DSA switch port is a component of a switch that manages one MAC, and can
  pass Ethernet frames. It can act as a stanadard Ethernet switch port, or have
  DSA-specific functionality.

allOf:
  - $ref: /schemas/net/ethernet-controller.yaml#
$ref: /schemas/net/ethernet-switch-port.yaml#

properties:
  reg:
@@ -58,25 +59,6 @@ properties:
      - rtl8_4t
      - seville

  phy-handle: true

  phy-mode: true

  fixed-link: true

  mac-address: true

  sfp: true

  managed: true

  rx-internal-delay-ps: true

  tx-internal-delay-ps: true

required:
  - reg

# CPU and DSA ports must have phylink-compatible link descriptions
if:
  oneOf:
+23 −26
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ title: Ethernet Switch
maintainers:
  - Andrew Lunn <andrew@lunn.ch>
  - Florian Fainelli <f.fainelli@gmail.com>
  - Vivien Didelot <vivien.didelot@gmail.com>
  - Vladimir Oltean <olteanv@gmail.com>

description:
  This binding represents Ethernet Switches which have a dedicated CPU
@@ -18,10 +18,9 @@ description:

select: false

properties:
  $nodename:
    pattern: "^(ethernet-)?switch(@.*)?$"
$ref: /schemas/net/ethernet-switch.yaml#

properties:
  dsa,member:
    minItems: 2
    maxItems: 2
@@ -32,9 +31,18 @@ properties:
      (single device hanging off a CPU port) must not specify this property
    $ref: /schemas/types.yaml#/definitions/uint32-array

additionalProperties: true

$defs:
  ethernet-ports:
    description: A DSA switch without any extra port properties
    $ref: '#/'

    patternProperties:
      "^(ethernet-)?ports$":
        type: object
        additionalProperties: false

        properties:
          '#address-cells':
            const: 1
@@ -43,19 +51,8 @@ patternProperties:

        patternProperties:
          "^(ethernet-)?port@[0-9]+$":
        type: object
            description: Ethernet switch ports

            $ref: dsa-port.yaml#

            unevaluatedProperties: false

oneOf:
  - required:
      - ports
  - required:
      - ethernet-ports

additionalProperties: true

...
Loading