|
|
|
@ -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 |
|
|
|
|
|
|
|
|
|