usb: typec: support Qualcomm WCD939X USB SubSystem Altmode Mux Qualcomm WCD9390/WCD9395 is a standalone Hi-Fi audio codec IC with a functionally separate USB SubSystem for Altmode/Analog Audio Switch accessible over an I2C interface. It provides switching USB-C USB2.0 lines between USB and Audio Headphones speaker lines, and the USB-C SBU lines between DisplayPort AUX and Audio Headphones Microphone/Ground. The Audio Headphone and Microphone data path between the Codec and the USB-C Mux subsystems are external to the IC, thus requiring DT port-endpoint graph description to handle USB-C altmode & orientation switching for Audio Accessory Mode. To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@linaro.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Conor Dooley <conor+dt@kernel.org> To: Heikki Krogerus <heikki.krogerus@linux.intel.com> To: Liam Girdwood <lgirdwood@gmail.com> To: Mark Brown <broonie@kernel.org> Cc: linux-arm-msm@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Neil Armstrong (2): dt-bindings: usb: Document WCD939x USB SubSystem Altmode/Analog Audio Switch usb: typec: mux: add Qualcomm WCD939X USB SubSystem Altmode Mux driver .../bindings/usb/qcom,wcd939x-usbss.yaml | 99 +++ drivers/usb/typec/mux/Kconfig | 10 + drivers/usb/typec/mux/Makefile | 1 + drivers/usb/typec/mux/wcd939x-usbss.c | 779 +++++++++++++++++++++ 4 files changed, 889 insertions(+) --- base-commit: bc63de6e6ba0b16652c5fb4b9c9916b9e7ca1f23 change-id: 20231208-topic-sm8650-upstream-wcd939x-usbss-030c011a1709 Best regards,