summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/stm32/chip/stm32_i2c.h
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-04-01 13:43:31 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-04-01 13:43:31 +0000
commite3fe81779352589122b14c80287122aef30a2e14 (patch)
treeb023368884367ed0be578090c93bff4047a6cc78 /nuttx/arch/arm/src/stm32/chip/stm32_i2c.h
parent8e9c9c4fd33836b5504ede9cacdb111d6877ef1b (diff)
downloadpx4-nuttx-e3fe81779352589122b14c80287122aef30a2e14.tar.gz
px4-nuttx-e3fe81779352589122b14c80287122aef30a2e14.tar.bz2
px4-nuttx-e3fe81779352589122b14c80287122aef30a2e14.zip
Add support for STM32 F427/437 chips. From Mike Smith
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5807 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/stm32/chip/stm32_i2c.h')
-rw-r--r--nuttx/arch/arm/src/stm32/chip/stm32_i2c.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/stm32/chip/stm32_i2c.h b/nuttx/arch/arm/src/stm32/chip/stm32_i2c.h
index f481245e0..cb2934d10 100644
--- a/nuttx/arch/arm/src/stm32/chip/stm32_i2c.h
+++ b/nuttx/arch/arm/src/stm32/chip/stm32_i2c.h
@@ -51,6 +51,9 @@
#define STM32_I2C_SR2_OFFSET 0x0018 /* Status register 2 (16-bit) */
#define STM32_I2C_CCR_OFFSET 0x001c /* Clock control register (16-bit) */
#define STM32_I2C_TRISE_OFFSET 0x0020 /* TRISE Register (16-bit) */
+#ifdef CONFIG_STM32_STM32F427
+# define STM32_I2C_FLTR_OFFSET 0x0024 /* FLTR Register (16-bit) */
+#endif
/* Register Addresses ***************************************************************/
@@ -64,6 +67,9 @@
# define STM32_I2C1_SR2 (STM32_I2C1_BASE+STM32_I2C_SR2_OFFSET)
# define STM32_I2C1_CCR (STM32_I2C1_BASE+STM32_I2C_CCR_OFFSET)
# define STM32_I2C1_TRISE (STM32_I2C1_BASE+STM32_I2C_TRISE_OFFSET)
+# ifdef STM32_I2C_FLTR_OFFSET
+# define STM32_I2C1_FLTR (STM32_I2C1_BASE+STM32_I2C_FLTR_OFFSET)
+# endif
#endif
#if STM32_NI2C > 1
@@ -76,6 +82,9 @@
# define STM32_I2C2_SR2 (STM32_I2C2_BASE+STM32_I2C_SR2_OFFSET)
# define STM32_I2C2_CCR (STM32_I2C2_BASE+STM32_I2C_CCR_OFFSET)
# define STM32_I2C2_TRISE (STM32_I2C2_BASE+STM32_I2C_TRISE_OFFSET)
+# ifdef STM32_I2C_FLTR_OFFSET
+# define STM32_I2C2_FLTR (STM32_I2C2_BASE+STM32_I2C_FLTR_OFFSET)
+# endif
#endif
#if STM32_NI2C > 2
@@ -88,6 +97,9 @@
# define STM32_I2C3_SR2 (STM32_I2C3_BASE+STM32_I2C_SR2_OFFSET)
# define STM32_I2C3_CCR (STM32_I2C3_BASE+STM32_I2C_CCR_OFFSET)
# define STM32_I2C3_TRISE (STM32_I2C3_BASE+STM32_I2C_TRISE_OFFSET)
+# ifdef STM32_I2C_FLTR_OFFSET
+# define STM32_I2C3_FLTR (STM32_I2C3_BASE+STM32_I2C_FLTR_OFFSET)
+# endif
#endif
/* Register Bitfield Definitions ****************************************************/
@@ -188,5 +200,13 @@
#define I2C_TRISE_SHIFT (0) /* Bits 5-0: Maximum Rise Time in Fast/Standard mode (Master mode) */
#define I2C_TRISE_MASK (0x3f << I2C_TRISE_SHIFT)
+/* FLTR Register */
+
+#ifdef STM32_I2C_FLTR_OFFSET
+# define I2C_FLTR_ANOFF (1 << 4) /* Bit 4: Analog noise filter disable */
+# define I2C_FLTR_DNF_SHIFT 0 /* Bits 0-3: Digital noise filter */
+# define I2C_FLTR_DNF_MASK (0xf << I2C_FLTR_DNF_SHIFT)
+#endif
+
#endif /* __ARCH_ARM_SRC_STM32_CHIP_STM32_I2C_H */