mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	Add i2c driver which can be used on both STM32F7 and STM32H7. This I2C block supports the following features: _ Slave and master modes _ Multimaster capability _ Standard-mode (up to 100 kHz) _ Fast-mode (up to 400 kHz) _ Fast-mode Plus (up to 1 MHz) _ 7-bit and 10-bit addressing mode _ Multiple 7-bit slave addresses (2 addresses, 1 with configurable mask) _ All 7-bit addresses acknowledge mode _ General call _ Programmable setup and hold times _ Easy to use event management _ Optional clock stretching _ Software reset Signed-off-by: Christophe Kerello <christophe.kerello@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			31 lines
		
	
	
		
			984 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			984 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
* I2C controller embedded in STMicroelectronis STM32 platforms
 | 
						|
 | 
						|
Required properties :
 | 
						|
- compatible : Must be "st,stm32f7-i2c"
 | 
						|
- reg : Offset and length of the register set for the device
 | 
						|
- resets: Must contain the phandle to the reset controller
 | 
						|
- clocks: Must contain the input clock of the I2C instance
 | 
						|
- A pinctrl state named "default" must be defined to set pins in mode of
 | 
						|
  operation for I2C transfer
 | 
						|
- #address-cells = <1>;
 | 
						|
- #size-cells = <0>;
 | 
						|
 | 
						|
Optional properties :
 | 
						|
- clock-frequency : Desired I2C bus clock frequency in Hz. If not specified,
 | 
						|
  the default 100 kHz frequency will be used. As only Normal, Fast and Fast+
 | 
						|
  modes are implemented, possible values are 100000, 400000 and 1000000.
 | 
						|
 | 
						|
Example :
 | 
						|
 | 
						|
	i2c1: i2c@40005400 {
 | 
						|
		compatible = "st,stm32f7-i2c";
 | 
						|
		reg = <0x40005400 0x400>;
 | 
						|
		resets = <&rcc 181>;
 | 
						|
		clocks = <&clk_pclk1>;
 | 
						|
		pinctrl-names = "default";
 | 
						|
		pinctrl-0 = <&pinctrl_i2c1>;
 | 
						|
		clock-frequency = <400000>;
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
	};
 |