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# 6 7title: Hirschmann Hellcreek TSN Switch 8 9allOf: 10 - $ref: dsa.yaml#/$defs/ethernet-ports 11 12maintainers: 13 - Andrew Lunn <andrew@lunn.ch> 14 - Florian Fainelli <f.fainelli@gmail.com> 15 - Vladimir Oltean <olteanv@gmail.com> 16 - Kurt Kanzenbach <kurt@linutronix.de> 17 18description: 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. 22 23properties: 24 compatible: 25 items: 26 - const: hirschmann,hellcreek-de1soc-r1 27 28 reg: 29 description: 30 The physical base address and size of TSN and PTP memory base 31 minItems: 2 32 maxItems: 2 33 34 reg-names: 35 items: 36 - const: tsn 37 - const: ptp 38 39 leds: 40 type: object 41 properties: 42 '#address-cells': 43 const: 1 44 '#size-cells': 45 const: 0 46 47 patternProperties: 48 "^led@[01]$": 49 type: object 50 description: Hellcreek leds 51 $ref: /schemas/leds/common.yaml# 52 53 properties: 54 reg: 55 items: 56 - enum: [0, 1] 57 description: Led number 58 59 label: true 60 61 default-state: true 62 63 required: 64 - reg 65 66 additionalProperties: false 67 68 additionalProperties: false 69 70required: 71 - compatible 72 - reg 73 - reg-names 74 - ethernet-ports 75 - leds 76 77unevaluatedProperties: false 78 79examples: 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>; 87 88 ethernet-ports { 89 #address-cells = <1>; 90 #size-cells = <0>; 91 92 port@0 { 93 reg = <0>; 94 ethernet = <&gmac0>; 95 phy-mode = "mii"; 96 97 fixed-link { 98 speed = <100>; 99 full-duplex; 100 }; 101 }; 102 103 port@2 { 104 reg = <2>; 105 label = "lan0"; 106 phy-handle = <&phy1>; 107 }; 108 109 port@3 { 110 reg = <3>; 111 label = "lan1"; 112 phy-handle = <&phy2>; 113 }; 114 }; 115 116 leds { 117 #address-cells = <1>; 118 #size-cells = <0>; 119 120 led@0 { 121 reg = <0>; 122 label = "sync_good"; 123 default-state = "on"; 124 }; 125 126 led@1 { 127 reg = <1>; 128 label = "is_gm"; 129 default-state = "off"; 130 }; 131 }; 132 }; 133