mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 22:20:45 +00:00
davinci, mmc: Added a delay reading ext CSD register
Without this additional delay, some eMMC don't negotiate properly bus width Tested on: - Toshiba THGBM2G8D8FBAIB - Toshiba THGBM4G4D1HBAR - Micron MTFC4GMVEA (the one giving the problem) - Hynix H26M64002BNR - SanDisk SDIN5E1-32G Signed-off-by: Davide Bonfanti <davide.bonfanti@bticino.it> Acked-by: Tom Rini <trini@ti.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
This commit is contained in:
parent
e95504497e
commit
3ba36d603a
1 changed files with 4 additions and 1 deletions
|
@ -285,8 +285,11 @@ dmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
|
|||
*/
|
||||
if (bytes_left > fifo_bytes)
|
||||
dmmc_wait_fifo_status(regs, 0x4a);
|
||||
else if (bytes_left == fifo_bytes)
|
||||
else if (bytes_left == fifo_bytes) {
|
||||
dmmc_wait_fifo_status(regs, 0x40);
|
||||
if (cmd->cmdidx == MMC_CMD_SEND_EXT_CSD)
|
||||
udelay(600);
|
||||
}
|
||||
|
||||
for (i = 0; bytes_left && (i < fifo_words); i++) {
|
||||
cmddata = get_val(®s->mmcdrr);
|
||||
|
|
Loading…
Reference in a new issue