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 properties: 47 unevaluatedProperties: false !! 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 48 98 49 oneOf: 99 oneOf: 50 - required: 100 - required: 51 - ports 101 - ports 52 - required: 102 - required: 53 - ethernet-ports 103 - ethernet-ports >> 104 >> 105 additionalProperties: true 54 106 55 ... 107 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.