mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 14:41:31 +00:00
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>
This commit is contained in:
parent
0343f71f09
commit
6313c65004
2 changed files with 2 additions and 0 deletions
|
@ -259,6 +259,7 @@ void twl6030_usb_device_settings()
|
||||||
/* Select the input supply for VUSB regulator */
|
/* Select the input supply for VUSB regulator */
|
||||||
twl6030_i2c_read_u8(TWL6030_CHIP_PM, TWL6030_MISC2, &value);
|
twl6030_i2c_read_u8(TWL6030_CHIP_PM, TWL6030_MISC2, &value);
|
||||||
value |= TWL6030_MISC2_VUSB_IN_VSYS;
|
value |= TWL6030_MISC2_VUSB_IN_VSYS;
|
||||||
|
value &= ~TWL6030_MISC2_VUSB_IN_PMID;
|
||||||
twl6030_i2c_write_u8(TWL6030_CHIP_PM, TWL6030_MISC2, value);
|
twl6030_i2c_write_u8(TWL6030_CHIP_PM, TWL6030_MISC2, value);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#define BB_MEAS (1 << 0)
|
#define BB_MEAS (1 << 0)
|
||||||
|
|
||||||
#define TWL6030_MISC2 0xE5
|
#define TWL6030_MISC2 0xE5
|
||||||
|
#define TWL6030_MISC2_VUSB_IN_PMID (1 << 3)
|
||||||
#define TWL6030_MISC2_VUSB_IN_VSYS (1 << 4)
|
#define TWL6030_MISC2_VUSB_IN_VSYS (1 << 4)
|
||||||
|
|
||||||
/* Slave Address 0x49 */
|
/* Slave Address 0x49 */
|
||||||
|
|
Loading…
Add table
Reference in a new issue