From: Hans de Goede <hdegoede@redhat.com>
To: Yauhen Kharuzhy <jekhor@gmail.com>, linux-kernel@vger.kernel.org
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: Re: [PATCH 1/2] extcon-intel-cht-wc: Make charger detection co-existed with OTG host mode
Date: Thu, 14 Feb 2019 00:15:00 +0100 [thread overview]
Message-ID: <767c3d5e-f521-4d59-3922-a322b4124126@redhat.com> (raw)
In-Reply-To: <20190210203649.21691-2-jekhor@gmail.com>
Hi,
On 10-02-19 21:36, Yauhen Kharuzhy wrote:
> Whiskey Cove Cherry Trail PMIC requires disabling OTG host mode before
> of charger detection procedure. Do this by manipulationg of CHGRCTRL1
> register.
>
> Source: APCI DSDT code of Lenovo Yoga Book YB1-X91L and open-sourced
> Intel's drivers.
Hmm, of the ACPI code is updating the otg-mode, then there should be
no reason for us to do this, can you provide an acpidump of your
device please?
Regards,
Hans
>
> Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
> ---
> drivers/extcon/extcon-intel-cht-wc.c | 38 +++++++++++++++++++++++++++-
> 1 file changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/extcon/extcon-intel-cht-wc.c b/drivers/extcon/extcon-intel-cht-wc.c
> index 5ef215297101..4f6ba249bc30 100644
> --- a/drivers/extcon/extcon-intel-cht-wc.c
> +++ b/drivers/extcon/extcon-intel-cht-wc.c
> @@ -29,7 +29,16 @@
> #define CHT_WC_CHGRCTRL0_DBPOFF BIT(6)
> #define CHT_WC_CHGRCTRL0_CHR_WDT_NOKICK BIT(7)
>
> -#define CHT_WC_CHGRCTRL1 0x5e17
> +#define CHT_WC_CHGRCTRL1 0x5e17
> +#define CHT_WC_CHGRCTRL1_DBPEN_MASK BIT(7)
> +#define CHT_WC_CHGRCTRL1_OTGMODE BIT(6)
> +#define CHT_WC_CHGRCTRL1_FTEMP_EVENT BIT(5)
> +#define CHT_WC_CHGRCTRL1_FUSB_INLMT_1500 BIT(4)
> +#define CHT_WC_CHGRCTRL1_FUSB_INLMT_900 BIT(3)
> +#define CHT_WC_CHGRCTRL1_FUSB_INLMT_500 BIT(2)
> +#define CHT_WC_CHGRCTRL1_FUSB_INLMT_150 BIT(1)
> +#define CHT_WC_CHGRCTRL1_FUSB_INLMT_100 BIT(0)
> +
>
> #define CHT_WC_USBSRC 0x5e29
> #define CHT_WC_USBSRC_STS_MASK GENMASK(1, 0)
> @@ -198,6 +207,29 @@ static void cht_wc_extcon_set_5v_boost(struct cht_wc_extcon_data *ext,
> dev_err(ext->dev, "Error writing Vbus GPIO CTLO: %d\n", ret);
> }
>
> +static void cht_wc_extcon_set_otgmode(struct cht_wc_extcon_data *ext,
> + bool enable)
> +{
> + unsigned int chgrctrl1;
> + int ret;
> +
> + ret = regmap_read(ext->regmap, CHT_WC_CHGRCTRL1, &chgrctrl1);
> + if (ret) {
> + dev_err(ext->dev, "Error reading CHGRCTRL1 reg: %d\n", ret);
> + return;
> + }
> +
> + if (enable)
> + chgrctrl1 |= CHT_WC_CHGRCTRL1_OTGMODE;
> + else
> + chgrctrl1 &= ~(CHT_WC_CHGRCTRL1_OTGMODE);
> +
> + ret = regmap_write(ext->regmap, CHT_WC_CHGRCTRL1, chgrctrl1);
> + if (ret)
> + dev_err(ext->dev,
> + "Error writing CHGRCTRL1 OTG mode bit: %d\n", ret);
> +}
> +
> /* Small helper to sync EXTCON_CHG_USB_SDP and EXTCON_USB state */
> static void cht_wc_extcon_set_state(struct cht_wc_extcon_data *ext,
> unsigned int cable, bool state)
> @@ -222,10 +254,14 @@ static void cht_wc_extcon_pwrsrc_event(struct cht_wc_extcon_data *ext)
>
> id = cht_wc_extcon_get_id(ext, pwrsrc_sts);
> if (id == USB_ID_GND) {
> + cht_wc_extcon_set_otgmode(ext, true);
> +
> /* The 5v boost causes a false VBUS / SDP detect, skip */
> goto charger_det_done;
> }
>
> + cht_wc_extcon_set_otgmode(ext, false);
> +
> /* Plugged into a host/charger or not connected? */
> if (!(pwrsrc_sts & CHT_WC_PWRSRC_VBUS)) {
> /* Route D+ and D- to PMIC for future charger detection */
>
next prev parent reply other threads:[~2019-02-13 23:17 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20190210204024epcas3p36ea277b499e647b870d538c5680309bd@epcas3p3.samsung.com>
2019-02-10 20:36 ` [PATCH 0/2] extcon: Intel Cherry Trail Whiskey Cove PMIC and external charger tweaks Yauhen Kharuzhy
2019-02-10 20:36 ` [PATCH 1/2] extcon-intel-cht-wc: Make charger detection co-existed with OTG host mode Yauhen Kharuzhy
2019-02-13 23:15 ` Hans de Goede [this message]
2019-02-14 7:09 ` Yauhen Kharuzhy
2019-02-14 15:32 ` Hans de Goede
2019-02-14 14:22 ` Hans de Goede
2019-02-10 20:36 ` [PATCH 2/2] extcon intel-cht-wc: Enable external charger Yauhen Kharuzhy
2019-02-14 16:31 ` Hans de Goede
2019-02-15 6:32 ` Yauhen Kharuzhy
2019-02-17 21:52 ` Yauhen Kharuzhy
2019-02-18 9:24 ` Hans de Goede
2019-02-18 15:07 ` Yauhen Kharuzhy
2019-02-19 13:39 ` Hans de Goede
2019-02-19 20:20 ` Yauhen Kharuzhy
2019-02-20 16:42 ` Hans de Goede
2019-02-20 20:28 ` Yauhen Kharuzhy
2019-02-21 9:33 ` Hans de Goede
2019-02-13 23:00 ` [PATCH 0/2] extcon: Intel Cherry Trail Whiskey Cove PMIC and external charger tweaks Hans de Goede
2019-02-14 10:07 ` Hans de Goede
2019-02-14 12:47 ` Andy Shevchenko
[not found] ` <CAKWEGV7SGDMttB6uHwnkyjWk+bmSmZ-vTSOXHg1UAgLBeqnaXw@mail.gmail.com>
2019-02-14 15:05 ` Hans de Goede
2019-02-15 7:01 ` Yauhen Kharuzhy
2019-02-15 9:26 ` Hans de Goede
2019-02-15 9:29 ` Andy Shevchenko
2019-02-15 9:33 ` Hans de Goede
2019-02-15 7:08 ` Chanwoo Choi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=767c3d5e-f521-4d59-3922-a322b4124126@redhat.com \
--to=hdegoede@redhat.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=jekhor@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.