1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/dsa/dsa.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Ethernet Switch Device Tree Bindings 8 9maintainers: 10 - Andrew Lunn <andrew@lunn.ch> 11 - Florian Fainelli <f.fainelli@gmail.com> 12 - Vivien Didelot <vivien.didelot@gmail.com> 13 14description: 15 This binding represents Ethernet Switches which have a dedicated CPU 16 port. That port is usually connected to an Ethernet Controller of the 17 SoC. Such setups are typical for embedded devices. 18 19select: false 20 21properties: 22 $nodename: 23 pattern: "^(ethernet-)?switch(@.*)?$" 24 25 dsa,member: 26 minItems: 2 27 maxItems: 2 28 description: 29 A two element list indicates which DSA cluster, and position within the 30 cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0, 31 switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster 32 (single device hanging off a CPU port) must not specify this property 33 $ref: /schemas/types.yaml#/definitions/uint32-array 34 35patternProperties: 36 "^(ethernet-)?ports$": 37 type: object 38 properties: 39 '#address-cells': 40 const: 1 41 '#size-cells': 42 const: 0 43 44 patternProperties: 45 "^(ethernet-)?port@[0-9]+$": 46 type: object 47 description: Ethernet switch ports 48 49 properties: 50 reg: 51 description: Port number 52 53 label: 54 description: 55 Describes the label associated with this port, which will become 56 the netdev name 57 $ref: /schemas/types.yaml#/definitions/string 58 59 link: 60 description: 61 Should be a list of phandles to other switch's DSA port. This 62 port is used as the outgoing port towards the phandle ports. The 63 full routing information must be given, not just the one hop 64 routes to neighbouring switches 65 $ref: /schemas/types.yaml#/definitions/phandle-array 66 67 ethernet: 68 description: 69 Should be a phandle to a valid Ethernet device node. This host 70 device is what the switch port is connected to 71 $ref: /schemas/types.yaml#/definitions/phandle 72 73 dsa-tag-protocol: 74 description: 75 Instead of the default, the switch will use this tag protocol if 76 possible. Useful when a device supports multiple protcols and 77 the default is incompatible with the Ethernet device. 78 enum: 79 - dsa 80 - edsa 81 82 phy-handle: true 83 84 phy-mode: true 85 86 fixed-link: true 87 88 mac-address: true 89 90 sfp: true 91 92 managed: true 93 94 required: 95 - reg 96 97 additionalProperties: false 98 99oneOf: 100 - required: 101 - ports 102 - required: 103 - ethernet-ports 104 105additionalProperties: true 106 107... 108