WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / net / dsa / lan9303.txt
blob464d6bf87605392a5302349abf7b54e673ed5dc1
1 SMSC/MicroChip LAN9303 three port ethernet switch
2 -------------------------------------------------
4 Required properties:
6 - compatible: should be
7   - "smsc,lan9303-i2c" for I2C managed mode
8     or
9   - "smsc,lan9303-mdio" for mdio managed mode
11 Optional properties:
13 - reset-gpios: GPIO to be used to reset the whole device
14 - reset-duration: reset duration in milliseconds, defaults to 200 ms
16 Subnodes:
18 The integrated switch subnode should be specified according to the binding
19 described in dsa/dsa.txt. The CPU port of this switch is always port 0.
21 Note: always use 'reg = <0/1/2>;' for the three DSA ports, even if the device is
22 configured to use 1/2/3 instead. This hardware configuration will be
23 auto-detected and mapped accordingly.
25 Example:
27 I2C managed mode:
29         master: masterdevice@X {
31                 fixed-link { /* RMII fixed link to LAN9303 */
32                         speed = <100>;
33                         full-duplex;
34                 };
35         };
37         switch: switch@a {
38                 compatible = "smsc,lan9303-i2c";
39                 reg = <0xa>;
40                 reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
41                 reset-duration = <200>;
43                 ports {
44                         #address-cells = <1>;
45                         #size-cells = <0>;
47                         port@0 { /* RMII fixed link to master */
48                                 reg = <0>;
49                                 label = "cpu";
50                                 ethernet = <&master>;
51                         };
53                         port@1 { /* external port 1 */
54                                 reg = <1>;
55                                 label = "lan1";
56                         };
58                         port@2 { /* external port 2 */
59                                 reg = <2>;
60                                 label = "lan2";
61                         };
62                 };
63         };
65 MDIO managed mode:
67         master: masterdevice@X {
68                 phy-handle = <&switch>;
70                 mdio {
71                         #address-cells = <1>;
72                         #size-cells = <0>;
74                         switch: switch-phy@0 {
75                                 compatible = "smsc,lan9303-mdio";
76                                 reg = <0>;
77                                 reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
78                                 reset-duration = <100>;
80                                 ports {
81                                         #address-cells = <1>;
82                                         #size-cells = <0>;
84                                         port@0 {
85                                                 reg = <0>;
86                                                 label = "cpu";
87                                                 ethernet = <&master>;
88                                         };
90                                         port@1 { /* external port 1 */
91                                                 reg = <1>;
92                                                 label = "lan1";
93                                         };
95                                         port@2 { /* external port 2 */
96                                                 reg = <2>;
97                                                 label = "lan2";
98                                         };
99                                 };
100                         };
101                 };
102         };