xref: /linux/Documentation/devicetree/bindings/i2c/i2c-mux-ltc4306.txt (revision 762f99f4f3cb41a775b5157dd761217beba65873)
184ffac89SMichael Hennerich* Linear Technology / Analog Devices I2C bus switch
284ffac89SMichael Hennerich
384ffac89SMichael HennerichRequired Properties:
484ffac89SMichael Hennerich
584ffac89SMichael Hennerich  - compatible: Must contain one of the following.
684ffac89SMichael Hennerich    "lltc,ltc4305", "lltc,ltc4306"
784ffac89SMichael Hennerich  - reg: The I2C address of the device.
884ffac89SMichael Hennerich
984ffac89SMichael Hennerich  The following required properties are defined externally:
1084ffac89SMichael Hennerich
11*a404a636SRob Herring  - Standard I2C mux properties. See i2c-mux.yaml in this directory.
12*a404a636SRob Herring  - I2C child bus nodes. See i2c-mux.yaml in this directory.
1384ffac89SMichael Hennerich
1484ffac89SMichael HennerichOptional Properties:
1584ffac89SMichael Hennerich
1684ffac89SMichael Hennerich  - enable-gpios: Reference to the GPIO connected to the enable input.
1784ffac89SMichael Hennerich  - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
1884ffac89SMichael Hennerich    children in idle state. This is necessary for example, if there are several
1984ffac89SMichael Hennerich    multiplexers on the bus and the devices behind them use same I2C addresses.
2084ffac89SMichael Hennerich  - gpio-controller: Marks the device node as a GPIO Controller.
2184ffac89SMichael Hennerich  - #gpio-cells: Should be two.  The first cell is the pin number and
2284ffac89SMichael Hennerich	the second cell is used to specify flags.
2384ffac89SMichael Hennerich	See ../gpio/gpio.txt for more information.
2484ffac89SMichael Hennerich  - ltc,downstream-accelerators-enable: Enables the rise time accelerators
2584ffac89SMichael Hennerich	on the downstream port.
2684ffac89SMichael Hennerich  - ltc,upstream-accelerators-enable: Enables the rise time accelerators
2784ffac89SMichael Hennerich	on the upstream port.
2884ffac89SMichael Hennerich
2984ffac89SMichael HennerichExample:
3084ffac89SMichael Hennerich
3184ffac89SMichael Hennerich	ltc4306: i2c-mux@4a {
3284ffac89SMichael Hennerich		compatible = "lltc,ltc4306";
3384ffac89SMichael Hennerich		#address-cells = <1>;
3484ffac89SMichael Hennerich		#size-cells = <0>;
3584ffac89SMichael Hennerich		reg = <0x4a>;
3684ffac89SMichael Hennerich
3784ffac89SMichael Hennerich		gpio-controller;
3884ffac89SMichael Hennerich		#gpio-cells = <2>;
3984ffac89SMichael Hennerich
4084ffac89SMichael Hennerich		i2c@0 {
4184ffac89SMichael Hennerich			#address-cells = <1>;
4284ffac89SMichael Hennerich			#size-cells = <0>;
4384ffac89SMichael Hennerich			reg = <0>;
4484ffac89SMichael Hennerich
4584ffac89SMichael Hennerich			eeprom@50 {
463ca3f86fSThierry Reding				compatible = "atmel,24c02";
4784ffac89SMichael Hennerich				reg = <0x50>;
4884ffac89SMichael Hennerich			};
4984ffac89SMichael Hennerich		};
5084ffac89SMichael Hennerich
5184ffac89SMichael Hennerich		i2c@1 {
5284ffac89SMichael Hennerich			#address-cells = <1>;
5384ffac89SMichael Hennerich			#size-cells = <0>;
5484ffac89SMichael Hennerich			reg = <1>;
5584ffac89SMichael Hennerich
5684ffac89SMichael Hennerich			eeprom@50 {
573ca3f86fSThierry Reding				compatible = "atmel,24c02";
5884ffac89SMichael Hennerich				reg = <0x50>;
5984ffac89SMichael Hennerich			};
6084ffac89SMichael Hennerich		};
6184ffac89SMichael Hennerich	};
62