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