Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/thirdpin/libopencm3.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libopencm3/stm32/common/i2c_common_v1.h16
-rw-r--r--include/libopencm3/stm32/common/i2c_common_v2.h16
-rw-r--r--include/libopencm3/stm32/f2/i2c.h2
-rw-r--r--include/libopencm3/stm32/f3/memorymap.h1
-rw-r--r--include/libopencm3/stm32/f4/i2c.h2
-rw-r--r--include/libopencm3/stm32/l0/memorymap.h1
-rw-r--r--include/libopencm3/stm32/l4/i2c.h2
7 files changed, 34 insertions, 6 deletions
diff --git a/include/libopencm3/stm32/common/i2c_common_v1.h b/include/libopencm3/stm32/common/i2c_common_v1.h
index e4998c61..16c8982a 100644
--- a/include/libopencm3/stm32/common/i2c_common_v1.h
+++ b/include/libopencm3/stm32/common/i2c_common_v1.h
@@ -47,6 +47,9 @@ specific memorymap.h header before including this header file.*/
@{*/
#define I2C1 I2C1_BASE
#define I2C2 I2C2_BASE
+#ifdef I2C3_BASE
+#define I2C3 I2C3_BASE
+#endif
/**@}*/
/* --- I2C registers ------------------------------------------------------- */
@@ -96,6 +99,19 @@ specific memorymap.h header before including this header file.*/
#define I2C1_TRISE I2C_TRISE(I2C1)
#define I2C2_TRISE I2C_TRISE(I2C2)
+/* Not all parts have i2c3 */
+#ifdef I2C3_BASE
+#define I2C3_CR1 I2C_CR1(I2C3)
+#define I2C3_CR2 I2C_CR2(I2C3)
+#define I2C3_OAR1 I2C_OAR1(I2C3)
+#define I2C3_OAR2 I2C_OAR2(I2C3)
+#define I2C3_DR I2C_DR(I2C3)
+#define I2C3_SR1 I2C_SR1(I2C3)
+#define I2C3_SR2 I2C_SR2(I2C3)
+#define I2C3_CCR I2C_CCR(I2C3)
+#define I2C3_TRISE I2C_TRISE(I2C3)
+#endif
+
/* --- I2Cx_CR1 values ----------------------------------------------------- */
/* SWRST: Software reset */
diff --git a/include/libopencm3/stm32/common/i2c_common_v2.h b/include/libopencm3/stm32/common/i2c_common_v2.h
index c5f5bafe..cd311064 100644
--- a/include/libopencm3/stm32/common/i2c_common_v2.h
+++ b/include/libopencm3/stm32/common/i2c_common_v2.h
@@ -43,6 +43,9 @@ specific memorymap.h header before including this header file.*/
* @{*/
#define I2C1 I2C1_BASE
#define I2C2 I2C2_BASE
+#ifdef I2C3_BASE
+#define I2C3 I2C3_BASE
+#endif
/**@}*/
/* --- I2C registers ------------------------------------------------------- */
@@ -102,6 +105,19 @@ specific memorymap.h header before including this header file.*/
#define I2C1_TXDR I2C_TXDR(I2C1)
#define I2C2_TXDR I2C_TXDR(I2C2)
+/* Not all parts have i2c3 */
+#ifdef I2C3_BASE
+#define I2C3_CR1 I2C_CR1(I2C3)
+#define I2C3_CR2 I2C_CR2(I2C3)
+#define I2C3_OAR1 I2C_OAR1(I2C3)
+#define I2C3_OAR2 I2C_OAR2(I2C3)
+#define I2C3_DR I2C_DR(I2C3)
+#define I2C3_SR1 I2C_SR1(I2C3)
+#define I2C3_SR2 I2C_SR2(I2C3)
+#define I2C3_CCR I2C_CCR(I2C3)
+#define I2C3_TRISE I2C_TRISE(I2C3)
+#endif
+
/* --- I2Cx_CR1 values ----------------------------------------------------- */
/* PECEN: PEC enable */
diff --git a/include/libopencm3/stm32/f2/i2c.h b/include/libopencm3/stm32/f2/i2c.h
index 9c8afc94..a658c112 100644
--- a/include/libopencm3/stm32/f2/i2c.h
+++ b/include/libopencm3/stm32/f2/i2c.h
@@ -35,8 +35,6 @@ LGPL License Terms @ref lgpl_license
/**@{*/
-#define I2C3 I2C3_BASE
-
/**@}*/
#endif
diff --git a/include/libopencm3/stm32/f3/memorymap.h b/include/libopencm3/stm32/f3/memorymap.h
index 0eead68f..53441fad 100644
--- a/include/libopencm3/stm32/f3/memorymap.h
+++ b/include/libopencm3/stm32/f3/memorymap.h
@@ -64,6 +64,7 @@
/* PERIPH_BASE_APB1 + 0x6C00 (0x4000 6C00 - 0x4000 6FFF): Reserved */
#define POWER_CONTROL_BASE (PERIPH_BASE_APB1 + 0x7000)
#define DAC_BASE (PERIPH_BASE_APB1 + 0x7400)
+#define I2C3_BASE (PERIPH_BASE_APB1 + 0x7800)
/* PERIPH_BASE_APB1 + 0x7800 (0x4000 7800 - 0x4000 7FFF): Reserved */
diff --git a/include/libopencm3/stm32/f4/i2c.h b/include/libopencm3/stm32/f4/i2c.h
index 890d412f..e2a65e16 100644
--- a/include/libopencm3/stm32/f4/i2c.h
+++ b/include/libopencm3/stm32/f4/i2c.h
@@ -35,8 +35,6 @@ LGPL License Terms @ref lgpl_license
/**@{*/
-#define I2C3 I2C3_BASE
-
/**@}*/
#endif
diff --git a/include/libopencm3/stm32/l0/memorymap.h b/include/libopencm3/stm32/l0/memorymap.h
index d1466b7d..e384c5c2 100644
--- a/include/libopencm3/stm32/l0/memorymap.h
+++ b/include/libopencm3/stm32/l0/memorymap.h
@@ -51,6 +51,7 @@
#define CRS_BASE (PERIPH_BASE_APB1 + 0x6C00)
#define POWER_CONTROL_BASE (PERIPH_BASE_APB1 + 0x7000)
#define DAC_BASE (PERIPH_BASE_APB1 + 0x7400)
+#define I2C3_BASE (PERIPH_BASE_APB1 + 0x7800)
#define LPTIM1_BASE (PERIPH_BASE_APB1 + 0x7c00)
diff --git a/include/libopencm3/stm32/l4/i2c.h b/include/libopencm3/stm32/l4/i2c.h
index 27a0f362..033d5701 100644
--- a/include/libopencm3/stm32/l4/i2c.h
+++ b/include/libopencm3/stm32/l4/i2c.h
@@ -35,8 +35,6 @@ LGPL License Terms @ref lgpl_license
/**@{*/
-#define I2C3 I2C3_BASE
-
/**@}*/
#endif