linux/drivers/usb/typec
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
..
altmodes usb: typec: displayport: Fill the negotiated SVDM Version in the header 2021-02-09 11:48:55 +01:00
mux usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request 2020-12-28 15:44:26 +01:00
tcpm usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby 2021-04-14 16:27:29 +02:00
tipd Linux 5.12-rc4 2021-03-22 08:58:02 +01:00
ucsi usb: typec: Fix a typo 2021-03-26 14:26:47 +01:00
bus.c usb: typec: Organize the private headers properly 2021-04-05 09:07:41 +02:00
bus.h usb: typec: Organize the private headers properly 2021-04-05 09:07:41 +02:00
class.c usb: typec: Add typec_port_register_altmodes() 2021-04-09 16:07:41 +02:00
class.h usb: typec: Link all ports during connector registration 2021-04-09 16:00:00 +02:00
hd3ss3220.c usb: typec: hd3ss3220: Use OF graph API to get the connector fwnode 2020-10-02 15:28:18 +02:00
Kconfig usb: typec: tps6598x: Move the driver under its own subdirectory 2021-03-12 15:32:20 +01:00
Makefile usb: typec: Port mapping utility 2021-04-09 16:00:00 +02:00
mux.c usb: typec: Organize the private headers properly 2021-04-05 09:07:41 +02:00
mux.h usb: typec: Organize the private headers properly 2021-04-05 09:07:41 +02:00
port-mapper.c usb: typec: silence a static checker warning 2021-04-14 15:15:40 +02:00
qcom-pmic-typec.c usb: typec: Add QCOM PMIC typec detection driver 2020-10-09 15:14:43 +02:00
stusb160x.c usb: typec: stusb160x: fix return value check in stusb160x_probe() 2021-03-10 09:37:18 +01:00