blob: b3b7e1a1b1278711678c11b620e15ea69e8b731d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
Tom Rini93743d22024-04-01 09:08:13 -040023allOf:
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(@.*)?$"
Tom Rini53633a82024-02-29 12:33:36 -050043
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...