From 6313c6500484ed85892f425e3ca93f706fd9a2ea Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Sat, 27 Feb 2016 19:19:04 +0100 Subject: 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 --- drivers/power/twl6030.c | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/power') diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c index df43cca34a..c6d06f19e9 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 -- cgit v1.2.1