stm32: unify i2c implementations

The f1, f2, f4, l1 chip families have a similar "v1" i2c peripheral on board.
More recent f0, f3, l0, l3 chip families share another "v2" version  of i2c.

This patch unifies headers and implementation for two types of i2c peripherals:

- rename: i2c_common_all.[ch] to i2c_common_v1.[ch]
- remove i2c_common_f24.h: extra I2C blocks are defined in specific headers
- use f3 i2c code as a basis for common "v2" i2c implementation
- add f0 i2c support: use "v2" i2c implementation

Tests:
- tested on a custom f0 board
- compile-tested both libopencm3 and libopencm3-examples for all stm32

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
This commit is contained in:
Sergey Matyukevich
2016-12-01 22:52:09 +03:00
committed by Karl Palsson
parent 43736cf03f
commit ef91856ac1
20 changed files with 981 additions and 1151 deletions

View File

@@ -38,7 +38,7 @@ ARFLAGS = rcs
OBJS = gpio.o rcc.o desig.o
OBJS += crc_common_all.o dac_common_all.o dma_common_f24.o \
gpio_common_all.o gpio_common_f0234.o i2c_common_all.o \
gpio_common_all.o gpio_common_f0234.o i2c_common_v1.o \
iwdg_common_all.o rtc_common_l1f024.o spi_common_all.o \
spi_common_l1f124.o timer_common_all.o timer_common_f0234.o \
timer_common_f24.o usart_common_all.o usart_common_f124.o \