diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2012-04-18 16:40:15 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2012-04-18 16:40:15 +0000 |
commit | 814b642a0ced73a71ceb3b548c2c570e8631dd58 (patch) | |
tree | b2fb649dca949d8781a2421ae9a52c58780448ca /os/hal/platforms/STM32/sdc_lld.h | |
parent | e394b3218a459c2dd323c7b1dcaf0c547d37ad8f (diff) | |
download | ChibiOS-814b642a0ced73a71ceb3b548c2c570e8631dd58.tar.gz ChibiOS-814b642a0ced73a71ceb3b548c2c570e8631dd58.tar.bz2 ChibiOS-814b642a0ced73a71ceb3b548c2c570e8631dd58.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4112 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/platforms/STM32/sdc_lld.h')
-rw-r--r-- | os/hal/platforms/STM32/sdc_lld.h | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/os/hal/platforms/STM32/sdc_lld.h b/os/hal/platforms/STM32/sdc_lld.h index b3ef6a788..a807b28ce 100644 --- a/os/hal/platforms/STM32/sdc_lld.h +++ b/os/hal/platforms/STM32/sdc_lld.h @@ -75,6 +75,19 @@ #define STM32_SDC_SDIO_IRQ_PRIORITY 9
#endif
+/**
+ * @brief Write timeout in milliseconds.
+ */
+#if !defined(SDC_WRITE_TIMEOUT_MS) || defined(__DOXYGEN__)
+#define SDC_WRITE_TIMEOUT_MS 250
+#endif
+
+/**
+ * @brief Read timeout in milliseconds.
+ */
+#if !defined(SDC_READ_TIMEOUT_MS) || defined(__DOXYGEN__)
+#define SDC_READ_TIMEOUT_MS 5
+#endif
/** @} */
/*===========================================================================*/
@@ -93,32 +106,34 @@ * SDIO clock divider.
*/
#if (defined(STM32F4XX) || defined(STM32F2XX))
- #define STM32_SDIO_DIV_HS 0
- #define STM32_SDIO_DIV_LS 120
+#define STM32_SDIO_DIV_HS 0
+#define STM32_SDIO_DIV_LS 120
+
#elif STM32_HCLK > 48000000
- #define STM32_SDIO_DIV_HS 1
- #define STM32_SDIO_DIV_LS 178
+#define STM32_SDIO_DIV_HS 1
+#define STM32_SDIO_DIV_LS 178
#else
- #define STM32_SDIO_DIV_HS 0
- #define STM32_SDIO_DIV_LS 118
+
+#define STM32_SDIO_DIV_HS 0
+#define STM32_SDIO_DIV_LS 118
#endif
/**
* @brief SDIO data timeouts in SDIO clock cycles.
*/
#if (defined(STM32F4XX) || defined(STM32F2XX))
- #define STM32_SDC_WRITE_TIMEOUT \
- (((48000000 / (STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_WRITE_TIMEOUT_MS)
- #define STM32_SDC_READ_TIMEOUT \
- (((48000000 / (STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_READ_TIMEOUT_MS)
+#define STM32_SDC_WRITE_TIMEOUT \
+ (((STM32_PLL48CLK / (STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_WRITE_TIMEOUT_MS)
+#define STM32_SDC_READ_TIMEOUT \
+ (((STM32_PLL48CLK / (STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_READ_TIMEOUT_MS)
+
#else
- #define STM32_SDC_WRITE_TIMEOUT \
- (((STM32_HCLK /((STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_WRITE_TIMEOUT_MS)
- #define STM32_SDC_READ_TIMEOUT \
- (((STM32_HCLK /((STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_READ_TIMEOUT_MS)
+#define STM32_SDC_WRITE_TIMEOUT \
+ (((STM32_HCLK /((STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_WRITE_TIMEOUT_MS)
+#define STM32_SDC_READ_TIMEOUT \
+ (((STM32_HCLK /((STM32_SDIO_DIV_HS + 2)) / 1000) * SDC_READ_TIMEOUT_MS)
#endif
-
/*===========================================================================*/
/* Driver data structures and types. */
/*===========================================================================*/
|