@@ -248,6 +248,10 @@ void twl6030_usb_device_settings()
{
u8 value = 0;
+ /* 3.3V voltage output for VUSB */
+ twl6030_i2c_write_u8(TWL6030_CHIP_PM, TWL6030_VUSB_CFG_VOLTAGE,
+ TWL6030_CFG_VOLTAGE_33);
+
/* Enable P1 output for VUSB */
twl6030_i2c_write_u8(TWL6030_CHIP_PM, TWL6030_VUSB_CFG_STATE,
TWL6030_CFG_STATE_P1 | TWL6030_CFG_STATE_ON);
@@ -32,6 +32,7 @@
#define TWL6030_VMMC_CFG_STATE 0x9A
#define TWL6030_VMMC_CFG_VOLTAGE 0x9B
#define TWL6030_VUSB_CFG_STATE 0xA2
+#define TWL6030_VUSB_CFG_VOLTAGE 0xA3
#define TWL6030_CFG_GRP_P1 (1 << 0)
#define TWL6030_CFG_STATE_ON (1 << 0)
@@ -39,6 +40,7 @@
#define TWL6030_CFG_VOLTAGE_18 0x09
#define TWL6030_CFG_VOLTAGE_28 0x13
#define TWL6030_CFG_VOLTAGE_30 0x15
+#define TWL6030_CFG_VOLTAGE_33 0x18
#define MISC1 0xE4
#define VAC_MEAS (1 << 2)
This explicitly sets VUSB voltage to 3.3V when enabling USB. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> --- drivers/power/twl6030.c | 4 ++++ include/twl6030.h | 2 ++ 2 files changed, 6 insertions(+)