Hi, On 2/8/22 04:19, Bjorn Andersson wrote: > 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. > > Included in the series is a the new FSA4480 driver. This is done to deal with > the renaming of the driver-side typec_mux -> typec_mux_dev. I have tested patches 1-4 on a GPD win which uses a fusb302 TCPM with a pi3usb30532 mux and superspeed orientation switching as well as DP over Type-C still works fine there, so you may add my: Tested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > > Changes since v1: > - Omitted QMP changes from this series, as the muxing implementation needs a > little bit more debugging. > > Bjorn Andersson (6): > 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 > > .../devicetree/bindings/usb/fcs,fsa4480.yaml | 72 +++++ > drivers/base/property.c | 85 ++++-- > drivers/usb/typec/bus.c | 2 +- > drivers/usb/typec/mux.c | 261 +++++++++++++----- > 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 +- > 12 files changed, 595 insertions(+), 110 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml > create mode 100644 drivers/usb/typec/mux/fsa4480.c >