mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-27 05:23:34 +00:00
4fadcaf097
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>
30 lines
984 B
Text
30 lines
984 B
Text
* 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>;
|
|
};
|