void board_mmc_poweron_ldo(uint voltage) { if (board_is_dra71x_evm()) { if (voltage == LDO_VOLT_3V0) voltage = 0x19; else if (voltage == LDO_VOLT_1V8) voltage = 0xa; lp873x_mmc1_poweron_ldo(voltage); } else if (board_is_dra76x_evm()) { palmas_mmc1_poweron_ldo(LDO4_VOLTAGE, LDO4_CTRL, voltage); } else { palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage); } }
static void omap5_pbias_config(struct mmc *mmc) { u32 value = 0; value = readl((*ctrl)->control_pbias); 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_PWRDNZ; writel(value, (*ctrl)->control_pbias); udelay(150); /* wait 150 us */ value |= SDCARD_PWRDNZ; writel(value, (*ctrl)->control_pbias); udelay(150); /* wait 150 us */ }