Add another delay in the AMSv2 sd controller driver as a work-around for SD initialisation problems, see FS#11870
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29619 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
5c47872b9c
commit
faeb4d6aef
1 changed files with 7 additions and 1 deletions
|
@ -559,7 +559,12 @@ static int sd_init_card(const int drive)
|
|||
/* CMD6 */
|
||||
if(!send_cmd(drive, SD_SWITCH_FUNC, 0x80fffff1, MCI_NO_RESP, NULL))
|
||||
return -9;
|
||||
mci_delay();
|
||||
|
||||
/* This delay is a bit of a hack, but seems to fix card detection
|
||||
problems with some SD cards (particularly 16 GB and bigger cards).
|
||||
Preferably we should handle this properly instead of using a delay,
|
||||
see also FS#11870. */
|
||||
udelay(100000);
|
||||
|
||||
/* We need to go back to STBY state now so we can read csd */
|
||||
/* CMD7 w/rca=0: Deselect card to put it in STBY state */
|
||||
|
@ -572,6 +577,7 @@ static int sd_init_card(const int drive)
|
|||
MCI_RESP|MCI_LONG_RESP, card_info[drive].csd))
|
||||
return -11;
|
||||
|
||||
/* Another delay hack, see FS#11798 */
|
||||
mci_delay();
|
||||
|
||||
sd_parse_csd(&card_info[drive]);
|
||||
|
|
Loading…
Reference in a new issue