diff options
Diffstat (limited to 'drivers/mmc/omap_hsmmc.c')
| -rw-r--r-- | drivers/mmc/omap_hsmmc.c | 20 | 
1 files changed, 9 insertions, 11 deletions
| diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c index afdfa886e..975b2c5ba 100644 --- a/drivers/mmc/omap_hsmmc.c +++ b/drivers/mmc/omap_hsmmc.c @@ -113,23 +113,21 @@ static void omap5_pbias_config(struct mmc *mmc)  	u32 value = 0;  	value = readl((*ctrl)->control_pbias); -	value &= ~(SDCARD_PWRDNZ | SDCARD_BIAS_PWRDNZ); -	value |= SDCARD_BIAS_HIZ_MODE; +	value &= ~SDCARD_PWRDNZ; +	writel(value, (*ctrl)->control_pbias); +	udelay(10); /* wait 10 us */ +	value &= ~SDCARD_BIAS_PWRDNZ;  	writel(value, (*ctrl)->control_pbias);  	palmas_mmc1_poweron_ldo();  	value = readl((*ctrl)->control_pbias); -	value &= ~SDCARD_BIAS_HIZ_MODE; -	value |= SDCARD_PBIASLITE_VMODE | SDCARD_PWRDNZ | SDCARD_BIAS_PWRDNZ; +	value |= SDCARD_BIAS_PWRDNZ;  	writel(value, (*ctrl)->control_pbias); - -	value = readl((*ctrl)->control_pbias); -	if (value & (1 << 23)) { -		value &= ~(SDCARD_PWRDNZ | SDCARD_BIAS_PWRDNZ); -		value |= SDCARD_BIAS_HIZ_MODE; -		writel(value, (*ctrl)->control_pbias); -	} +	udelay(150); /* wait 150 us */ +	value |= SDCARD_PWRDNZ; +	writel(value, (*ctrl)->control_pbias); +	udelay(150); /* wait 150 us */  }  #endif |