Commit 6313c650 authored by Paul Kocialkowski's avatar Paul Kocialkowski Committed by Tom Rini

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: default avatarPaul Kocialkowski <contact@paulk.fr>
parent 0343f71f
......@@ -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
......@@ -48,6 +48,7 @@
#define BB_MEAS (1 << 0)
#define TWL6030_MISC2 0xE5
#define TWL6030_MISC2_VUSB_IN_PMID (1 << 3)
#define TWL6030_MISC2_VUSB_IN_VSYS (1 << 4)
/* Slave Address 0x49 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment