Add basic documentation and example. Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx> --- .../bindings/net/dsa/hellcreek.yaml | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/dsa/hellcreek.yaml diff --git a/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml b/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml new file mode 100644 index 000000000000..bb8ccc1762c8 --- /dev/null +++ b/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml @@ -0,0 +1,132 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/dsa/hellcreek.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Hirschmann Hellcreek TSN Switch Device Tree Bindings + +allOf: + - $ref: dsa.yaml# + +maintainers: + - Andrew Lunn <andrew@xxxxxxx> + - Florian Fainelli <f.fainelli@xxxxxxxxx> + - Vivien Didelot <vivien.didelot@xxxxxxxxx> + +description: + The Hellcreek TSN Switch IP is a 802.1Q Ethernet compliant switch. It supports + the Pricision Time Protocol, Hardware Timestamping as well the Time Aware + Shaper. + +properties: + compatible: + oneOf: + - const: hirschmann,hellcreek + + reg: + description: + The physical base address and size of TSN and PTP memory base + + reg-names: + description: + Names of the physical base addresses + + '#address-cells': + const: 1 + + '#size-cells': + const: 1 + + leds: + type: object + properties: + '#address-cells': + const: 1 + '#size-cells': + const: 0 + + patternProperties: + "^led@[0-9]+$": + type: object + description: Hellcreek leds + + properties: + reg: + items: + - enum: [0, 1] + description: Led number + + label: + description: Label associated with this led + $ref: /schemas/types.yaml#/definitions/string + + default-state: + items: + enum: ["on", "off", "keep"] + description: Default state for the led + $ref: /schemas/types.yaml#/definitions/string + + required: + - reg + +required: + - compatible + - reg + - '#address-cells' + - '#size-cells' + - ports + - leds + +examples: + - | + switch0: switch@ff240000 { + compatible = "hirschmann,hellcreek"; + status = "okay"; + reg = <0xff240000 0x1000>, + <0xff250000 0x1000>; + reg-names = "reg", "ptp"; + #address-cells = <1>; + #size-cells = <1>; + dsa,member = <0 0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + label = "cpu"; + ethernet = <&gmac0>; + }; + + 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"; + }; + }; + }; -- 2.20.1