|
@@ -44,7 +44,6 @@
|
|
|
#include <plat/cpu.h>
|
|
|
|
|
|
/* OMAP HSMMC Host Controller Registers */
|
|
|
-#define OMAP_HSMMC_SYSCONFIG 0x0010
|
|
|
#define OMAP_HSMMC_SYSSTATUS 0x0014
|
|
|
#define OMAP_HSMMC_CON 0x002C
|
|
|
#define OMAP_HSMMC_BLK 0x0104
|
|
@@ -576,21 +575,8 @@ static int omap_hsmmc_context_restore(struct omap_hsmmc_host *host)
|
|
|
if (host->context_loss == context_loss)
|
|
|
return 1;
|
|
|
|
|
|
- /* Wait for hardware reset */
|
|
|
- timeout = jiffies + msecs_to_jiffies(MMC_TIMEOUT_MS);
|
|
|
- while ((OMAP_HSMMC_READ(host->base, SYSSTATUS) & RESETDONE) != RESETDONE
|
|
|
- && time_before(jiffies, timeout))
|
|
|
- ;
|
|
|
-
|
|
|
- /* Do software reset */
|
|
|
- OMAP_HSMMC_WRITE(host->base, SYSCONFIG, SOFTRESET);
|
|
|
- timeout = jiffies + msecs_to_jiffies(MMC_TIMEOUT_MS);
|
|
|
- while ((OMAP_HSMMC_READ(host->base, SYSSTATUS) & RESETDONE) != RESETDONE
|
|
|
- && time_before(jiffies, timeout))
|
|
|
- ;
|
|
|
-
|
|
|
- OMAP_HSMMC_WRITE(host->base, SYSCONFIG,
|
|
|
- OMAP_HSMMC_READ(host->base, SYSCONFIG) | AUTOIDLE);
|
|
|
+ if (!OMAP_HSMMC_READ(host->base, SYSSTATUS) & RESETDONE)
|
|
|
+ return 1;
|
|
|
|
|
|
if (host->pdata->controller_flags & OMAP_HSMMC_SUPPORTS_DUAL_VOLT) {
|
|
|
if (host->power_mode != MMC_POWER_OFF &&
|
|
@@ -1593,10 +1579,6 @@ static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host)
|
|
|
value = OMAP_HSMMC_READ(host->base, CAPA);
|
|
|
OMAP_HSMMC_WRITE(host->base, CAPA, value | capa);
|
|
|
|
|
|
- /* Set the controller to AUTO IDLE mode */
|
|
|
- value = OMAP_HSMMC_READ(host->base, SYSCONFIG);
|
|
|
- OMAP_HSMMC_WRITE(host->base, SYSCONFIG, value | AUTOIDLE);
|
|
|
-
|
|
|
/* Set SD bus power bit */
|
|
|
set_sd_bus_power(host);
|
|
|
}
|
|
@@ -1654,8 +1636,6 @@ static int omap_hsmmc_regs_show(struct seq_file *s, void *data)
|
|
|
|
|
|
pm_runtime_get_sync(host->dev);
|
|
|
|
|
|
- seq_printf(s, "SYSCONFIG:\t0x%08x\n",
|
|
|
- OMAP_HSMMC_READ(host->base, SYSCONFIG));
|
|
|
seq_printf(s, "CON:\t\t0x%08x\n",
|
|
|
OMAP_HSMMC_READ(host->base, CON));
|
|
|
seq_printf(s, "HCTL:\t\t0x%08x\n",
|