From: Tony Lindgren <tony@atomide.com>
To: Carl Philipp Klemm <philipp@uvos.xyz>
Cc: Sebastian Reichel <sre@kernel.org>,
linux-pm@vger.kernel.org, linux-omap@vger.kernel.org,
Arthur Demchenkov <spinal.by@gmail.com>,
Merlijn Wajer <merlijn@wizzup.org>, Pavel Machek <pavel@ucw.cz>
Subject: Re: [PATCH 5/5] power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce
Date: Sun, 4 Apr 2021 10:21:46 +0300 [thread overview]
Message-ID: <YGlpCr26qU6F/Uwl@atomide.com> (raw)
In-Reply-To: <20210117224853.3602368391c9785e74748239@uvos.xyz>
* Carl Philipp Klemm <philipp@uvos.xyz> [210117 23:48]:
> Adds 80000 us sleep when the usb cable is plugged in to hopefully avoid
> bouncing contacts.
>
> Upon pluging in the usb cable vbus will bounce for some time, causing cpcap to
> dissconnect charging due to detecting an undervoltage condition. This is a
> scope of vbus on xt894 while quickly inserting the usb cable with firm force,
> probed at the far side of the usb socket and vbus loaded with approx 1k:
> http://uvos.xyz/maserati/usbplug.jpg.
>
> As can clearly be seen, vbus is all over the place for the first 15 ms or so
> with a small blip at ~40 ms this causes the cpcap to trip up and disable
> charging again.
>
> The delay helps cpcap_usb_detect avoid the worst of this. It is, however, still
> not ideal as strong vibrations can cause the issue to reapear any time during
> charging. I have however not been able to cause the device to stop charging due
> to this in practice as it is hard to vibrate the device such that the vbus pins
> start bouncing again but cpcap_usb_detect is not called again due to a detected
> disconnect/reconnect event.
>
> Signed-off-by: Carl Philipp Klemm <philipp@uvos.xyz>
This patch fixes an issue where connecting a charger often fails for me:
Tested-by: Tony Lindgren <tony@atomide.com>
> ---
> drivers/power/supply/cpcap-charger.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c
> index be7d1da7a5a5..3e5fbdbdd645 100644
> --- a/drivers/power/supply/cpcap-charger.c
> +++ b/drivers/power/supply/cpcap-charger.c
> @@ -650,6 +650,9 @@ static void cpcap_usb_detect(struct work_struct *work)
> return;
> }
>
> + /* Delay for 80ms to avoid vbus bouncing when usb cable is plugged in */
> + usleep_range(80000, 120000);
> +
> /* Throttle chrgcurr2 interrupt for charger done and retry */
> switch (ddata->status) {
> case POWER_SUPPLY_STATUS_CHARGING:
> --
> 2.29.2
>
next prev parent reply other threads:[~2021-04-04 7:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-17 21:48 [PATCH 5/5] power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce Carl Philipp Klemm
2021-04-04 7:21 ` Tony Lindgren [this message]
2021-04-05 8:23 ` Sebastian Reichel
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=YGlpCr26qU6F/Uwl@atomide.com \
--to=tony@atomide.com \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=merlijn@wizzup.org \
--cc=pavel@ucw.cz \
--cc=philipp@uvos.xyz \
--cc=spinal.by@gmail.com \
--cc=sre@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox