diff options
Diffstat (limited to 'firmware/drivers/ata_mmc.c')
-rw-r--r-- | firmware/drivers/ata_mmc.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/firmware/drivers/ata_mmc.c b/firmware/drivers/ata_mmc.c index b4c2e844e0..0faf431836 100644 --- a/firmware/drivers/ata_mmc.c +++ b/firmware/drivers/ata_mmc.c | |||
@@ -139,6 +139,7 @@ static int select_card(int card_no) | |||
139 | { | 139 | { |
140 | if (!card_info[card_no].initialized) | 140 | if (!card_info[card_no].initialized) |
141 | { | 141 | { |
142 | setup_sci1(7); /* Initial rate: 375 kbps (need <= 400 per mmc specs) */ | ||
142 | write_transfer(dummy, 10); /* allow the card to synchronize */ | 143 | write_transfer(dummy, 10); /* allow the card to synchronize */ |
143 | while (!(SSR1 & SCI_TEND)); | 144 | while (!(SSR1 & SCI_TEND)); |
144 | } | 145 | } |
@@ -359,9 +360,6 @@ static int initialize_card(int card_no) | |||
359 | 1000000000, 100000000, 10000000, 1000000, 100000, 10000, 1000, 100 | 360 | 1000000000, 100000000, 10000000, 1000000, 100000, 10000, 1000, 100 |
360 | }; | 361 | }; |
361 | 362 | ||
362 | card->initialized = false; | ||
363 | setup_sci1(7); /* Initial rate: 375 kBit/s (need <= 400 per mmc specs) */ | ||
364 | |||
365 | /* switch to SPI mode */ | 363 | /* switch to SPI mode */ |
366 | send_cmd(CMD_GO_IDLE_STATE, 0, &response); | 364 | send_cmd(CMD_GO_IDLE_STATE, 0, &response); |
367 | if (response != 0x01) | 365 | if (response != 0x01) |
@@ -425,7 +423,7 @@ static int initialize_card(int card_no) | |||
425 | 423 | ||
426 | card->rev = (cxd[9] & 0xF0) >> 4; | 424 | card->rev = (cxd[9] & 0xF0) >> 4; |
427 | card->rev_fract = cxd[9] & 0x0F; | 425 | card->rev_fract = cxd[9] & 0x0F; |
428 | 426 | ||
429 | card->manuf_month = (cxd[14] & 0xF0) >> 4; | 427 | card->manuf_month = (cxd[14] & 0xF0) >> 4; |
430 | card->manuf_year = (cxd[14] & 0x0F) + 1997; | 428 | card->manuf_year = (cxd[14] & 0x0F) + 1997; |
431 | 429 | ||