STM32F4 I2C driver

Yannis Damigos

Hi Erwan,

I actually my plan is to finally create a generic i2c_ll_stm32 driver
but I started small with the stm32f4 finally because it is my first
attempt to code a driver and I only have stm32f1 and stm32f4
development boards.
Running just a diff on the i2c_ll_stm32fxxx header files, I could say
that there are two groups of stm32 soc families for the I2C LL API.
The first group contains the families F1, F4 and the second the
families F3, F7, L4.
So my i2c driver should work also for the F1 family with few
modifications, which I planned to test after the testing of i2c read

I will contact Jorge to coordinate our efforts on the st i2c ll driver.


On Mon, Jun 12, 2017 at 10:32 AM, Erwan Gouriou
<> wrote:
Hi Yannis,

Thanks for this proposition. We are indeed missing I2C driver for STM32F4
What would be really nice is to get a generic STM32 I2C driver, working on
all series
(based on LL STM32Cube API as you've done is a good start for this purpose).
Jorge (cc) is working on the "generic side" of the driver, can you get in
touch with him,
and see how to achieve and upstream i2c_ll_stm32.c/h ?


On 11 June 2017 at 16:33, Yannis Damigos <> wrote:


I am developing an I2C driver based on the stm32cube LL API.
The driver can be found here:

The driver supports both polling and interrupt for master mode.

The status of the I2C driver today is the following:
The master write operation for 7bit addressing was tested on Carbon from
The master read operation was not tested (at the moment I only have a I2C
OLED display which supports only write operations)
The 10bit address support was not tested.
Slave mode is not implemented.

Should I open a PR for the driver or wait until all the operations are

Please feel free to test the driver and provide me with any input.


Zephyr-devel mailing list

Join to automatically receive all group messages.