blob: e29eeba9e6e51fac400424625aab6ceb935c145e [file] [log] [blame]
Przemyslaw Marczakc54473c2015-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 Vasut092d9ea2020-02-18 18:24:42 +010019* i2c-gpio,deblock
20 Run deblocking sequence when the driver gets probed.
Przemyslaw Marczakc54473c2015-03-31 18:57:18 +020021
22Example:
23
24i2c-gpio@1 {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 compatible = "i2c-gpio";
29 gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, /* SDA */
30 <&gpd1 1 GPIO_ACTIVE_HIGH>; /* CLK */
31
32 i2c-gpio,delay-us = <5>;
33
34 some_device@5 {
35 compatible = "some_device";
36 reg = <0x5>;
37 ...
38 };
39};