blob: b06b829933746227387b4435a91f2035c191db85 [file] [log] [blame]
Przemyslaw Marczakd3aa7e12015-03-31 18:57:18 +02001I2C gpio device binding
2=======================
3
4Driver:
5- drivers/i2c/i2c-gpio.c
6
7Software i2c device-tree node properties:
8Required:
9* #address-cells = <1>;
10* #size-cells = <0>;
11* compatible = "i2c-gpio";
12* gpios = <sda ...>, <scl ...>;
13
14Optional:
15* i2c-gpio,delay-us = <5>;
16 The resulting transfer speed can be adjusted by setting the delay[us]
17 between gpio-toggle operations. Speed [Hz] = 1000000 / 4 * udelay[us],
18 It not defined, then default is 5us (~50KHz).
Marek Vasutd55b7802020-02-18 18:24:42 +010019* i2c-gpio,deblock
20 Run deblocking sequence when the driver gets probed.
Heiko Schocher48f39d82020-03-16 07:55:06 +010021* i2c-gpio,scl-output-only;
22 Set if SCL is an output only
Przemyslaw Marczakd3aa7e12015-03-31 18:57:18 +020023
24Example:
25
26i2c-gpio@1 {
27 #address-cells = <1>;
28 #size-cells = <0>;
29
30 compatible = "i2c-gpio";
31 gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, /* SDA */
32 <&gpd1 1 GPIO_ACTIVE_HIGH>; /* CLK */
33
34 i2c-gpio,delay-us = <5>;
35
36 some_device@5 {
37 compatible = "some_device";
38 reg = <0x5>;
39 ...
40 };
41};