diff options
-rw-r--r-- | include/libopencm3/stm32/common/i2c_common_v1.h | 16 | ||||
-rw-r--r-- | include/libopencm3/stm32/common/i2c_common_v2.h | 16 | ||||
-rw-r--r-- | include/libopencm3/stm32/f2/i2c.h | 2 | ||||
-rw-r--r-- | include/libopencm3/stm32/f3/memorymap.h | 1 | ||||
-rw-r--r-- | include/libopencm3/stm32/f4/i2c.h | 2 | ||||
-rw-r--r-- | include/libopencm3/stm32/l0/memorymap.h | 1 | ||||
-rw-r--r-- | include/libopencm3/stm32/l4/i2c.h | 2 |
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 |