dt-bindings: net: add generic ethernet-switch
The dsa.yaml bindings had references that can apply to non-dsa switches. To prevent duplication of this information, keep the dsa-specific information inside dsa.yaml and move the remaining generic information to the newly created ethernet-switch.yaml. 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:
parent
000bd2af9d
commit
7f5bccc8b6
|
@ -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,32 +31,6 @@ properties:
|
|||
(single device hanging off a CPU port) must not specify this property
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
|
||||
patternProperties:
|
||||
"^(ethernet-)?ports$":
|
||||
type: object
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
patternProperties:
|
||||
"^(ethernet-)?port@[0-9]+$":
|
||||
type: object
|
||||
description: Ethernet switch ports
|
||||
|
||||
$ref: dsa-port.yaml#
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
oneOf:
|
||||
- required:
|
||||
- ports
|
||||
- required:
|
||||
- ethernet-ports
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
$defs:
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/ethernet-switch.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Generic Ethernet Switch
|
||||
|
||||
maintainers:
|
||||
- Andrew Lunn <andrew@lunn.ch>
|
||||
- Florian Fainelli <f.fainelli@gmail.com>
|
||||
- Vladimir Oltean <olteanv@gmail.com>
|
||||
|
||||
description:
|
||||
Ethernet switches are multi-port Ethernet controllers. Each port has
|
||||
its own number and is represented as its own Ethernet controller.
|
||||
The minimum required functionality is to pass packets to software.
|
||||
They may or may not be able to forward packets automonously between
|
||||
ports.
|
||||
|
||||
select: false
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^(ethernet-)?switch(@.*)?$"
|
||||
|
||||
patternProperties:
|
||||
"^(ethernet-)?ports$":
|
||||
type: object
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^(ethernet-)?port@[0-9]+$":
|
||||
type: object
|
||||
description: Ethernet switch ports
|
||||
|
||||
$ref: ethernet-controller.yaml#
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
oneOf:
|
||||
- required:
|
||||
- ports
|
||||
- required:
|
||||
- ethernet-ports
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
$defs:
|
||||
base:
|
||||
description: An ethernet switch without any extra port properties
|
||||
$ref: '#/'
|
||||
|
||||
patternProperties:
|
||||
"^(ethernet-)?port@[0-9]+$":
|
||||
description: Ethernet switch ports
|
||||
$ref: ethernet-controller.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
...
|
|
@ -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.yaml
|
||||
F: drivers/net/dsa/
|
||||
F: include/linux/dsa/
|
||||
F: include/linux/platform_data/dsa.h
|
||||
|
|
Loading…
Reference in New Issue