aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-02-08 15:45:58 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-02-08 15:45:58 +0000
commit57d5ba67c58f5226a9ddc8c58a01c29d71772c08 (patch)
treec6454b9dc4461f4c8dfc49602ffb0f715a9fd929 /os
parent1d9041f77bc376c92b663bc69fb57ec855531039 (diff)
downloadChibiOS-57d5ba67c58f5226a9ddc8c58a01c29d71772c08.tar.gz
ChibiOS-57d5ba67c58f5226a9ddc8c58a01c29d71772c08.tar.bz2
ChibiOS-57d5ba67c58f5226a9ddc8c58a01c29d71772c08.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6672 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/hal/ports/STM32/LLD/sdc_lld.h9
-rw-r--r--os/hal/src/sdc.c3
2 files changed, 11 insertions, 1 deletions
diff --git a/os/hal/ports/STM32/LLD/sdc_lld.h b/os/hal/ports/STM32/LLD/sdc_lld.h
index f4a44d18c..6f0e389d6 100644
--- a/os/hal/ports/STM32/LLD/sdc_lld.h
+++ b/os/hal/ports/STM32/LLD/sdc_lld.h
@@ -82,7 +82,14 @@
* @brief Read timeout in milliseconds.
*/
#if !defined(STM32_SDC_READ_TIMEOUT_MS) || defined(__DOXYGEN__)
-#define STM32_SDC_READ_TIMEOUT_MS 5
+#define STM32_SDC_READ_TIMEOUT_MS 25
+#endif
+
+/**
+ * @brief Card clock activation delay in milliseconds.
+ */
+#if !defined(STM32_SDC_CLOCK_ACTIVATION_DELAY) || defined(__DOXYGEN__)
+#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
#endif
/**
diff --git a/os/hal/src/sdc.c b/os/hal/src/sdc.c
index d18f37b55..c75397291 100644
--- a/os/hal/src/sdc.c
+++ b/os/hal/src/sdc.c
@@ -200,6 +200,9 @@ bool sdcConnect(SDCDriver *sdcp) {
/* Card clock initialization.*/
sdc_lld_start_clk(sdcp);
+ /* Clock activation delay.*/
+ osalThreadSleep(MS2ST(STM32_SDC_CLOCK_ACTIVATION_DELAY));
+
/* Enforces the initial card state.*/
sdc_lld_send_cmd_none(sdcp, MMCSD_CMD_GO_IDLE_STATE, 0);