73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
* NXP PCA954x I2C bus switch
|
|
|
|
The driver supports NXP PCA954x and PCA984x I2C mux/switch devices.
|
|
|
|
Required Properties:
|
|
|
|
- compatible: Must contain one of the following.
|
|
"nxp,pca9540",
|
|
"nxp,pca9542",
|
|
"nxp,pca9543",
|
|
"nxp,pca9544",
|
|
"nxp,pca9545",
|
|
"nxp,pca9546", "nxp,pca9846",
|
|
"nxp,pca9547", "nxp,pca9847",
|
|
"nxp,pca9548", "nxp,pca9848",
|
|
"nxp,pca9849"
|
|
|
|
- reg: The I2C address of the device.
|
|
|
|
The following required properties are defined externally:
|
|
|
|
- Standard I2C mux properties. See i2c-mux.txt in this directory.
|
|
- I2C child bus nodes. See i2c-mux.txt in this directory.
|
|
|
|
Optional Properties:
|
|
|
|
- reset-gpios: Reference to the GPIO connected to the reset input.
|
|
- i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
|
|
children in idle state. This is necessary for example, if there are several
|
|
multiplexers on the bus and the devices behind them use same I2C addresses.
|
|
- interrupts: Interrupt mapping for IRQ.
|
|
- interrupt-controller: Marks the device node as an interrupt controller.
|
|
- #interrupt-cells : Should be two.
|
|
- first cell is the pin number
|
|
- second cell is used to specify flags.
|
|
See also Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
|
|
|
Example:
|
|
|
|
i2c-switch@74 {
|
|
compatible = "nxp,pca9548";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x74>;
|
|
|
|
interrupt-parent = <&ipic>;
|
|
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
|
|
i2c@2 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <2>;
|
|
|
|
eeprom@54 {
|
|
compatible = "atmel,24c08";
|
|
reg = <0x54>;
|
|
};
|
|
};
|
|
|
|
i2c@4 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <4>;
|
|
|
|
rtc@51 {
|
|
compatible = "nxp,pcf8563";
|
|
reg = <0x51>;
|
|
};
|
|
};
|
|
};
|