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