xref: /freebsd/sys/contrib/device-tree/Bindings/net/dsa/hirschmann,hellcreek.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/net/dsa/hirschmann,hellcreek.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Hirschmann Hellcreek TSN Switch
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel VadotallOf:
10*cb7aa33aSEmmanuel Vadot  - $ref: dsa.yaml#/$defs/ethernet-ports
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotmaintainers:
135def4c47SEmmanuel Vadot  - Andrew Lunn <andrew@lunn.ch>
145def4c47SEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
158bab661aSEmmanuel Vadot  - Vladimir Oltean <olteanv@gmail.com>
165def4c47SEmmanuel Vadot  - Kurt Kanzenbach <kurt@linutronix.de>
175def4c47SEmmanuel Vadot
185def4c47SEmmanuel Vadotdescription:
195def4c47SEmmanuel Vadot  The Hellcreek TSN Switch IP is a 802.1Q Ethernet compliant switch. It supports
205def4c47SEmmanuel Vadot  the Precision Time Protocol, Hardware Timestamping as well the Time Aware
215def4c47SEmmanuel Vadot  Shaper.
225def4c47SEmmanuel Vadot
235def4c47SEmmanuel Vadotproperties:
245def4c47SEmmanuel Vadot  compatible:
255def4c47SEmmanuel Vadot    items:
265def4c47SEmmanuel Vadot      - const: hirschmann,hellcreek-de1soc-r1
275def4c47SEmmanuel Vadot
285def4c47SEmmanuel Vadot  reg:
295def4c47SEmmanuel Vadot    description:
305def4c47SEmmanuel Vadot      The physical base address and size of TSN and PTP memory base
315def4c47SEmmanuel Vadot    minItems: 2
325def4c47SEmmanuel Vadot    maxItems: 2
335def4c47SEmmanuel Vadot
345def4c47SEmmanuel Vadot  reg-names:
355def4c47SEmmanuel Vadot    items:
365def4c47SEmmanuel Vadot      - const: tsn
375def4c47SEmmanuel Vadot      - const: ptp
385def4c47SEmmanuel Vadot
395def4c47SEmmanuel Vadot  leds:
405def4c47SEmmanuel Vadot    type: object
415def4c47SEmmanuel Vadot    properties:
425def4c47SEmmanuel Vadot      '#address-cells':
435def4c47SEmmanuel Vadot        const: 1
445def4c47SEmmanuel Vadot      '#size-cells':
455def4c47SEmmanuel Vadot        const: 0
465def4c47SEmmanuel Vadot
475def4c47SEmmanuel Vadot    patternProperties:
485def4c47SEmmanuel Vadot      "^led@[01]$":
495def4c47SEmmanuel Vadot        type: object
505def4c47SEmmanuel Vadot        description: Hellcreek leds
51b97ee269SEmmanuel Vadot        $ref: /schemas/leds/common.yaml#
525def4c47SEmmanuel Vadot
535def4c47SEmmanuel Vadot        properties:
545def4c47SEmmanuel Vadot          reg:
555def4c47SEmmanuel Vadot            items:
565def4c47SEmmanuel Vadot              - enum: [0, 1]
575def4c47SEmmanuel Vadot            description: Led number
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadot          label: true
605def4c47SEmmanuel Vadot
615def4c47SEmmanuel Vadot          default-state: true
625def4c47SEmmanuel Vadot
635def4c47SEmmanuel Vadot        required:
645def4c47SEmmanuel Vadot          - reg
655def4c47SEmmanuel Vadot
665def4c47SEmmanuel Vadot        additionalProperties: false
675def4c47SEmmanuel Vadot
685def4c47SEmmanuel Vadot    additionalProperties: false
695def4c47SEmmanuel Vadot
705def4c47SEmmanuel Vadotrequired:
715def4c47SEmmanuel Vadot  - compatible
725def4c47SEmmanuel Vadot  - reg
735def4c47SEmmanuel Vadot  - reg-names
745def4c47SEmmanuel Vadot  - ethernet-ports
755def4c47SEmmanuel Vadot  - leds
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel VadotunevaluatedProperties: false
785def4c47SEmmanuel Vadot
795def4c47SEmmanuel Vadotexamples:
805def4c47SEmmanuel Vadot  - |
815def4c47SEmmanuel Vadot        switch0: switch@ff240000 {
825def4c47SEmmanuel Vadot            compatible = "hirschmann,hellcreek-de1soc-r1";
835def4c47SEmmanuel Vadot            reg = <0xff240000 0x1000>,
845def4c47SEmmanuel Vadot                  <0xff250000 0x1000>;
855def4c47SEmmanuel Vadot            reg-names = "tsn", "ptp";
865def4c47SEmmanuel Vadot            dsa,member = <0 0>;
875def4c47SEmmanuel Vadot
885def4c47SEmmanuel Vadot            ethernet-ports {
895def4c47SEmmanuel Vadot                #address-cells = <1>;
905def4c47SEmmanuel Vadot                #size-cells = <0>;
915def4c47SEmmanuel Vadot
925def4c47SEmmanuel Vadot                port@0 {
935def4c47SEmmanuel Vadot                    reg = <0>;
945def4c47SEmmanuel Vadot                    ethernet = <&gmac0>;
957ef62cebSEmmanuel Vadot                    phy-mode = "mii";
967ef62cebSEmmanuel Vadot
977ef62cebSEmmanuel Vadot                    fixed-link {
987ef62cebSEmmanuel Vadot                        speed = <100>;
997ef62cebSEmmanuel Vadot                        full-duplex;
1007ef62cebSEmmanuel Vadot                    };
1015def4c47SEmmanuel Vadot                };
1025def4c47SEmmanuel Vadot
1035def4c47SEmmanuel Vadot                port@2 {
1045def4c47SEmmanuel Vadot                    reg = <2>;
1055def4c47SEmmanuel Vadot                    label = "lan0";
1065def4c47SEmmanuel Vadot                    phy-handle = <&phy1>;
1075def4c47SEmmanuel Vadot                };
1085def4c47SEmmanuel Vadot
1095def4c47SEmmanuel Vadot                port@3 {
1105def4c47SEmmanuel Vadot                    reg = <3>;
1115def4c47SEmmanuel Vadot                    label = "lan1";
1125def4c47SEmmanuel Vadot                    phy-handle = <&phy2>;
1135def4c47SEmmanuel Vadot                };
1145def4c47SEmmanuel Vadot            };
1155def4c47SEmmanuel Vadot
1165def4c47SEmmanuel Vadot            leds {
1175def4c47SEmmanuel Vadot                #address-cells = <1>;
1185def4c47SEmmanuel Vadot                #size-cells = <0>;
1195def4c47SEmmanuel Vadot
1205def4c47SEmmanuel Vadot                led@0 {
1215def4c47SEmmanuel Vadot                    reg = <0>;
1225def4c47SEmmanuel Vadot                    label = "sync_good";
1235def4c47SEmmanuel Vadot                    default-state = "on";
1245def4c47SEmmanuel Vadot                };
1255def4c47SEmmanuel Vadot
1265def4c47SEmmanuel Vadot                led@1 {
1275def4c47SEmmanuel Vadot                    reg = <1>;
1285def4c47SEmmanuel Vadot                    label = "is_gm";
1295def4c47SEmmanuel Vadot                    default-state = "off";
1305def4c47SEmmanuel Vadot                };
1315def4c47SEmmanuel Vadot            };
1325def4c47SEmmanuel Vadot        };
133