# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/dsa/hirschmann,hellcreek.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Hirschmann Hellcreek TSN Switch allOf: - $ref: dsa.yaml#/$defs/ethernet-ports maintainers: - Andrew Lunn - Florian Fainelli - Vladimir Oltean - Kurt Kanzenbach description: The Hellcreek TSN Switch IP is a 802.1Q Ethernet compliant switch. It supports the Precision Time Protocol, Hardware Timestamping as well the Time Aware Shaper. properties: compatible: items: - const: hirschmann,hellcreek-de1soc-r1 reg: description: The physical base address and size of TSN and PTP memory base minItems: 2 maxItems: 2 reg-names: items: - const: tsn - const: ptp leds: type: object properties: '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: "^led@[01]$": type: object description: Hellcreek leds $ref: /schemas/leds/common.yaml# properties: reg: items: - enum: [0, 1] description: Led number label: true default-state: true required: - reg additionalProperties: false additionalProperties: false required: - compatible - reg - reg-names - ethernet-ports - leds unevaluatedProperties: false examples: - | switch0: switch@ff240000 { compatible = "hirschmann,hellcreek-de1soc-r1"; reg = <0xff240000 0x1000>, <0xff250000 0x1000>; reg-names = "tsn", "ptp"; dsa,member = <0 0>; ethernet-ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ethernet = <&gmac0>; phy-mode = "mii"; fixed-link { speed = <100>; full-duplex; }; }; port@2 { reg = <2>; label = "lan0"; phy-handle = <&phy1>; }; port@3 { reg = <3>; label = "lan1"; phy-handle = <&phy2>; }; }; leds { #address-cells = <1>; #size-cells = <0>; led@0 { reg = <0>; label = "sync_good"; default-state = "on"; }; led@1 { reg = <1>; label = "is_gm"; default-state = "off"; }; }; };