On Thu, Jul 23, 2020 at 10:17:14AM +0200, Kurt Kanzenbach wrote: > Add basic documentation and example. > > Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx> > --- > .../bindings/net/dsa/hellcreek.yaml | 126 ++++++++++++++++++ > 1 file changed, 126 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..1b192ba7f4ca > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml > @@ -0,0 +1,126 @@ > +# 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> > + - Kurt Kanzenbach <kurt@xxxxxxxxxxxxx> > + > +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: > + oneOf: > + - const: hirschmann,hellcreek Don't need 'oneOf' for 1 entry. > + > + reg: > + description: > + The physical base address and size of TSN and PTP memory base > + minItems: 2 > + maxItems: 2 > + > + reg-names: > + description: > + Names of the physical base addresses No need for generic descriptions. That's all 'reg-names'... > + minItems: 2 > + maxItems: 2 > + items: > + enum: ["reg", "ptp"] Why not 'tsn' as above instead of reg? In any case, the correct form is: items: - const: reg - const: ptp > + > + leds: > + type: object > + properties: > + '#address-cells': > + const: 1 > + '#size-cells': > + const: 0 > + > + patternProperties: > + "^led@[0-9]+$": > + type: object > + description: Hellcreek leds This should reference leds/common.yaml > + > + properties: > + reg: > + items: > + - enum: [0, 1] > + description: Led number > + > + label: true > + > + default-state: true > + > + required: > + - reg > + > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - reg-names > + - ports Use the preferred 'ethernet-ports'. > + - leds Add: unevaluatedProperties: false > + > +examples: > + - | > + switch0: switch@ff240000 { > + compatible = "hirschmann,hellcreek"; > + status = "okay"; Don't show status in examples. > + reg = <0xff240000 0x1000>, > + <0xff250000 0x1000>; > + reg-names = "reg", "ptp"; > + 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 >