#define ao_sdcard_deselect() ao_gpio_set(AO_SDCARD_SPI_CS_PORT,AO_SDCARD_SPI_CS_PIN,AO_SDCARD_SPI_CS,1)
/* Include SD card commands */
-#define SDCARD_DEBUG 1
+#define SDCARD_DEBUG 0
/* Spew SD tracing */
#define SDCARD_TRACE 0
ao_sdcard_send_fixed(0xff, 10);
/* Reset the card and get it into SPI mode */
- for (i = 0; i < SDCARD_IDLE_WAIT; i++) {
+ for (i = 0; i < SDCARD_IDLE_RETRY; i++) {
if (ao_sdcard_go_idle_state() == SDCARD_STATUS_IDLE_STATE)
break;
}
- if (i == SDCARD_IDLE_WAIT)
+ if (i == SDCARD_IDLE_RETRY)
goto bail;
/* Figure out what kind of card we have */
sdver2 = 1;
}
- for (i = 0; i < SDCARD_IDLE_WAIT; i++) {
+ for (i = 0; i < SDCARD_IDLE_RETRY; i++) {
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_WAIT; i++) {
+ for (i = 0; i < SDCARD_IDLE_RETRY; i++) {
ret = ao_sdcard_send_op_cond();
if (ret != SDCARD_STATUS_IDLE_STATE)
break;
uint8_t ret;
uint8_t response[10];
- for (i = 0; i < SDCARD_IDLE_WAIT; i++) {
+ for (i = 0; i < SDCARD_IDLE_RETRY; i++) {
if (ao_sdcard_go_idle_state() == SDCARD_STATUS_IDLE_STATE)
break;
}
- if (i == SDCARD_IDLE_WAIT) {
+ if (i == SDCARD_IDLE_RETRY) {
ret = 0x3f;
goto bail;
}
sdver2 = 1;
}
- for (i = 0; i < SDCARD_IDLE_WAIT; i++) {
+ for (i = 0; i < SDCARD_IDLE_RETRY; i++) {
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_WAIT; i++) {
+ for (i = 0; i < SDCARD_IDLE_RETRY; i++) {
ret = ao_sdcard_send_op_cond();
if (ret != SDCARD_STATUS_IDLE_STATE)
break;
#define SDCARD_DATA_RES_MASK 0x1f
#define SDCARD_DATA_RES_ACCEPTED 0x05
-#define SDCARD_CMD_TIMEOUT AO_MS_TO_TICKS(100)
-#define SDCARD_BUSY_TIMEOUT AO_MS_TO_TICKS(100)
-#define SDCARD_IDLE_WAIT 10000
-#define SDCARD_BLOCK_TIMEOUT AO_MS_TO_TICKS(1000)
+#define SDCARD_CMD_TIMEOUT AO_MS_TO_TICKS(20)
+#define SDCARD_BUSY_TIMEOUT AO_MS_TO_TICKS(20)
+#define SDCARD_BLOCK_TIMEOUT AO_MS_TO_TICKS(200)
+#define SDCARD_IDLE_RETRY 10
enum ao_sdtype {
ao_sdtype_unknown,