| # 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 <andrew@lunn.ch> |
| - Florian Fainelli <f.fainelli@gmail.com> |
| - Vladimir Oltean <olteanv@gmail.com> |
| - Kurt Kanzenbach <kurt@linutronix.de> |
| |
| 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"; |
| }; |
| }; |
| }; |