linux/drivers/usb
Badhri Jagan Sridharan 2d9841f98d FROMGIT: usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby
When a PD charger advertising Rp-3.0 is connected to a sink port, the
sink port current limit would 3A, during SNK_DISCOVERY, till power
negotiation starts. Once the negotiation starts the power limit needs
to drop down to pSnkStby(500mA @ 5V) and to negotiated current limit
once the explicit contract is in place. Not all charging loops can ramp
up to 3A and drop down to 500mA within tSnkStdby which is 15ms. The port
partner might hard reset if tSnkStdby is not met.

To solve this problem, this patch introduces slow-charger-loop which
when set makes the port request PD_P_SNK_STDBY_MW upon entering
SNK_DISCOVERY(instead of 3A or the 1.5A during SNK_DISCOVERY) and the
actual currrent limit after RX of PD_CTRL_PSRDY for PD link or during
SNK_READY for non-pd link.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210414024000.4175263-2-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 1373fefc62
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I811b7f9ec732da0cab715837737ea09ea4a5bbbf
2021-04-23 18:42:38 -07:00
..
atm
c67x00
cdns3 usb: cdns3: fix NULL pointer dereference on no platform data 2021-03-11 14:17:26 +01:00
chipidea usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data() 2021-01-12 20:18:19 +01:00
class USB: cdc-acm: fix use-after-free after probe failure 2021-04-07 15:00:12 +02:00
common FROMGIT: usb: common: move function's kerneldoc next to its definition 2021-03-08 16:15:00 +01:00
core Merge 5.10.28 into android12-5.10 2021-04-09 09:29:17 +02:00
dwc2 Merge 5.10.28 into android12-5.10 2021-04-09 09:29:17 +02:00
dwc3 FROMGIT: usb: dwc3: gadget: Check for disabled LPM quirk 2021-04-23 18:42:38 -07:00
early
gadget FROMGIT: usb: gadget: Fix double free of device descriptor pointers 2021-04-22 13:57:57 +00:00
host ANDROID: usb: host: Use old init scheme when hook unavailable 2021-04-13 23:22:23 +00:00
image
isp1760
misc USB: yurex: fix control-URB timeout handling 2021-01-12 20:18:20 +01:00
mon
mtu3 usb: mtu3: fix memory corruption in mtu3_debugfs_regset() 2020-12-26 16:02:38 +01:00
musb usb: musb: Fix suspend with devices connected for a64 2021-04-07 15:00:12 +02:00
phy
renesas_usbhs usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM 2021-03-17 17:06:29 +01:00
roles
serial USB: serial: cp210x: add some more GE USB IDs 2021-03-17 17:06:30 +01:00
storage usb-storage: Add quirk to defeat Kindle's automatic unload 2021-03-25 09:04:14 +01:00
typec FROMGIT: usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby 2021-04-23 18:42:38 -07:00
usbip usbip: synchronize event handler with sysfs code paths 2021-04-14 08:42:03 +02:00
Kconfig
Makefile
usb-skeleton.c