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