1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/ethernet-switch.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Generic Ethernet Switch 8 9maintainers: 10 - Andrew Lunn <andrew@lunn.ch> 11 - Florian Fainelli <f.fainelli@gmail.com> 12 - Vladimir Oltean <olteanv@gmail.com> 13 14description: 15 Ethernet switches are multi-port Ethernet controllers. Each port has 16 its own number and is represented as its own Ethernet controller. 17 The minimum required functionality is to pass packets to software. 18 They may or may not be able to forward packets automonously between 19 ports. 20 21select: false 22 23allOf: 24 # This condition is here to satisfy the case where certain device 25 # nodes have to preserve non-standard names because of 26 # backward-compatibility with boot loaders inspecting certain 27 # node names. 28 - if: 29 properties: 30 compatible: 31 contains: 32 enum: 33 - marvell,turris-mox-mv88e6085 34 - marvell,turris-mox-mv88e6190 35 then: 36 properties: 37 $nodename: 38 pattern: "switch[0-3]@[0-3]+$" 39 else: 40 properties: 41 $nodename: 42 pattern: "^(ethernet-)?switch(@.*)?$" 43 44patternProperties: 45 "^(ethernet-)?ports$": 46 type: object 47 unevaluatedProperties: false 48 49 properties: 50 '#address-cells': 51 const: 1 52 '#size-cells': 53 const: 0 54 55 patternProperties: 56 "^(ethernet-)?port@[0-9a-f]+$": 57 type: object 58 description: Ethernet switch ports 59 60 required: 61 - "#address-cells" 62 - "#size-cells" 63 64oneOf: 65 - required: 66 - ports 67 - required: 68 - ethernet-ports 69 70additionalProperties: true 71 72$defs: 73 ethernet-ports: 74 description: An ethernet switch without any extra port properties 75 $ref: '#' 76 77 patternProperties: 78 "^(ethernet-)?ports$": 79 patternProperties: 80 "^(ethernet-)?port@[0-9a-f]+$": 81 description: Ethernet switch ports 82 $ref: ethernet-switch-port.yaml# 83 unevaluatedProperties: false 84 85... 86