diff options
author | Keith Packard <keithp@keithp.com> | 2013-04-12 01:55:33 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-04-12 01:55:33 -0700 |
commit | 7e6e2ca60c65a4fe2bee0bd8b9b89d45a7dbcfb3 (patch) | |
tree | 4bfbe330f8066d639a3da3fee92090f3d3268588 /src/drivers/ao_sdcard.c | |
parent | 1f88d345c407e409611448d0e8813ab5a6de0a0b (diff) |
altos: Delay while waking up SD card a bit
This seems to make bringing the card from idle to ready mode more
reliable. If you spam the card with requests, it will eventually
whinge and shut down communications.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/drivers/ao_sdcard.c')
-rw-r--r-- | src/drivers/ao_sdcard.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/drivers/ao_sdcard.c b/src/drivers/ao_sdcard.c index 6314a30c..c13017f0 100644 --- a/src/drivers/ao_sdcard.c +++ b/src/drivers/ao_sdcard.c @@ -346,14 +346,16 @@ ao_sdcard_setup(void) sdver2 = 1; } - for (i = 0; i < SDCARD_IDLE_RETRY; i++) { + for (i = 0; i < SDCARD_OP_COND_RETRY; i++) { + ao_delay(AO_MS_TO_TICKS(10)); ret = ao_sdcard_app_send_op_cond(arg); if (ret != SDCARD_STATUS_IDLE_STATE) break; } if (ret != SDCARD_STATUS_READY_STATE) { /* MMC */ - for (i = 0; i < SDCARD_IDLE_RETRY; i++) { + for (i = 0; i < SDCARD_OP_COND_RETRY; i++) { + ao_delay(AO_MS_TO_TICKS(10)); ret = ao_sdcard_send_op_cond(); if (ret != SDCARD_STATUS_IDLE_STATE) break; |