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