| 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>; |
| }; |
| }; |