blob: 46a732087f5cab7c5dafa289ca6548c0b4246fd8 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001SMSC/MicroChip LAN9303 three port ethernet switch
2-------------------------------------------------
3
4Required properties:
5
6- compatible: should be
7 - "smsc,lan9303-i2c" for I2C managed mode
8 or
9 - "smsc,lan9303-mdio" for mdio managed mode
10
11Optional properties:
12
13- reset-gpios: GPIO to be used to reset the whole device
14- reset-duration: reset duration in milliseconds, defaults to 200 ms
15
16Subnodes:
17
18The integrated switch subnode should be specified according to the binding
19described in dsa/dsa.txt. The CPU port of this switch is always port 0.
20
21Note: always use 'reg = <0/1/2>;' for the three DSA ports, even if the device is
22configured to use 1/2/3 instead. This hardware configuration will be
23auto-detected and mapped accordingly.
24
25Example:
26
27I2C managed mode:
28
29 master: masterdevice@X {
30
31 fixed-link { /* RMII fixed link to LAN9303 */
32 speed = <100>;
33 full-duplex;
34 };
35 };
36
37 switch: switch@a {
38 compatible = "smsc,lan9303-i2c";
39 reg = <0xa>;
40 reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
41 reset-duration = <200>;
42
43 ports {
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 port@0 { /* RMII fixed link to master */
48 reg = <0>;
49 ethernet = <&master>;
50 };
51
52 port@1 { /* external port 1 */
53 reg = <1>;
54 label = "lan1";
55 };
56
57 port@2 { /* external port 2 */
58 reg = <2>;
59 label = "lan2";
60 };
61 };
62 };
63
64MDIO managed mode:
65
66 master: masterdevice@X {
67 phy-handle = <&switch>;
68
69 mdio {
70 #address-cells = <1>;
71 #size-cells = <0>;
72
73 switch: switch-phy@0 {
74 compatible = "smsc,lan9303-mdio";
75 reg = <0>;
76 reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
77 reset-duration = <100>;
78
79 ports {
80 #address-cells = <1>;
81 #size-cells = <0>;
82
83 port@0 {
84 reg = <0>;
85 ethernet = <&master>;
86 };
87
88 port@1 { /* external port 1 */
89 reg = <1>;
90 label = "lan1";
91 };
92
93 port@2 { /* external port 2 */
94 reg = <2>;
95 label = "lan2";
96 };
97 };
98 };
99 };
100 };