mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 15:18:19 +00:00
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
3 changed files with 69 additions and 29 deletions
|
@ -18,10 +18,9 @@ description:
|
||||||
|
|
||||||
select: false
|
select: false
|
||||||
|
|
||||||
properties:
|
$ref: /schemas/net/ethernet-switch.yaml#
|
||||||
$nodename:
|
|
||||||
pattern: "^(ethernet-)?switch(@.*)?$"
|
|
||||||
|
|
||||||
|
properties:
|
||||||
dsa,member:
|
dsa,member:
|
||||||
minItems: 2
|
minItems: 2
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
@ -32,32 +31,6 @@ properties:
|
||||||
(single device hanging off a CPU port) must not specify this property
|
(single device hanging off a CPU port) must not specify this property
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
$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
|
additionalProperties: true
|
||||||
|
|
||||||
$defs:
|
$defs:
|
||||||
|
|
66
Documentation/devicetree/bindings/net/ethernet-switch.yaml
Normal file
66
Documentation/devicetree/bindings/net/ethernet-switch.yaml
Normal file
|
@ -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>
|
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.yaml
|
||||||
F: drivers/net/dsa/
|
F: drivers/net/dsa/
|
||||||
F: include/linux/dsa/
|
F: include/linux/dsa/
|
||||||
F: include/linux/platform_data/dsa.h
|
F: include/linux/platform_data/dsa.h
|
||||||
|
|
Loading…
Reference in a new issue