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