|
@@ -1118,9 +1118,11 @@ static void omap_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
|
if (do_send_init_stream)
|
|
|
send_init_stream(host);
|
|
|
|
|
|
+ con = OMAP_HSMMC_READ(host->base, CON);
|
|
|
if (ios->bus_mode == MMC_BUSMODE_OPENDRAIN)
|
|
|
- OMAP_HSMMC_WRITE(host->base, CON,
|
|
|
- OMAP_HSMMC_READ(host->base, CON) | OD);
|
|
|
+ OMAP_HSMMC_WRITE(host->base, CON, con | OD);
|
|
|
+ else
|
|
|
+ OMAP_HSMMC_WRITE(host->base, CON, con & ~OD);
|
|
|
|
|
|
mmc_host_lazy_disable(host->mmc);
|
|
|
}
|