86 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/net/ethernet-switch.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Generic Ethernet Switch8 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 has16 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 between19 ports.20 21select: false22 23allOf:24 # This condition is here to satisfy the case where certain device25 # nodes have to preserve non-standard names because of26 # backward-compatibility with boot loaders inspecting certain27 # node names.28 - if:29 properties:30 compatible:31 contains:32 enum:33 - marvell,turris-mox-mv88e608534 - marvell,turris-mox-mv88e619035 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: object47 unevaluatedProperties: false48 49 properties:50 '#address-cells':51 const: 152 '#size-cells':53 const: 054 55 patternProperties:56 "^(ethernet-)?port@[0-9a-f]+$":57 type: object58 description: Ethernet switch ports59 60 required:61 - "#address-cells"62 - "#size-cells"63 64oneOf:65 - required:66 - ports67 - required:68 - ethernet-ports69 70additionalProperties: true71 72$defs:73 ethernet-ports:74 description: An ethernet switch without any extra port properties75 $ref: '#'76 77 patternProperties:78 "^(ethernet-)?ports$":79 patternProperties:80 "^(ethernet-)?port@[0-9a-f]+$":81 description: Ethernet switch ports82 $ref: ethernet-switch-port.yaml#83 unevaluatedProperties: false84 85...86