summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorSebastian Reichel <sre@kernel.org>2017-02-12 01:18:08 +0100
committerSebastian Reichel <sre@kernel.org>2017-02-28 08:32:08 +0100
commitcea17575cf74671f09440e5e58f4da96a2952a14 (patch)
treea05c773cf4f93ac1f5aaf7ead91fa4bfb36014de /Documentation
parentc470abd4fde40ea6a0846a2beab642a578c0b8cd (diff)
downloadlinux-cea17575cf74671f09440e5e58f4da96a2952a14.tar.bz2
i2c: add sc18is600 driver
This adds an I²C master driver for SPI -> I²C bus bridge chips. It currently supports NXP's SC18IS600 and SC18IS601, as well as Silicon Labs' CP2120. The driver was only tested on SC18IS600. TODO: - test runtime PM stuff - test clock stretching - proper platform_data for gpio subdevice Signed-off-By: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-cp2120.txt1
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-sc18is600.txt45
2 files changed, 46 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-cp2120.txt b/Documentation/devicetree/bindings/i2c/i2c-cp2120.txt
new file mode 100644
index 000000000000..95e06e74f288
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-cp2120.txt
@@ -0,0 +1 @@
+Please see binding for i2c-sc18is600
diff --git a/Documentation/devicetree/bindings/i2c/i2c-sc18is600.txt b/Documentation/devicetree/bindings/i2c/i2c-sc18is600.txt
new file mode 100644
index 000000000000..d6d77061ca22
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-sc18is600.txt
@@ -0,0 +1,45 @@
+NXP SC18IS600 and Silabs CP2120 - SPI to I2C bus bridge
+
+Required properties:
+ - compatible: Should contain one of
+ * "nxp,sc18is600"
+ * "nxp,sc18is601"
+ * "silabs,cp2120"
+ - reg: address of the chip on SPI bus
+ - interrupts: Interrupt specifier. Refer to interrupt bindings.
+ - #address-cells: Should be 1.
+ - #size-cells: Should be 0.
+
+Required properties for sc18is601:
+ - clkin: Clock specifier for CLKIN pin
+
+Optional properties:
+ - clock-frequency:
+ Desired I2C bus frequency in Hz, otherwise defaults to 100000
+ - wakeup-gpios (sc18is60x only):
+ GPIO specifier for SC18IS600's WAKEUP/IO4 pin, which can be used
+ to wakeup the sc18is600 from power down mode. It's active low.
+ - reset-gpios
+ GPIO specifier for reset pin, which is active low.
+ - vdd-supply
+ Regulator specifier for VDD supply.
+ - Child nodes conforming to i2c bus binding
+
+Example:
+
+&spi_controller {
+ sc18is600: i2c@0 {
+ compatible = "nxp,sc18is600";
+ clock-frequency = <100000>;
+ reg = <0>;
+
+ vdd-supply = <&regulator_v33>;
+ wakeup-gpios = <&gpio_controller 0 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio_controller 1 GPIO_ACTIVE_LOW>;
+
+ i2c_device@42 {
+ compatible = "some,i2c-device";
+ reg = <0x42>;
+ };
+ };
+}