| Device-Tree bindings for i2c gpio driver | |
| Required properties: | |
| - compatible = "i2c-gpio"; | |
| - sda-gpios: gpio used for the sda signal, this should be flagged as | |
| active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) | |
| from <dt-bindings/gpio/gpio.h> since the signal is by definition | |
| open drain. | |
| - scl-gpios: gpio used for the scl signal, this should be flagged as | |
| active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) | |
| from <dt-bindings/gpio/gpio.h> since the signal is by definition | |
| open drain. | |
| Optional properties: | |
| - i2c-gpio,scl-output-only: scl as output only | |
| - i2c-gpio,delay-us: delay between GPIO operations (may depend on each platform) | |
| - i2c-gpio,timeout-ms: timeout to get data | |
| Deprecated properties, do not use in new device tree sources: | |
| - gpios: sda and scl gpio, alternative for {sda,scl}-gpios | |
| - i2c-gpio,sda-open-drain: this means that something outside of our | |
| control has put the GPIO line used for SDA into open drain mode, and | |
| that something is not the GPIO chip. It is essentially an | |
| inconsistency flag. | |
| - i2c-gpio,scl-open-drain: this means that something outside of our | |
| control has put the GPIO line used for SCL into open drain mode, and | |
| that something is not the GPIO chip. It is essentially an | |
| inconsistency flag. | |
| Example nodes: | |
| #include <dt-bindings/gpio/gpio.h> | |
| i2c@0 { | |
| compatible = "i2c-gpio"; | |
| sda-gpios = <&pioA 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; | |
| scl-gpios = <&pioA 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; | |
| i2c-gpio,delay-us = <2>; /* ~100 kHz */ | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| rv3029c2@56 { | |
| compatible = "rv3029c2"; | |
| reg = <0x56>; | |
| }; | |
| }; |