OSDN Git Service

dt-bindings: i2c: mux: ltc4306: Add dt-bindings for I2C multiplexer/switch
authorMichael Hennerich <michael.hennerich@analog.com>
Tue, 11 Apr 2017 12:16:15 +0000 (14:16 +0200)
committerPeter Rosin <peda@axentia.se>
Wed, 12 Apr 2017 15:06:05 +0000 (17:06 +0200)
This patch adds support for the Analog Devices / Linear Technology
LTC4306 and LTC4305 4/2 Channel I2C Bus Multiplexer/Switches.
The LTC4306 optionally provides two general purpose input/output pins
(GPIOs) that can be configured as logic inputs, opendrain outputs or
push-pull outputs via the generic GPIOLIB framework.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Rosin <peda@axentia.se>
Documentation/devicetree/bindings/i2c/i2c-mux-ltc4306.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-ltc4306.txt b/Documentation/devicetree/bindings/i2c/i2c-mux-ltc4306.txt
new file mode 100644 (file)
index 0000000..1e98c6b
--- /dev/null
@@ -0,0 +1,61 @@
+* Linear Technology / Analog Devices I2C bus switch
+
+Required Properties:
+
+  - compatible: Must contain one of the following.
+    "lltc,ltc4305", "lltc,ltc4306"
+  - reg: The I2C address of the device.
+
+  The following required properties are defined externally:
+
+  - Standard I2C mux properties. See i2c-mux.txt in this directory.
+  - I2C child bus nodes. See i2c-mux.txt in this directory.
+
+Optional Properties:
+
+  - enable-gpios: Reference to the GPIO connected to the enable input.
+  - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
+    children in idle state. This is necessary for example, if there are several
+    multiplexers on the bus and the devices behind them use same I2C addresses.
+  - gpio-controller: Marks the device node as a GPIO Controller.
+  - #gpio-cells: Should be two.  The first cell is the pin number and
+       the second cell is used to specify flags.
+       See ../gpio/gpio.txt for more information.
+  - ltc,downstream-accelerators-enable: Enables the rise time accelerators
+       on the downstream port.
+  - ltc,upstream-accelerators-enable: Enables the rise time accelerators
+       on the upstream port.
+
+Example:
+
+       ltc4306: i2c-mux@4a {
+               compatible = "lltc,ltc4306";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x4a>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+
+                       eeprom@50 {
+                               compatible = "at,24c02";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+
+                       eeprom@50 {
+                               compatible = "at,24c02";
+                               reg = <0x50>;
+                       };
+               };
+       };