Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: net: dsa: Add DSA yaml binding

For future DSA drivers it makes sense to add a generic DSA yaml binding which
can be used then. This was created using the properties from dsa.txt. It
includes the ports and the dsa,member property.

Suggested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Kurt Kanzenbach and committed by
David S. Miller
bce58590 8bb849d6

+92
+92
Documentation/devicetree/bindings/net/dsa/dsa.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/dsa/dsa.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Ethernet Switch Device Tree Bindings 8 + 9 + maintainers: 10 + - Andrew Lunn <andrew@lunn.ch> 11 + - Florian Fainelli <f.fainelli@gmail.com> 12 + - Vivien Didelot <vivien.didelot@gmail.com> 13 + 14 + description: 15 + This binding represents Ethernet Switches which have a dedicated CPU 16 + port. That port is usually connected to an Ethernet Controller of the 17 + SoC. Such setups are typical for embedded devices. 18 + 19 + select: false 20 + 21 + properties: 22 + $nodename: 23 + pattern: "^switch(@.*)?$" 24 + 25 + dsa,member: 26 + minItems: 2 27 + maxItems: 2 28 + description: 29 + A two element list indicates which DSA cluster, and position within the 30 + cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0, 31 + switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster 32 + (single device hanging off a CPU port) must not specify this property 33 + $ref: /schemas/types.yaml#/definitions/uint32-array 34 + 35 + patternProperties: 36 + "^(ethernet-)?ports$": 37 + type: object 38 + properties: 39 + '#address-cells': 40 + const: 1 41 + '#size-cells': 42 + const: 0 43 + 44 + patternProperties: 45 + "^(ethernet-)?port@[0-9]+$": 46 + type: object 47 + description: Ethernet switch ports 48 + 49 + properties: 50 + reg: 51 + description: Port number 52 + 53 + label: 54 + description: 55 + Describes the label associated with this port, which will become 56 + the netdev name 57 + $ref: /schemas/types.yaml#definitions/string 58 + 59 + link: 60 + description: 61 + Should be a list of phandles to other switch's DSA port. This 62 + port is used as the outgoing port towards the phandle ports. The 63 + full routing information must be given, not just the one hop 64 + routes to neighbouring switches 65 + $ref: /schemas/types.yaml#definitions/phandle-array 66 + 67 + ethernet: 68 + description: 69 + Should be a phandle to a valid Ethernet device node. This host 70 + device is what the switch port is connected to 71 + $ref: /schemas/types.yaml#definitions/phandle 72 + 73 + phy-handle: true 74 + 75 + phy-mode: true 76 + 77 + fixed-link: true 78 + 79 + mac-address: true 80 + 81 + required: 82 + - reg 83 + 84 + additionalProperties: false 85 + 86 + oneOf: 87 + - required: 88 + - ports 89 + - required: 90 + - ethernet-ports 91 + 92 + ...