xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mux-pca954x.txt (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1* NXP PCA954x I2C bus switch
2
3The driver supports NXP PCA954x and PCA984x I2C mux/switch devices.
4
5Required Properties:
6
7  - compatible: Must contain one of the following.
8    "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"
17
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
25Optional Properties:
26
27  - reset-gpios: Reference to the GPIO connected to the reset input.
28  - idle-state: if present, overrides i2c-mux-idle-disconnect,
29    Please refer to Documentation/devicetree/bindings/mux/mux-controller.txt
30  - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
31    children in idle state. This is necessary for example, if there are several
32    multiplexers on the bus and the devices behind them use same I2C addresses.
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
39
40Example:
41
42	i2c-switch@74 {
43		compatible = "nxp,pca9548";
44		#address-cells = <1>;
45		#size-cells = <0>;
46		reg = <0x74>;
47
48		interrupt-parent = <&ipic>;
49		interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
50		interrupt-controller;
51		#interrupt-cells = <2>;
52
53		i2c@2 {
54			#address-cells = <1>;
55			#size-cells = <0>;
56			reg = <2>;
57
58			eeprom@54 {
59				compatible = "atmel,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	};
75