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 protocols and 77 the default is incompatible with the Ethernet device. 78 enum: 79 - dsa 80 - edsa 81 - ocelot 82 - ocelot-8021q 83 - seville 84 85 phy-handle: true 86 87 phy-mode: true 88 89 fixed-link: true 90 91 mac-address: true 92 93 sfp: true 94 95 managed: true 96 97 required: 98 - reg 99 100 additionalProperties: false 101 102oneOf: 103 - required: 104 - ports 105 - required: 106 - ethernet-ports 107 108additionalProperties: true 109 110... 111