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