mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
omap4460: fix TPS initialization
TPS power IC is controlled using a GPIO (gpio_wk7). This GPIO should be maintained at logic 1 always. As such an internal pull-up on this pin will do the job, driving the GPIO outuput is not needed. This will avoid the need of using GPIO library in SPL and also may save some power. Signed-off-by: Aneesh V <aneesh@ti.com>
This commit is contained in:
parent
8e40852f0d
commit
cd5847ac3a
4 changed files with 13 additions and 10 deletions
|
@ -359,14 +359,6 @@ void do_scale_tps62361(u32 reg, u32 volt_mv)
|
||||||
step = volt_mv - TPS62361_BASE_VOLT_MV;
|
step = volt_mv - TPS62361_BASE_VOLT_MV;
|
||||||
step /= 10;
|
step /= 10;
|
||||||
|
|
||||||
/*
|
|
||||||
* Select SET1 in TPS62361:
|
|
||||||
* VSEL1 is grounded on board. So the following selects
|
|
||||||
* VSEL1 = 0 and VSEL0 = 1
|
|
||||||
*/
|
|
||||||
gpio_direction_output(TPS62361_VSEL0_GPIO, 0);
|
|
||||||
gpio_set_value(TPS62361_VSEL0_GPIO, 1);
|
|
||||||
|
|
||||||
temp = TPS62361_I2C_SLAVE_ADDR |
|
temp = TPS62361_I2C_SLAVE_ADDR |
|
||||||
(reg << PRM_VC_VAL_BYPASS_REGADDR_SHIFT) |
|
(reg << PRM_VC_VAL_BYPASS_REGADDR_SHIFT) |
|
||||||
(step << PRM_VC_VAL_BYPASS_DATA_SHIFT) |
|
(step << PRM_VC_VAL_BYPASS_DATA_SHIFT) |
|
||||||
|
|
|
@ -76,7 +76,7 @@ const struct pad_conf_entry wkup_padconf_array_essential[] = {
|
||||||
|
|
||||||
const struct pad_conf_entry wkup_padconf_array_essential_4460[] = {
|
const struct pad_conf_entry wkup_padconf_array_essential_4460[] = {
|
||||||
|
|
||||||
{PAD1_FREF_CLK4_REQ, (M3)}, /* gpio_wk7, TPS */
|
{PAD1_FREF_CLK4_REQ, (PTU | M7)}, /* gpio_wk7 for TPS: safe mode + pull up */
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -96,6 +96,13 @@ void set_muxconf_regs_non_essential(void)
|
||||||
do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array_non_essential,
|
do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array_non_essential,
|
||||||
sizeof(wkup_padconf_array_non_essential) /
|
sizeof(wkup_padconf_array_non_essential) /
|
||||||
sizeof(struct pad_conf_entry));
|
sizeof(struct pad_conf_entry));
|
||||||
|
|
||||||
|
if (omap_revision() < OMAP4460_ES1_0) {
|
||||||
|
do_set_mux(CONTROL_PADCONF_WKUP,
|
||||||
|
wkup_padconf_array_non_essential_4430,
|
||||||
|
sizeof(wkup_padconf_array_non_essential_4430) /
|
||||||
|
sizeof(struct pad_conf_entry));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_GENERIC_MMC)
|
#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_GENERIC_MMC)
|
||||||
|
|
|
@ -67,7 +67,7 @@ const struct pad_conf_entry wkup_padconf_array_essential[] = {
|
||||||
|
|
||||||
const struct pad_conf_entry wkup_padconf_array_essential_4460[] = {
|
const struct pad_conf_entry wkup_padconf_array_essential_4460[] = {
|
||||||
|
|
||||||
{PAD1_FREF_CLK4_REQ, (M3)}, /* gpio_wk7, TPS */
|
{PAD1_FREF_CLK4_REQ, (PTU | M7)}, /* gpio_wk7 for TPS: safe mode + pull up */
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -275,4 +275,8 @@ const struct pad_conf_entry wkup_padconf_array_non_essential[] = {
|
||||||
{PAD1_SYS_BOOT7, (IEN | M3)}, /* gpio_wk10 */
|
{PAD1_SYS_BOOT7, (IEN | M3)}, /* gpio_wk10 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const struct pad_conf_entry wkup_padconf_array_non_essential_4430[] = {
|
||||||
|
{PAD1_FREF_CLK4_REQ, (M3)} /* gpio_wk7 - Debug led-2 */
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _SDP4430_MUX_DATA_H */
|
#endif /* _SDP4430_MUX_DATA_H */
|
||||||
|
|
Loading…
Reference in a new issue