Re: [PATCH v2 8/8] dt-bindings: net: dsa: Add documentation for Hellcreek switches
From: Rob Herring <robh@kernel.org>
Date: 2020-07-23 20:37:14
Also in:
netdev
On Thu, Jul 23, 2020 at 10:17:14AM +0200, Kurt Kanzenbach wrote:
quoted hunk ↗ jump to hunk
Add basic documentation and example. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> --- .../bindings/net/dsa/hellcreek.yaml | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/dsa/hellcreek.yamldiff --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@lunn.ch> + - Florian Fainelli <f.fainelli@gmail.com> + - Vivien Didelot <vivien.didelot@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: + 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