xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mux-ltc4306.txt (revision b197d4b893974c9eb4d7b38704c6d5c486235d6f)
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