[PATCH 0/8] typec: mux: Introduce support for multiple TypeC muxes
Bjorn Andersson
bjorn.andersson at linaro.org
Mon Dec 27 21:21:08 PST 2021
This series introduces a level of indirection between the controller's view of
a typec_mux/switch and the implementation and then expands that to support
multiple drivers.
This is needed in order to support devices such as the Qualcomm Snapdragon 888
HDK, which does muxing and orientation handling in the QMP (USB+DP) PHY and SBU
muxing in the external FSA4480 chip.
Additionally integration of typec mux and switch in the QMP PHY is included in
the series, as is the new FSA4480 driver. This is done to deal with the
renaming of the driver-side typec_mux -> typec_mux_dev.
Bjorn Andersson (8):
dt-bindings: phy: qcom,qmp-usb3-dp: Add altmode/switch properties
phy: qcom-qmp: Register typec mux and orientation switch
device property: Helper to match multiple connections
device property: Use multi-connection matchers for single case
typec: mux: Introduce indirection
typec: mux: Allow multiple mux_devs per mux
dt-bindings: usb: Add binding for fcs,fsa4480
usb: typec: mux: Add On Semi fsa4480 driver
.../bindings/phy/qcom,qmp-usb3-dp-phy.yaml | 14 +
.../devicetree/bindings/usb/fcs,fsa4480.yaml | 72 +++++
drivers/base/property.c | 83 ++++--
drivers/phy/qualcomm/phy-qcom-qmp.c | 176 ++++++++++--
drivers/usb/typec/bus.c | 2 +-
drivers/usb/typec/mux.c | 257 +++++++++++++-----
drivers/usb/typec/mux.h | 12 +-
drivers/usb/typec/mux/Kconfig | 9 +
drivers/usb/typec/mux/Makefile | 1 +
drivers/usb/typec/mux/fsa4480.c | 220 +++++++++++++++
drivers/usb/typec/mux/intel_pmc_mux.c | 8 +-
drivers/usb/typec/mux/pi3usb30532.c | 8 +-
include/linux/property.h | 5 +
include/linux/usb/typec_mux.h | 22 +-
14 files changed, 762 insertions(+), 127 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
create mode 100644 drivers/usb/typec/mux/fsa4480.c
--
2.33.1
More information about the linux-phy
mailing list