About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / i2c / i2c-gpio.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

1	Device-Tree bindings for i2c gpio driver
2	
3	Required properties:
4		- compatible = "i2c-gpio";
5		- sda-gpios: gpio used for the sda signal, this should be flagged as
6		  active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
7		  from <dt-bindings/gpio/gpio.h> since the signal is by definition
8		  open drain.
9		- scl-gpios: gpio used for the scl signal, this should be flagged as
10		  active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
11		  from <dt-bindings/gpio/gpio.h> since the signal is by definition
12		  open drain.
13	
14	Optional properties:
15		- i2c-gpio,scl-output-only: scl as output only
16		- i2c-gpio,delay-us: delay between GPIO operations (may depend on each platform)
17		- i2c-gpio,timeout-ms: timeout to get data
18	
19	Deprecated properties, do not use in new device tree sources:
20		- gpios: sda and scl gpio, alternative for {sda,scl}-gpios
21		- i2c-gpio,sda-open-drain: this means that something outside of our
22		  control has put the GPIO line used for SDA into open drain mode, and
23		  that something is not the GPIO chip. It is essentially an
24		  inconsistency flag.
25		- i2c-gpio,scl-open-drain: this means that something outside of our
26		  control has put the GPIO line used for SCL into open drain mode, and
27		  that something is not the GPIO chip. It is essentially an
28		  inconsistency flag.
29	
30	Example nodes:
31	
32	#include <dt-bindings/gpio/gpio.h>
33	
34	i2c@0 {
35		compatible = "i2c-gpio";
36		sda-gpios = <&pioA 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
37		scl-gpios = <&pioA 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
38		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
39		#address-cells = <1>;
40		#size-cells = <0>;
41	
42		rv3029c2@56 {
43			compatible = "rv3029c2";
44			reg = <0x56>;
45		};
46	};
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog