linux/drivers/usb/typec
Badhri Jagan Sridharan 02b332a063 usb: typec: maxim_contaminant: Implement check_contaminant callback
Maxim TCPC has additional ADCs and low current(1ua) current source
to measure the impedance of CC and SBU pins. When tcpm invokes
the check_contaminant callback, Maxim TCPC measures the impedance
of the CC & SBU pins and when the impedance measured is less than
1MOhm, it is assumed that USB-C port is contaminated. CC comparators
are also checked to differentiate between presence of sink and
contaminant. Once USB-C is deemed to be contaminated, MAXIM TCPC
has additional hardware to disable normal DRP toggling cycle and
enable 1ua on CC pins once every 2.4secs/4.8secs. Maxim TCPC
interrupts AP once the impedance on the CC pin is above the
1MOhm threshold. The Maxim tcpc driver then signals TCPM_PORT_CLEAN
to restart toggling.

Renaming tcpci_maxim.c to tcpci_maxim_core.c and moving reg read/write
helper functions to the tcpci_maxim.h header file.

Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20230114093246.1933321-3-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-01-17 17:29:23 +01:00
..
altmodes usb: typec: altmodes/displayport: Add hpd sysfs attribute 2023-01-06 16:36:03 +01:00
mux usb: typec: intel_pmc_mux: Deduplicate ACPI matching in probe 2023-01-17 17:21:45 +01:00
tcpm usb: typec: maxim_contaminant: Implement check_contaminant callback 2023-01-17 17:29:23 +01:00
tipd usb: typec: tipd: Support wakeup 2023-01-17 17:23:47 +01:00
ucsi usb: typec: ucsi: Register USB Power Delivery Capabilities 2023-01-06 16:37:25 +01:00
anx7411.c usb: typec: anx7411: Convert to i2c's .probe_new() 2022-11-22 17:33:27 +01:00
bus.c usb: typec: Make bus switch code retimer-aware 2023-01-17 17:29:00 +01:00
bus.h usb: typec: Add retimer handle to port altmode 2023-01-17 17:29:00 +01:00
class.c usb: typec: Add retimer handle to port altmode 2023-01-17 17:29:00 +01:00
class.h usb: typec: Add retimer handle to port 2022-07-14 16:24:05 +02:00
hd3ss3220.c usb: typec: hd3ss3220: Add polling support 2023-01-17 17:18:51 +01:00
Kconfig usb: typec: anx7411: Fix build error without CONFIG_POWER_SUPPLY 2022-09-22 15:21:03 +02:00
Makefile usb: typec: Add support for retimers 2022-07-14 16:24:05 +02:00
mux.c device property: Constify fwnode connection match APIs 2022-10-22 13:49:55 +02:00
mux.h usb: typec: mux: Introduce indirection 2022-04-26 13:47:13 +02:00
pd.c usb: typec: Separate USB Power Delivery from USB Type-C 2022-06-12 06:49:47 +02:00
pd.h usb: typec: Separate USB Power Delivery from USB Type-C 2022-06-12 06:49:47 +02:00
port-mapper.c ACPI: bus: Introduce acpi_bus_for_each_dev() 2022-03-02 20:55:47 +01:00
qcom-pmic-typec.c usb: typec: qcom-pmic-typec: Switch to use dev_err_probe() helper 2022-09-27 10:35:46 +02:00
retimer.c Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
retimer.h usb: typec: Make bus switch code retimer-aware 2023-01-17 17:29:00 +01:00
rt1719.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
stusb160x.c USB/Thunderbolt changes for 6.1-rc1 2022-10-07 16:48:26 -07:00
wusb3801.c usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe() 2022-12-08 16:43:22 +01:00