Re: [PATCH v2 0/6] typec: mux: Introduce support for multiple TypeC muxes

From: Hans de Goede
Date: Thu Feb 10 2022 - 05:01:05 EST


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
>