aboutsummaryrefslogtreecommitdiffstats
path: root/src/stm32/i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stm32/i2c.c')
-rw-r--r--src/stm32/i2c.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/stm32/i2c.c b/src/stm32/i2c.c
index d333d4b7..d9583694 100644
--- a/src/stm32/i2c.c
+++ b/src/stm32/i2c.c
@@ -23,11 +23,28 @@ DECL_ENUMERATION("i2c_bus", "i2c1a", 1);
DECL_CONSTANT_STR("BUS_PINS_i2c1a", "PB8,PB9");
DECL_ENUMERATION("i2c_bus", "i2c2", 2);
DECL_CONSTANT_STR("BUS_PINS_i2c2", "PB10,PB11");
+#if CONFIG_MACH_STM32F2 || CONFIG_MACH_STM324
+DECL_ENUMERATION("i2c_bus", "i2c3", 3);
+DECL_CONSTANT_STR("BUS_PINS_i2c3", "PA8,PC9");
+ #if CONFIG_MACH_STM32F2 || CONFIG_MACH_STM32F4x5
+DECL_ENUMERATION("i2c_bus", "i2c2a", 4);
+DECL_CONSTANT_STR("BUS_PINS_i2c2a", "PH4,PH5");
+DECL_ENUMERATION("i2c_bus", "i2c3a", 5);
+DECL_CONSTANT_STR("BUS_PINS_i2c3a", "PH7,PH8");
+ #endif
+#endif
static const struct i2c_info i2c_bus[] = {
{ I2C1, GPIO('B', 6), GPIO('B', 7) },
{ I2C1, GPIO('B', 8), GPIO('B', 9) },
{ I2C2, GPIO('B', 10), GPIO('B', 11) },
+#if CONFIG_MACH_STM32F2 || CONFIG_MACH_STM324
+ { I2C3, GPIO('A', 8), GPIO('C', 9) },
+ #if CONFIG_MACH_STM32F2 || CONFIG_MACH_STM32F4x5
+ { I2C2, GPIO('H', 4), GPIO('H', 5) },
+ { I2C3, GPIO('H', 7), GPIO('H', 8) },
+ #endif
+#endif
};
// Work around stm32 errata causing busy bit to be stuck