2012-04-13 05:14:23 +08:00
|
|
|
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
|
2016-07-08 18:13:12 +08:00
|
|
|
multiplexer/switch will have one child node for each child bus.
|
2012-04-13 05:14:23 +08:00
|
|
|
|
2016-07-08 18:13:12 +08:00
|
|
|
Optional properties:
|
|
|
|
- #address-cells = <1>;
|
2017-09-21 20:52:29 +08:00
|
|
|
This property is required if the i2c-mux child node does not exist.
|
2016-07-08 18:13:12 +08:00
|
|
|
|
|
|
|
- #size-cells = <0>;
|
2017-09-21 20:52:29 +08:00
|
|
|
This property is required if the i2c-mux child node does not exist.
|
2016-07-08 18:13:12 +08:00
|
|
|
|
|
|
|
- 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:
|
2012-04-13 05:14:23 +08:00
|
|
|
- #address-cells = <1>;
|
|
|
|
- #size-cells = <0>;
|
|
|
|
|
2016-07-08 18:13:12 +08:00
|
|
|
Required properties for i2c child bus nodes:
|
2012-04-13 05:14:23 +08:00
|
|
|
- #address-cells = <1>;
|
|
|
|
- #size-cells = <0>;
|
|
|
|
- reg : The sub-bus number.
|
|
|
|
|
2016-07-08 18:13:12 +08:00
|
|
|
Optional properties for i2c child bus nodes:
|
2012-04-13 05:14:23 +08:00
|
|
|
- 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;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|