WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / net / dsa / hirschmann,hellcreek.yaml
blob5592f58fa6f0ad6305b85b2266ff6436f5f42816
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/dsa/hirschmann,hellcreek.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Hirschmann Hellcreek TSN Switch Device Tree Bindings
9 allOf:
10   - $ref: dsa.yaml#
12 maintainers:
13   - Andrew Lunn <andrew@lunn.ch>
14   - Florian Fainelli <f.fainelli@gmail.com>
15   - Vivien Didelot <vivien.didelot@gmail.com>
16   - Kurt Kanzenbach <kurt@linutronix.de>
18 description:
19   The Hellcreek TSN Switch IP is a 802.1Q Ethernet compliant switch. It supports
20   the Precision Time Protocol, Hardware Timestamping as well the Time Aware
21   Shaper.
23 properties:
24   compatible:
25     items:
26       - const: hirschmann,hellcreek-de1soc-r1
28   reg:
29     description:
30       The physical base address and size of TSN and PTP memory base
31     minItems: 2
32     maxItems: 2
34   reg-names:
35     items:
36       - const: tsn
37       - const: ptp
39   leds:
40     type: object
41     properties:
42       '#address-cells':
43         const: 1
44       '#size-cells':
45         const: 0
47     patternProperties:
48       "^led@[01]$":
49         type: object
50         description: Hellcreek leds
51         $ref: ../../leds/common.yaml#
53         properties:
54           reg:
55             items:
56               - enum: [0, 1]
57             description: Led number
59           label: true
61           default-state: true
63         required:
64           - reg
66         additionalProperties: false
68     additionalProperties: false
70 required:
71   - compatible
72   - reg
73   - reg-names
74   - ethernet-ports
75   - leds
77 unevaluatedProperties: false
79 examples:
80   - |
81         switch0: switch@ff240000 {
82             compatible = "hirschmann,hellcreek-de1soc-r1";
83             reg = <0xff240000 0x1000>,
84                   <0xff250000 0x1000>;
85             reg-names = "tsn", "ptp";
86             dsa,member = <0 0>;
88             ethernet-ports {
89                 #address-cells = <1>;
90                 #size-cells = <0>;
92                 port@0 {
93                     reg = <0>;
94                     label = "cpu";
95                     ethernet = <&gmac0>;
96                 };
98                 port@2 {
99                     reg = <2>;
100                     label = "lan0";
101                     phy-handle = <&phy1>;
102                 };
104                 port@3 {
105                     reg = <3>;
106                     label = "lan1";
107                     phy-handle = <&phy2>;
108                 };
109             };
111             leds {
112                 #address-cells = <1>;
113                 #size-cells = <0>;
115                 led@0 {
116                     reg = <0>;
117                     label = "sync_good";
118                     default-state = "on";
119                 };
121                 led@1 {
122                     reg = <1>;
123                     label = "is_gm";
124                     default-state = "off";
125                 };
126             };
127         };