blob: bb00854f334291622ace909f3c2cc128a5f450da [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
Alex Shumsky32929332024-10-15 23:29:31 +030023* i2c-gpio,sda-output-only;
24 Set if SDA is an output only
Przemyslaw Marczakd3aa7e12015-03-31 18:57:18 +020025
26Example:
27
28i2c-gpio@1 {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 compatible = "i2c-gpio";
33 gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, /* SDA */
34 <&gpd1 1 GPIO_ACTIVE_HIGH>; /* CLK */
35
36 i2c-gpio,delay-us = <5>;
37
38 some_device@5 {
39 compatible = "some_device";
40 reg = <0x5>;
41 ...
42 };
43};