Message ID | 20211228052116.1748443-1-bjorn.andersson@linaro.org |
---|---|
Headers | show |
Series | typec: mux: Introduce support for multiple TypeC muxes | expand |
Hi Bjorn, On 12/28/21 06:21, 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. > > 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 Thank you for your series, I will leave commenting on the dt-bindings and typec-mux changes to others. But what I can do is test this on an x86 device using a pi3usb30532 mux for USB super-speed and DP-alt-mode muxing / orientation switching. I'm going to wait a bit with doing that till this has had some reviews and possibly also some newer versions because of those reviews. If you haven't received a Tested-by from me when this looks like it is ready for merging please ping me. Regards, Hans > > .../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 >
On Tue 28 Dec 04:20 PST 2021, Hans de Goede wrote: > Hi Bjorn, > > On 12/28/21 06:21, 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. > > > > 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 > > Thank you for your series, I will leave commenting on the > dt-bindings and typec-mux changes to others. > > But what I can do is test this on an x86 device using > a pi3usb30532 mux for USB super-speed and DP-alt-mode > muxing / orientation switching. > Thanks Hans, that would be much appreciated. I realize that I failed to mention that I don't have this hardware, so I've not been able to test it myself. > I'm going to wait a bit with doing that till this has had > some reviews and possibly also some newer versions because > of those reviews. If you haven't received a Tested-by from me > when this looks like it is ready for merging please ping me. > Will ping you when appropriate. Thanks, Bjorn > Regards, > > Hans > > > > > > .../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 > > >