108 lines
2.9 KiB
YAML
108 lines
2.9 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/net/dsa/dsa.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Ethernet Switch Device Tree Bindings
|
||
|
|
||
|
maintainers:
|
||
|
- Andrew Lunn <andrew@lunn.ch>
|
||
|
- Florian Fainelli <f.fainelli@gmail.com>
|
||
|
- Vivien Didelot <vivien.didelot@gmail.com>
|
||
|
|
||
|
description:
|
||
|
This binding represents Ethernet Switches which have a dedicated CPU
|
||
|
port. That port is usually connected to an Ethernet Controller of the
|
||
|
SoC. Such setups are typical for embedded devices.
|
||
|
|
||
|
select: false
|
||
|
|
||
|
properties:
|
||
|
$nodename:
|
||
|
pattern: "^(ethernet-)?switch(@.*)?$"
|
||
|
|
||
|
dsa,member:
|
||
|
minItems: 2
|
||
|
maxItems: 2
|
||
|
description:
|
||
|
A two element list indicates which DSA cluster, and position within the
|
||
|
cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0,
|
||
|
switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster
|
||
|
(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
|
||
|
|
||
|
patternProperties:
|
||
|
"^(ethernet-)?port@[0-9]+$":
|
||
|
type: object
|
||
|
description: Ethernet switch ports
|
||
|
|
||
|
properties:
|
||
|
reg:
|
||
|
description: Port number
|
||
|
|
||
|
label:
|
||
|
description:
|
||
|
Describes the label associated with this port, which will become
|
||
|
the netdev name
|
||
|
$ref: /schemas/types.yaml#/definitions/string
|
||
|
|
||
|
link:
|
||
|
description:
|
||
|
Should be a list of phandles to other switch's DSA port. This
|
||
|
port is used as the outgoing port towards the phandle ports. The
|
||
|
full routing information must be given, not just the one hop
|
||
|
routes to neighbouring switches
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||
|
|
||
|
ethernet:
|
||
|
description:
|
||
|
Should be a phandle to a valid Ethernet device node. This host
|
||
|
device is what the switch port is connected to
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
|
||
|
dsa-tag-protocol:
|
||
|
description:
|
||
|
Instead of the default, the switch will use this tag protocol if
|
||
|
possible. Useful when a device supports multiple protcols and
|
||
|
the default is incompatible with the Ethernet device.
|
||
|
enum:
|
||
|
- dsa
|
||
|
- edsa
|
||
|
|
||
|
phy-handle: true
|
||
|
|
||
|
phy-mode: true
|
||
|
|
||
|
fixed-link: true
|
||
|
|
||
|
mac-address: true
|
||
|
|
||
|
sfp: true
|
||
|
|
||
|
managed: true
|
||
|
|
||
|
required:
|
||
|
- reg
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
oneOf:
|
||
|
- required:
|
||
|
- ports
|
||
|
- required:
|
||
|
- ethernet-ports
|
||
|
|
||
|
additionalProperties: true
|
||
|
|
||
|
...
|