blob: 34d91501342e1dd594b634817a63c6319bd70bef [file] [log] [blame]
Laurent Pinchart42151382013-11-29 01:51:24 +01001* NXP PCA954x I2C bus switch
2
Adrian Fiergolski8f6d6012017-12-25 22:26:46 +01003The driver supports NXP PCA954x and PCA984x I2C mux/switch devices.
4
Laurent Pinchart42151382013-11-29 01:51:24 +01005Required Properties:
6
7 - compatible: Must contain one of the following.
Adrian Fiergolski8f6d6012017-12-25 22:26:46 +01008 "nxp,pca9540",
9 "nxp,pca9542",
10 "nxp,pca9543",
11 "nxp,pca9544",
12 "nxp,pca9545",
13 "nxp,pca9546", "nxp,pca9846",
14 "nxp,pca9547", "nxp,pca9847",
15 "nxp,pca9548", "nxp,pca9848",
16 "nxp,pca9849"
Laurent Pinchart42151382013-11-29 01:51:24 +010017
18 - reg: The I2C address of the device.
19
20 The following required properties are defined externally:
21
22 - Standard I2C mux properties. See i2c-mux.txt in this directory.
23 - I2C child bus nodes. See i2c-mux.txt in this directory.
24
Laurent Pinchart12097952013-11-29 01:51:25 +010025Optional Properties:
26
27 - reset-gpios: Reference to the GPIO connected to the reset input.
Alexander Sverdlin72f02712015-01-23 16:41:29 +010028 - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
29 children in idle state. This is necessary for example, if there are several
30 multiplexers on the bus and the devices behind them use same I2C addresses.
Phil Reid9aedcc62017-01-25 09:31:07 +080031 - interrupt-parent: Phandle for the interrupt controller that services
32 interrupts for this device.
33 - interrupts: Interrupt mapping for IRQ.
34 - interrupt-controller: Marks the device node as an interrupt controller.
35 - #interrupt-cells : Should be two.
36 - first cell is the pin number
37 - second cell is used to specify flags.
38 See also Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
Laurent Pinchart42151382013-11-29 01:51:24 +010039
40Example:
41
42 i2c-switch@74 {
43 compatible = "nxp,pca9548";
44 #address-cells = <1>;
45 #size-cells = <0>;
46 reg = <0x74>;
47
Phil Reid9aedcc62017-01-25 09:31:07 +080048 interrupt-parent = <&ipic>;
49 interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
50 interrupt-controller;
51 #interrupt-cells = <2>;
52
Laurent Pinchart42151382013-11-29 01:51:24 +010053 i2c@2 {
54 #address-cells = <1>;
55 #size-cells = <0>;
56 reg = <2>;
57
58 eeprom@54 {
59 compatible = "at,24c08";
60 reg = <0x54>;
61 };
62 };
63
64 i2c@4 {
65 #address-cells = <1>;
66 #size-cells = <0>;
67 reg = <4>;
68
69 rtc@51 {
70 compatible = "nxp,pcf8563";
71 reg = <0x51>;
72 };
73 };
74 };