summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2016-02-27 19:19:04 +0100
committerTom Rini <trini@konsulko.com>2016-03-15 15:12:51 -0400
commit6313c6500484ed85892f425e3ca93f706fd9a2ea (patch)
tree101f85b8521519f081912ab458c9200a2148e850 /drivers/power
parent0343f71f0901c87ac38b274eb303d18b70c1e3e9 (diff)
downloadu-boot-imx-6313c6500484ed85892f425e3ca93f706fd9a2ea.zip
u-boot-imx-6313c6500484ed85892f425e3ca93f706fd9a2ea.tar.gz
u-boot-imx-6313c6500484ed85892f425e3ca93f706fd9a2ea.tar.bz2
power: twl6030: Clear VUSB_IN_PMID bit on USB device setup
When booting from USB, the bootrom sets the VUSB_IN_PMID bit of the MISC2 register of the TWL6030. However, U-Boot sets the VUSB_IN_VSYS bit to enable VBUS input. As both bits are contradictory, enabling both disables the input, according to the TWL6030 TRM. Thus, we need to clear the VUSB_IN_PMID bit in case of an USB boot (which could just as well be a memory boot after USB timed out). Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/twl6030.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c
index df43cca..c6d06f1 100644
--- a/drivers/power/twl6030.c
+++ b/drivers/power/twl6030.c
@@ -259,6 +259,7 @@ void twl6030_usb_device_settings()
/* Select the input supply for VUSB regulator */
twl6030_i2c_read_u8(TWL6030_CHIP_PM, TWL6030_MISC2, &value);
value |= TWL6030_MISC2_VUSB_IN_VSYS;
+ value &= ~TWL6030_MISC2_VUSB_IN_PMID;
twl6030_i2c_write_u8(TWL6030_CHIP_PM, TWL6030_MISC2, value);
}
#endif