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 allOf: 50 - $ref: "http://devicetree.org/schemas/net/ethernet-controller.yaml#" 51 52 properties: 53 reg: 54 description: Port number 55 56 label: 57 description: 58 Describes the label associated with this port, which will become 59 the netdev name 60 $ref: /schemas/types.yaml#/definitions/string 61 62 link: 63 description: 64 Should be a list of phandles to other switch's DSA port. This 65 port is used as the outgoing port towards the phandle ports. The 66 full routing information must be given, not just the one hop 67 routes to neighbouring switches 68 $ref: /schemas/types.yaml#/definitions/phandle-array 69 70 ethernet: 71 description: 72 Should be a phandle to a valid Ethernet device node. This host 73 device is what the switch port is connected to 74 $ref: /schemas/types.yaml#/definitions/phandle 75 76 dsa-tag-protocol: 77 description: 78 Instead of the default, the switch will use this tag protocol if 79 possible. Useful when a device supports multiple protocols and 80 the default is incompatible with the Ethernet device. 81 enum: 82 - dsa 83 - edsa 84 - ocelot 85 - ocelot-8021q 86 - seville 87 88 phy-handle: true 89 90 phy-mode: true 91 92 fixed-link: true 93 94 mac-address: true 95 96 sfp: true 97 98 managed: true 99 100 rx-internal-delay-ps: true 101 102 tx-internal-delay-ps: true 103 104 required: 105 - reg 106 107 additionalProperties: false 108 109oneOf: 110 - required: 111 - ports 112 - required: 113 - ethernet-ports 114 115additionalProperties: true 116 117... 118