mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 11:24:42 +00:00
palmas: Add support for powering different ldos
It is not necessary that ldo1 is used to power on mmc. So, add support for passing ldo registers for powering on mmc. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
parent
91d3e90668
commit
db4fce8fcd
4 changed files with 7 additions and 10 deletions
|
@ -457,7 +457,7 @@ void v7_arch_cp15_set_acr(u32 acr, u32 cpu_midr, u32 cpu_rev_comb,
|
||||||
#if defined(CONFIG_PALMAS_POWER)
|
#if defined(CONFIG_PALMAS_POWER)
|
||||||
__weak void board_mmc_poweron_ldo(uint voltage)
|
__weak void board_mmc_poweron_ldo(uint voltage)
|
||||||
{
|
{
|
||||||
palmas_mmc1_poweron_ldo(voltage);
|
palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage);
|
||||||
}
|
}
|
||||||
|
|
||||||
void vmmc_pbias_config(uint voltage)
|
void vmmc_pbias_config(uint voltage)
|
||||||
|
|
|
@ -720,7 +720,7 @@ void board_mmc_poweron_ldo(uint voltage)
|
||||||
voltage = 0xa;
|
voltage = 0xa;
|
||||||
lp873x_mmc1_poweron_ldo(voltage);
|
lp873x_mmc1_poweron_ldo(voltage);
|
||||||
} else {
|
} else {
|
||||||
palmas_mmc1_poweron_ldo(voltage);
|
palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -42,24 +42,21 @@ int lp873x_mmc1_poweron_ldo(uint voltage)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int palmas_mmc1_poweron_ldo(uint voltage)
|
int palmas_mmc1_poweron_ldo(uint ldo_volt, uint ldo_ctrl, uint voltage)
|
||||||
{
|
{
|
||||||
u8 val = 0;
|
u8 val = 0;
|
||||||
|
|
||||||
#if defined(CONFIG_DRA7XX)
|
#if defined(CONFIG_DRA7XX)
|
||||||
int ret;
|
int ret;
|
||||||
/*
|
|
||||||
* Currently valid for the dra7xx_evm board:
|
ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, ldo_volt, voltage);
|
||||||
* Set TPS659038 LDO1 to 3.0 V or 1.8V
|
|
||||||
*/
|
|
||||||
ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, LDO1_VOLTAGE, voltage);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printf("tps65903x: could not set LDO1 voltage.\n");
|
printf("tps65903x: could not set LDO1 voltage.\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
/* TURN ON LDO1 */
|
/* TURN ON LDO1 */
|
||||||
val = RSC_MODE_SLEEP | RSC_MODE_ACTIVE;
|
val = RSC_MODE_SLEEP | RSC_MODE_ACTIVE;
|
||||||
ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, LDO1_CTRL, val);
|
ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, ldo_ctrl, val);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printf("tps65903x: could not turn on LDO1.\n");
|
printf("tps65903x: could not turn on LDO1.\n");
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -129,7 +129,7 @@ static inline int palmas_i2c_read_u8(u8 chip_no, u8 reg, u8 *val)
|
||||||
}
|
}
|
||||||
|
|
||||||
void palmas_init_settings(void);
|
void palmas_init_settings(void);
|
||||||
int palmas_mmc1_poweron_ldo(uint voltage);
|
int palmas_mmc1_poweron_ldo(uint ldo_volt, uint ldo_ctrl, uint voltage);
|
||||||
int lp873x_mmc1_poweron_ldo(uint voltage);
|
int lp873x_mmc1_poweron_ldo(uint voltage);
|
||||||
int twl603x_mmc1_set_ldo9(u8 vsel);
|
int twl603x_mmc1_set_ldo9(u8 vsel);
|
||||||
int twl603x_audio_power(u8 on);
|
int twl603x_audio_power(u8 on);
|
||||||
|
|
Loading…
Add table
Reference in a new issue