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 Device Tree Bindings 8 9allOf: 10 - $ref: dsa.yaml# 11 12maintainers: 13 - Andrew Lunn <andrew@lunn.ch> 14 - Florian Fainelli <f.fainelli@gmail.com> 15 - Vivien Didelot <vivien.didelot@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: ../../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 label = "cpu"; 95 ethernet = <&gmac0>; 96 }; 97 98 port@2 { 99 reg = <2>; 100 label = "lan0"; 101 phy-handle = <&phy1>; 102 }; 103 104 port@3 { 105 reg = <3>; 106 label = "lan1"; 107 phy-handle = <&phy2>; 108 }; 109 }; 110 111 leds { 112 #address-cells = <1>; 113 #size-cells = <0>; 114 115 led@0 { 116 reg = <0>; 117 label = "sync_good"; 118 default-state = "on"; 119 }; 120 121 led@1 { 122 reg = <1>; 123 label = "is_gm"; 124 default-state = "off"; 125 }; 126 }; 127 }; 128