1*c54473cbSPrzemyslaw MarczakI2C gpio device binding
2*c54473cbSPrzemyslaw Marczak=======================
3*c54473cbSPrzemyslaw Marczak
4*c54473cbSPrzemyslaw MarczakDriver:
5*c54473cbSPrzemyslaw Marczak- drivers/i2c/i2c-gpio.c
6*c54473cbSPrzemyslaw Marczak
7*c54473cbSPrzemyslaw MarczakSoftware i2c device-tree node properties:
8*c54473cbSPrzemyslaw MarczakRequired:
9*c54473cbSPrzemyslaw Marczak* #address-cells = <1>;
10*c54473cbSPrzemyslaw Marczak* #size-cells = <0>;
11*c54473cbSPrzemyslaw Marczak* compatible = "i2c-gpio";
12*c54473cbSPrzemyslaw Marczak* gpios = <sda ...>, <scl ...>;
13*c54473cbSPrzemyslaw Marczak
14*c54473cbSPrzemyslaw MarczakOptional:
15*c54473cbSPrzemyslaw Marczak* i2c-gpio,delay-us = <5>;
16*c54473cbSPrzemyslaw Marczak   The resulting transfer speed can be adjusted by setting the delay[us]
17*c54473cbSPrzemyslaw Marczak   between gpio-toggle operations. Speed [Hz] = 1000000 / 4 * udelay[us],
18*c54473cbSPrzemyslaw Marczak   It not defined, then default is 5us (~50KHz).
19*c54473cbSPrzemyslaw Marczak
20*c54473cbSPrzemyslaw MarczakExample:
21*c54473cbSPrzemyslaw Marczak
22*c54473cbSPrzemyslaw Marczaki2c-gpio@1 {
23*c54473cbSPrzemyslaw Marczak	#address-cells = <1>;
24*c54473cbSPrzemyslaw Marczak	#size-cells = <0>;
25*c54473cbSPrzemyslaw Marczak
26*c54473cbSPrzemyslaw Marczak	compatible = "i2c-gpio";
27*c54473cbSPrzemyslaw Marczak	gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, /* SDA */
28*c54473cbSPrzemyslaw Marczak		<&gpd1 1 GPIO_ACTIVE_HIGH>; /* CLK */
29*c54473cbSPrzemyslaw Marczak
30*c54473cbSPrzemyslaw Marczak	i2c-gpio,delay-us = <5>;
31*c54473cbSPrzemyslaw Marczak
32*c54473cbSPrzemyslaw Marczak	some_device@5 {
33*c54473cbSPrzemyslaw Marczak		compatible = "some_device";
34*c54473cbSPrzemyslaw Marczak		reg = <0x5>;
35*c54473cbSPrzemyslaw Marczak		...
36*c54473cbSPrzemyslaw Marczak	};
37*c54473cbSPrzemyslaw Marczak};
38