The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/net/dsa/lan9303.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 SMSC/MicroChip LAN9303 three port ethernet switch
    2 -------------------------------------------------
    3 
    4 Required 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 
   11 Optional 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 
   16 Subnodes:
   17 
   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.
   20 
   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.
   24 
   25 Example:
   26 
   27 I2C 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 
   65 MDIO 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         };

Cache object: 692662dc7065db0d2a27a4e785acafac


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.