xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mux-ltc4306.txt (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1* Linear Technology / Analog Devices I2C bus switch
2
3Required Properties:
4
5  - compatible: Must contain one of the following.
6    "lltc,ltc4305", "lltc,ltc4306"
7  - reg: The I2C address of the device.
8
9  The following required properties are defined externally:
10
11  - Standard I2C mux properties. See i2c-mux.yaml in this directory.
12  - I2C child bus nodes. See i2c-mux.yaml in this directory.
13
14Optional Properties:
15
16  - enable-gpios: Reference to the GPIO connected to the enable input.
17  - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
18    children in idle state. This is necessary for example, if there are several
19    multiplexers on the bus and the devices behind them use same I2C addresses.
20  - gpio-controller: Marks the device node as a GPIO Controller.
21  - #gpio-cells: Should be two.  The first cell is the pin number and
22	the second cell is used to specify flags.
23	See ../gpio/gpio.txt for more information.
24  - ltc,downstream-accelerators-enable: Enables the rise time accelerators
25	on the downstream port.
26  - ltc,upstream-accelerators-enable: Enables the rise time accelerators
27	on the upstream port.
28
29Example:
30
31	ltc4306: i2c-mux@4a {
32		compatible = "lltc,ltc4306";
33		#address-cells = <1>;
34		#size-cells = <0>;
35		reg = <0x4a>;
36
37		gpio-controller;
38		#gpio-cells = <2>;
39
40		i2c@0 {
41			#address-cells = <1>;
42			#size-cells = <0>;
43			reg = <0>;
44
45			eeprom@50 {
46				compatible = "atmel,24c02";
47				reg = <0x50>;
48			};
49		};
50
51		i2c@1 {
52			#address-cells = <1>;
53			#size-cells = <0>;
54			reg = <1>;
55
56			eeprom@50 {
57				compatible = "atmel,24c02";
58				reg = <0x50>;
59			};
60		};
61	};
62