1SMSC/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 }; 101