File Index
Files and directories
Sign in
FILE

lan9303.txt

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/net/dsa/lan9303.txt PLAIN TEXT
  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	};
~/ Read-only file preview.