Skip to content

Commit

Permalink
dt-bindings: net: add generic ethernet-switch-port binding
Browse files Browse the repository at this point in the history
The dsa-port.yaml binding had several references that can be common to all
ethernet ports, not just dsa-specific ones. Break out the generic bindings
to ethernet-switch-port.yaml they can be used by non-dsa drivers.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Suggested-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Colin Foster authored and David S. Miller committed Jan 16, 2023
1 parent 7f5bccc commit 68e3e3b
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 28 deletions.
28 changes: 5 additions & 23 deletions Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
- 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:
Expand Down Expand Up @@ -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:
Expand Down
26 changes: 26 additions & 0 deletions Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/ethernet-switch-port.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic Ethernet Switch Port

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

description:
An Ethernet switch port is a component of a switch that manages one MAC, and
can pass Ethernet frames.

$ref: ethernet-controller.yaml#

properties:
reg:
description: Port number

additionalProperties: true

...
6 changes: 1 addition & 5 deletions Documentation/devicetree/bindings/net/ethernet-switch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,6 @@ patternProperties:
type: object
description: Ethernet switch ports

$ref: ethernet-controller.yaml#

additionalProperties: true

oneOf:
- required:
- ports
Expand All @@ -60,7 +56,7 @@ $defs:
patternProperties:
"^(ethernet-)?port@[0-9]+$":
description: Ethernet switch ports
$ref: ethernet-controller.yaml#
$ref: ethernet-switch-port.yaml#
unevaluatedProperties: false

...
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -14543,6 +14543,7 @@ M: Florian Fainelli <f.fainelli@gmail.com>
M: Vladimir Oltean <olteanv@gmail.com>
S: Maintained
F: Documentation/devicetree/bindings/net/dsa/
F: Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
F: Documentation/devicetree/bindings/net/ethernet-switch.yaml
F: drivers/net/dsa/
F: include/linux/dsa/
Expand Down

0 comments on commit 68e3e3b

Please sign in to comment.