1 Distributed Switch Architecture Device Tree Bindings
2 ----------------------------------------------------
4 Switches are true Linux devices and can be probed by any means. Once
5 probed, they register to the DSA framework, passing a node
6 pointer. This node is expected to fulfil the following binding, and
7 may contain additional properties as required by the device it is
12 - ports : A container for child nodes representing switch ports.
16 - dsa,member : A two element list indicates which DSA cluster, and position
17 within the cluster a switch takes. <0 0> is cluster 0,
18 switch 0. <0 1> is cluster 0, switch 1. <1 0> is cluster 1,
19 switch 0. A switch not part of any cluster (single device
20 hanging off a CPU port) must not specify this property
22 The ports container has the following properties
26 - #address-cells : Must be 1
27 - #size-cells : Must be 0
29 Each port children node must have the following mandatory properties:
30 - reg : Describes the port address in the switch
32 An uplink/downlink port between switches in the cluster has the following
35 - link : Should be a list of phandles to other switch's DSA
36 port. This port is used as the outgoing port
37 towards the phandle ports. The full routing
38 information must be given, not just the one hop
39 routes to neighbouring switches.
41 A CPU port has the following mandatory property:
43 - ethernet : Should be a phandle to a valid Ethernet device node.
44 This host device is what the switch port is
47 A user port has the following optional property:
49 - label : Describes the label associated with this port, which
50 will become the netdev name.
52 Port child nodes may also contain the following optional standardised
53 properties, described in binding documents:
55 - phy-handle : Phandle to a PHY on an MDIO bus. See
56 Documentation/devicetree/bindings/net/ethernet.txt
60 Documentation/devicetree/bindings/net/ethernet.txt
63 - fixed-link : Fixed-link subnode describing a link to a non-MDIO
65 Documentation/devicetree/bindings/net/fixed-link.txt
68 The MAC address will be determined using the optional properties
69 defined in ethernet.txt.
73 The following example shows three switches on three MDIO busses,
74 linked into one DSA cluster.
81 compatible = "marvell,mv88e6085";
97 local-mac-address = [00 00 00 00 00 00];
105 switch0port5: port@5 {
107 phy-mode = "rgmii-txid";
108 link = <&switch1port6
129 #address-cells = <1>;
133 compatible = "marvell,mv88e6085";
139 #address-cells = <1>;
144 phy-handle = <&switch1phy0>;
150 phy-handle = <&switch1phy1>;
156 phy-handle = <&switch1phy2>;
159 switch1port5: port@5 {
161 link = <&switch2port9>;
162 phy-mode = "rgmii-txid";
169 switch1port6: port@6 {
171 phy-mode = "rgmii-txid";
172 link = <&switch0port5>;
180 #address-cells = <1>;
182 switch1phy0: switch1phy0@0 {
185 switch1phy1: switch1phy0@1 {
188 switch1phy2: switch1phy0@2 {
196 #address-cells = <1>;
200 compatible = "marvell,mv88e6085";
206 #address-cells = <1>;
229 link-gpios = <&gpio6 2
240 link-gpios = <&gpio6 3
245 switch2port9: port@9 {
247 phy-mode = "rgmii-txid";
248 link = <&switch1port5