diff options
author | Sebastian Reichel <sre@kernel.org> | 2017-02-12 01:18:08 +0100 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2017-02-28 08:32:08 +0100 |
commit | cea17575cf74671f09440e5e58f4da96a2952a14 (patch) | |
tree | a05c773cf4f93ac1f5aaf7ead91fa4bfb36014de /Documentation | |
parent | c470abd4fde40ea6a0846a2beab642a578c0b8cd (diff) | |
download | linux-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.txt | 1 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-sc18is600.txt | 45 |
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 = <®ulator_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>; + }; + }; +} |