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