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/mdio-mux-multiplexer.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 Properties for an MDIO bus multiplexer consumer device
    2 
    3 This is a special case of MDIO mux  when MDIO mux is defined as a consumer
    4 of a mux producer device. The mux producer can be of any type like mmio mux
    5 producer, gpio mux producer or generic register based mux producer.
    6 
    7 Required properties in addition to the MDIO Bus multiplexer properties:
    8 
    9 - compatible : should be "mmio-mux-multiplexer"
   10 - mux-controls : mux controller node to use for operating the mux
   11 - mdio-parent-bus : phandle to the parent MDIO bus.
   12 
   13 each child node of mdio bus multiplexer consumer device represent a mdio
   14 bus.
   15 
   16 for more information please refer
   17 Documentation/devicetree/bindings/mux/mux-controller.txt
   18 and Documentation/devicetree/bindings/net/mdio-mux.txt
   19 
   20 Example:
   21 In below example the Mux producer and consumer are separate nodes.
   22 
   23 &i2c0 {
   24         fpga@66 { // fpga connected to i2c
   25                 compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c",
   26                              "simple-mfd";
   27                 reg = <0x66>;
   28 
   29                 mux: mux-controller { // Mux Producer
   30                         compatible = "reg-mux";
   31                         #mux-control-cells = <1>;
   32                         mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */
   33                                         <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */
   34                 };
   35         };
   36 };
   37 
   38 mdio-mux-1 { // Mux consumer
   39         compatible = "mdio-mux-multiplexer";
   40         mux-controls = <&mux 0>;
   41         mdio-parent-bus = <&emdio1>;
   42         #address-cells = <1>;
   43         #size-cells = <0>;
   44 
   45         mdio@0 {
   46                 reg = <0x0>;
   47                 #address-cells = <1>;
   48                 #size-cells = <0>;
   49         };
   50 
   51         mdio@8 {
   52                 reg = <0x8>;
   53                 #address-cells = <1>;
   54                 #size-cells = <0>;
   55         };
   56 
   57         ..
   58         ..
   59 };
   60 
   61 mdio-mux-2 { // Mux consumer
   62         compatible = "mdio-mux-multiplexer";
   63         mux-controls = <&mux 1>;
   64         mdio-parent-bus = <&emdio2>;
   65         #address-cells = <1>;
   66         #size-cells = <0>;
   67 
   68         mdio@0 {
   69                 reg = <0x0>;
   70                 #address-cells = <1>;
   71                 #size-cells = <0>;
   72         };
   73 
   74         mdio@1 {
   75                 reg = <0x1>;
   76                 #address-cells = <1>;
   77                 #size-cells = <0>;
   78         };
   79 
   80         ..
   81         ..
   82 };

Cache object: 1cacd7e8a81b546c050aa52184985410


[ 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.