1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/dsa/dsa 4 $id: http://devicetree.org/schemas/net/dsa/dsa.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Ethernet Switch !! 7 title: Ethernet Switch Device Tree Bindings 8 8 9 maintainers: 9 maintainers: 10 - Andrew Lunn <andrew@lunn.ch> 10 - Andrew Lunn <andrew@lunn.ch> 11 - Florian Fainelli <f.fainelli@gmail.com> 11 - Florian Fainelli <f.fainelli@gmail.com> 12 - Vladimir Oltean <olteanv@gmail.com> !! 12 - Vivien Didelot <vivien.didelot@gmail.com> 13 13 14 description: 14 description: 15 This binding represents Ethernet Switches wh 15 This binding represents Ethernet Switches which have a dedicated CPU 16 port. That port is usually connected to an E 16 port. That port is usually connected to an Ethernet Controller of the 17 SoC. Such setups are typical for embedded de 17 SoC. Such setups are typical for embedded devices. 18 18 19 select: false 19 select: false 20 20 21 $ref: /schemas/net/ethernet-switch.yaml# << 22 << 23 properties: 21 properties: >> 22 $nodename: >> 23 pattern: "^(ethernet-)?switch(@.*)?$" >> 24 24 dsa,member: 25 dsa,member: 25 minItems: 2 26 minItems: 2 26 maxItems: 2 27 maxItems: 2 27 description: 28 description: 28 A two element list indicates which DSA c 29 A two element list indicates which DSA cluster, and position within the 29 cluster a switch takes. <0 0> is cluster 30 cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0, 30 switch 1. <1 0> is cluster 1, switch 0. 31 switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster 31 (single device hanging off a CPU port) m 32 (single device hanging off a CPU port) must not specify this property 32 $ref: /schemas/types.yaml#/definitions/uin 33 $ref: /schemas/types.yaml#/definitions/uint32-array 33 34 34 additionalProperties: true !! 35 patternProperties: 35 !! 36 "^(ethernet-)?ports$": 36 $defs: !! 37 type: object 37 ethernet-ports: !! 38 properties: 38 description: A DSA switch without any extr !! 39 '#address-cells': 39 $ref: '#' !! 40 const: 1 >> 41 '#size-cells': >> 42 const: 0 40 43 41 patternProperties: 44 patternProperties: 42 "^(ethernet-)?ports$": !! 45 "^(ethernet-)?port@[0-9]+$": 43 patternProperties: !! 46 type: object 44 "^(ethernet-)?port@[0-9a-f]+$": !! 47 description: Ethernet switch ports 45 description: Ethernet switch ports !! 48 46 $ref: dsa-port.yaml# !! 49 allOf: 47 unevaluatedProperties: false !! 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 48 108 49 oneOf: 109 oneOf: 50 - required: 110 - required: 51 - ports 111 - ports 52 - required: 112 - required: 53 - ethernet-ports 113 - ethernet-ports >> 114 >> 115 additionalProperties: true 54 116 55 ... 117 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.