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/i2c/i2c-mux.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 Common i2c bus multiplexer/switch properties.
    2 
    3 An i2c bus multiplexer/switch will have several child busses that are
    4 numbered uniquely in a device dependent manner.  The nodes for an i2c bus
    5 multiplexer/switch will have one child node for each child bus.
    6 
    7 Optional properties:
    8 - #address-cells = <1>;
    9    This property is required if the i2c-mux child node does not exist.
   10 
   11 - #size-cells = <0>;
   12    This property is required if the i2c-mux child node does not exist.
   13 
   14 - i2c-mux
   15    For i2c multiplexers/switches that have child nodes that are a mixture
   16    of both i2c child busses and other child nodes, the 'i2c-mux' subnode
   17    can be used for populating the i2c child busses.  If an 'i2c-mux'
   18    subnode is present, only subnodes of this will be considered as i2c
   19    child busses.
   20 
   21 Required properties for the i2c-mux child node:
   22 - #address-cells = <1>;
   23 - #size-cells = <0>;
   24 
   25 Required properties for i2c child bus nodes:
   26 - #address-cells = <1>;
   27 - #size-cells = <0>;
   28 - reg : The sub-bus number.
   29 
   30 Optional properties for i2c child bus nodes:
   31 - Other properties specific to the multiplexer/switch hardware.
   32 - Child nodes conforming to i2c bus binding
   33 
   34 
   35 Example :
   36 
   37         /*
   38            An NXP pca9548 8 channel I2C multiplexer at address 0x70
   39            with two NXP pca8574 GPIO expanders attached, one each to
   40            ports 3 and 4.
   41          */
   42 
   43         mux@70 {
   44                 compatible = "nxp,pca9548";
   45                 reg = <0x70>;
   46                 #address-cells = <1>;
   47                 #size-cells = <0>;
   48 
   49                 i2c@3 {
   50                         #address-cells = <1>;
   51                         #size-cells = <0>;
   52                         reg = <3>;
   53 
   54                         gpio1: gpio@38 {
   55                                 compatible = "nxp,pca8574";
   56                                 reg = <0x38>;
   57                                 #gpio-cells = <2>;
   58                                 gpio-controller;
   59                         };
   60                 };
   61                 i2c@4 {
   62                         #address-cells = <1>;
   63                         #size-cells = <0>;
   64                         reg = <4>;
   65 
   66                         gpio2: gpio@38 {
   67                                 compatible = "nxp,pca8574";
   68                                 reg = <0x38>;
   69                                 #gpio-cells = <2>;
   70                                 gpio-controller;
   71                         };
   72                 };
   73         };

Cache object: 3d77842ecfee0c2dbc39905847857fa2


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