[PATCH v2 0/2] usb: typec: support Qualcomm WCD939X USB SubSystem Altmode Mux

From: Neil Armstrong
Date: Tue Dec 12 2023 - 03:54:44 EST


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.

Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
Changes in v2:
- Bindings:
- Limited text width to 80 chars max
- Added maxItems: 1 to reset-gpios
- Driver
- Added missing bitfield.h and gpio/consumer.h includes
- Fixed double typec_switch_unregister()
- Added missing typec_switch_put() in remove()
- Removed useless wcd9395-usbss compatible & device_id since wcd9395 has wcd9390 as fallback
- Link to v1: https://lore.kernel.org/r/20231208-topic-sm8650-upstream-wcd939x-usbss-v1-0-91d1ba680fe0@xxxxxxxxxx

---
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 | 102 +++
drivers/usb/typec/mux/Kconfig | 10 +
drivers/usb/typec/mux/Makefile | 1 +
drivers/usb/typec/mux/wcd939x-usbss.c | 779 +++++++++++++++++++++
4 files changed, 892 insertions(+)
---
base-commit: bc63de6e6ba0b16652c5fb4b9c9916b9e7ca1f23
change-id: 20231208-topic-sm8650-upstream-wcd939x-usbss-030c011a1709

Best regards,
--
Neil Armstrong <neil.armstrong@xxxxxxxxxx>