aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/STM32/sdc_lld.h
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-04-18 16:40:15 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-04-18 16:40:15 +0000
commit814b642a0ced73a71ceb3b548c2c570e8631dd58 (patch)
treeb2fb649dca949d8781a2421ae9a52c58780448ca /os/hal/platforms/STM32/sdc_lld.h
parente394b3218a459c2dd323c7b1dcaf0c547d37ad8f (diff)
downloadChibiOS-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.h45
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. */
/*===========================================================================*/