dt-bindings: net: add generic ethernet-switch-port binding

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>
This commit is contained in:
Colin Foster 2023-01-12 07:56:12 -10:00 committed by David S. Miller
parent 7f5bccc8b6
commit 68e3e3be66
4 changed files with 33 additions and 28 deletions

View File

@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml# $id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Ethernet Switch port title: Generic DSA Switch Port
maintainers: maintainers:
- Andrew Lunn <andrew@lunn.ch> - Andrew Lunn <andrew@lunn.ch>
@ -12,10 +12,11 @@ maintainers:
- Vladimir Oltean <olteanv@gmail.com> - Vladimir Oltean <olteanv@gmail.com>
description: 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-switch-port.yaml#
- $ref: /schemas/net/ethernet-controller.yaml#
properties: properties:
reg: reg:
@ -58,25 +59,6 @@ properties:
- rtl8_4t - rtl8_4t
- seville - 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 # CPU and DSA ports must have phylink-compatible link descriptions
if: if:
oneOf: oneOf:

View File

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

View File

@ -40,10 +40,6 @@ patternProperties:
type: object type: object
description: Ethernet switch ports description: Ethernet switch ports
$ref: ethernet-controller.yaml#
additionalProperties: true
oneOf: oneOf:
- required: - required:
- ports - ports
@ -60,7 +56,7 @@ $defs:
patternProperties: patternProperties:
"^(ethernet-)?port@[0-9]+$": "^(ethernet-)?port@[0-9]+$":
description: Ethernet switch ports description: Ethernet switch ports
$ref: ethernet-controller.yaml# $ref: ethernet-switch-port.yaml#
unevaluatedProperties: false unevaluatedProperties: false
... ...

View File

@ -14543,6 +14543,7 @@ M: Florian Fainelli <f.fainelli@gmail.com>
M: Vladimir Oltean <olteanv@gmail.com> M: Vladimir Oltean <olteanv@gmail.com>
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/net/dsa/ F: Documentation/devicetree/bindings/net/dsa/
F: Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
F: Documentation/devicetree/bindings/net/ethernet-switch.yaml F: Documentation/devicetree/bindings/net/ethernet-switch.yaml
F: drivers/net/dsa/ F: drivers/net/dsa/
F: include/linux/dsa/ F: include/linux/dsa/