usb: typec: mux: Introduce GPIO-based SBU mux
authorBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 13 Jan 2023 04:11:15 +0000 (20:11 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Jan 2023 17:15:28 +0000 (18:15 +0100)
commit065ded319d39ce91a3785fa15020cd5a17c6c5d2
treea9a0f16aac9de7aea2c8ab24bdd08eba667fcdb3
parentb39483d66af1a6244927e02e4433569a8fb90b17
usb: typec: mux: Introduce GPIO-based SBU mux

A design found in various Qualcomm-based boards is to use a USB switch,
controlled through a pair of GPIO lines to connect, disconnect and
switch the orientation of the SBU lines in USB Type-C applications.

This introduces a generic driver, which implements the typec_switch and
typec_mux interfaces to perform these operations.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230113041115.4189210-2-quic_bjorande@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/mux/Kconfig
drivers/usb/typec/mux/Makefile
drivers/usb/typec/mux/gpio-sbu-mux.c [new file with mode: 0644]