47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
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>;
|
|
};
|
|
};
|