Documentation / devicetree / bindings / net / dsa / hirschmann,hellcreek.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
# 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";
                };
            };
        };