Messages in this thread | | | From | Andy Shevchenko <> | Date | Thu, 15 Feb 2018 14:53:07 +0200 | Subject | Re: [PATCH] extcon: intel-cht-wc: Also set direction and drv flags for V5 boost GPIO |
| |
On Thu, Feb 15, 2018 at 9:24 AM, Hans de Goede <hdegoede@redhat.com> wrote: > Sometimes (firmware bug?) the V5 boost GPIO is not configured as output > by the BIOS, leading to the 5V boost convertor being permanently on, > > Explicitly set the direction and drv flags rather then inheriting them > from the firmware to fix this. >
FWIW,
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/extcon/extcon-intel-cht-wc.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/extcon/extcon-intel-cht-wc.c b/drivers/extcon/extcon-intel-cht-wc.c > index 7c4bc8c44c3f..b7e9ea377d70 100644 > --- a/drivers/extcon/extcon-intel-cht-wc.c > +++ b/drivers/extcon/extcon-intel-cht-wc.c > @@ -66,6 +66,8 @@ > > #define CHT_WC_VBUS_GPIO_CTLO 0x6e2d > #define CHT_WC_VBUS_GPIO_CTLO_OUTPUT BIT(0) > +#define CHT_WC_VBUS_GPIO_CTLO_DRV_OD BIT(4) > +#define CHT_WC_VBUS_GPIO_CTLO_DIR_OUT BIT(5) > > enum cht_wc_usb_id { > USB_ID_OTG, > @@ -183,14 +185,15 @@ static void cht_wc_extcon_set_5v_boost(struct cht_wc_extcon_data *ext, > { > int ret, val; > > - val = enable ? CHT_WC_VBUS_GPIO_CTLO_OUTPUT : 0; > - > /* > * The 5V boost converter is enabled through a gpio on the PMIC, since > * there currently is no gpio driver we access the gpio reg directly. > */ > - ret = regmap_update_bits(ext->regmap, CHT_WC_VBUS_GPIO_CTLO, > - CHT_WC_VBUS_GPIO_CTLO_OUTPUT, val); > + val = CHT_WC_VBUS_GPIO_CTLO_DRV_OD | CHT_WC_VBUS_GPIO_CTLO_DIR_OUT; > + if (enable) > + val |= CHT_WC_VBUS_GPIO_CTLO_OUTPUT; > + > + ret = regmap_write(ext->regmap, CHT_WC_VBUS_GPIO_CTLO, val); > if (ret) > dev_err(ext->dev, "Error writing Vbus GPIO CTLO: %d\n", ret); > } > -- > 2.14.3 >
-- With Best Regards, Andy Shevchenko
| |