linux/drivers/usb
Badhri Jagan Sridharan 1373fefc62 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>
2021-04-14 16:27:29 +02:00
..
atm
c67x00 usb/c67x00: Replace tasklet with work 2021-01-26 18:36:37 +01:00
cdns3 usb: cdnsp: Fixes issue with Configure Endpoint command 2021-04-12 20:19:23 +08:00
chipidea usb: chipidea: tegra: Silence deferred probe error 2021-03-23 12:50:32 +01:00
class USB: cdc-acm: fix TIOCGSERIAL implementation 2021-04-09 16:08:27 +02:00
common usb: common: move function's kerneldoc next to its definition 2021-03-10 09:37:17 +01:00
core USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet 2021-04-14 15:17:53 +02:00
dwc2 usb: dwc2: Add exit clock gating before removing driver 2021-04-13 12:25:12 +02:00
dwc3 usb: dwc3: gadget: Check for disabled LPM quirk 2021-04-14 15:58:33 +02:00
early
gadget usb: gadget: tegra-xudc: Fix possible use-after-free in tegra_xudc_remove() 2021-04-09 16:02:33 +02:00
host USB:ehci:fix Kunpeng920 ehci hardware problem 2021-04-10 10:45:38 +02:00
image
isp1760
misc usb: misc: usbsevseg: update to use usb_control_msg_send() 2021-03-28 13:41:27 +02:00
mon
mtu3 usb: mtu3: drop CONFIG_OF 2021-03-26 14:47:19 +01:00
musb usb: musb: fix PM reference leak in musb_irq_work() 2021-04-09 16:02:44 +02:00
phy usb: phy: phy-mxs-usb: Use of_device_get_match_data() 2021-01-18 18:35:46 +01:00
renesas_usbhs usb: renesas_usbhs: fix error return code of usbhsf_pkt_handler() 2021-03-23 12:42:15 +01:00
roles usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() 2021-04-09 16:07:03 +02:00
serial USB: serial: io_edgeport: fix memory leak in edge_startup 2021-03-09 09:05:37 +01:00
storage usb-storage: Add quirk to defeat Kindle's automatic unload 2021-03-17 21:30:15 +01:00
typec usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby 2021-04-14 16:27:29 +02:00
usbip usbip: vudc: fix missing unlock on error in usbip_sockfd_store() 2021-04-12 10:29:50 +02:00
Kconfig
Makefile usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver 2020-12-29 12:36:13 +08:00
usb-skeleton.c