34 #define PERIPH_I2C_NEED_READ_REG
36 #define PERIPH_I2C_NEED_WRITE_REG
38 #define PERIPH_I2C_NEED_READ_REGS
39 #if defined(CPU_FAM_STM32F1) || defined(CPU_FAM_STM32F2) || \
40 defined(CPU_FAM_STM32L1) || defined(CPU_FAM_STM32F4) || \
41 defined(CPU_FAM_STM32MP1)
43 #define PERIPH_I2C_NEED_WRITE_REGS
52 #define HAVE_I2C_SPEED_T
54 #if defined(CPU_FAM_STM32F1) || defined(CPU_FAM_STM32F2) || \
55 defined(CPU_FAM_STM32F4) || defined(CPU_FAM_STM32L1) || \
56 defined(CPU_FAM_STM32MP1)
61 #if defined(CPU_FAM_STM32F0) || defined(CPU_FAM_STM32F3) || \
62 defined(CPU_FAM_STM32F7) || defined(CPU_FAM_STM32L0) || \
63 defined(CPU_FAM_STM32L4) || defined(CPU_FAM_STM32WB) || \
64 defined(CPU_FAM_STM32G4) || defined(CPU_FAM_STM32G0) || \
65 defined(CPU_FAM_STM32L5) || defined(CPU_FAM_STM32U5) || \
66 defined(CPU_FAM_STM32WL) || defined(CPU_FAM_STM32C0)
81 #ifndef CPU_FAM_STM32F1
87 #if defined(CPU_FAM_STM32F0) || defined(CPU_FAM_STM32F3) || \
88 defined(CPU_FAM_STM32F7) || defined(CPU_FAM_STM32G0) || \
89 defined(CPU_FAM_STM32G4) || defined(CPU_FAM_STM32L4) || \
90 defined(CPU_FAM_STM32L5) || defined(CPU_FAM_STM32WB) || \
91 defined(CPU_FAM_STM32U5) || defined(CPU_FAM_STM32WL) || \
92 defined(CPU_FAM_STM32C0)
95 #if defined(CPU_FAM_STM32F1) || defined(CPU_FAM_STM32F2) || \
96 defined(CPU_FAM_STM32F4) || defined(CPU_FAM_STM32L1) || \
97 defined(CPU_FAM_STM32MP1)
103 #if defined(CPU_FAM_STM32F0) || defined(CPU_FAM_STM32F3) || \
104 defined(CPU_FAM_STM32F7) || defined(CPU_FAM_STM32L0) || \
105 defined(CPU_FAM_STM32L4) || defined(CPU_FAM_STM32L5) || \
106 defined(CPU_FAM_STM32G0) || defined(CPU_FAM_STM32G4) || \
107 defined(CPU_FAM_STM32U5) || defined(CPU_FAM_STM32WB) || \
108 defined(CPU_FAM_STM32WL) || defined(CPU_FAM_STM32C0)
118 } i2c_timing_param_t;
133 static const i2c_timing_param_t timing_params[] = {
161 #if defined(CPU_FAM_STM32F0) || defined(CPU_FAM_STM32F3) || \
162 defined(CPU_FAM_STM32F7) || defined(CPU_FAM_STM32G0) || \
163 defined(CPU_FAM_STM32G4) || defined(CPU_FAM_STM32L0) || \
164 defined(CPU_FAM_STM32L4) || defined(CPU_FAM_STM32L5) || \
165 defined(CPU_FAM_STM32U5) || defined(CPU_FAM_STM32WB) || \
166 defined(CPU_FAM_STM32WL) || defined(CPU_FAM_STM32C0)
171 #define PERIPH_I2C_MAX_BYTES_PER_FRAME (256U)
GPIO CPU definitions for the STM32 family.
gpio_af_t
Override alternative GPIO mode options.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
@ I2C_SPEED_FAST_PLUS
fast plus mode: ~1000 kbit/s
@ I2C_SPEED_LOW
low speed mode: ~10 kbit/s
@ I2C_SPEED_FAST
fast mode: ~400 kbit/s
I2C configuration structure.
gpio_af_t scl_af
scl pin alternate function value
gpio_af_t sda_af
sda pin alternate function value
uint32_t rcc_mask
bit in clock enable register
uint8_t irqn
I2C event interrupt number.