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 label = "cpu"; 50 ethernet = <&master>; 51 }; 52 53 port@1 { /* external port 1 */ 54 reg = <1>; 55 label = "lan1"; 56 }; 57 58 port@2 { /* external port 2 */ 59 reg = <2>; 60 label = "lan2"; 61 }; 62 }; 63 }; 64 65MDIO managed mode: 66 67 master: masterdevice@X { 68 phy-handle = <&switch>; 69 70 mdio { 71 #address-cells = <1>; 72 #size-cells = <0>; 73 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>; 79 80 ports { 81 #address-cells = <1>; 82 #size-cells = <0>; 83 84 port@0 { 85 reg = <0>; 86 label = "cpu"; 87 ethernet = <&master>; 88 }; 89 90 port@1 { /* external port 1 */ 91 reg = <1>; 92 label = "lan1"; 93 }; 94 95 port@2 { /* external port 2 */ 96 reg = <2>; 97 label = "lan2"; 98 }; 99 }; 100 }; 101 }; 102 }; 103