[PATCH v2 0/8] ASoC: codecs: wcd937x: add wcd937x audio codec support

Mohammad Rafi Shaik
2024-04-16T06:36:51Z

This patchset adds support for Qualcomm WCD937X codec.

Qualcomm WCD9370/WCD9375 Codec is a standalone Hi-Fi audio codec IC
connected over SoundWire. This device has two SoundWire devices, RX and
TX respectively supporting 3 x ADCs, ClassH, Ear, Aux PA, 2xHPH,
6 DMICs and MBHC.

For codec driver to be functional it would need both tx and rx Soundwire devices
to be up and this is taken care by using device component framework and device-links
are used to ensure proper pm dependencies. Ex tx does not enter suspend
before rx or codec is suspended.

This patchset along with other SoundWire patches on the list
have been tested on QCM6490 IDP device.

Changes since v8:
- Split the patch per driver for easier review as suggested by Krzysztof
- Used devm_gpiod_get api to get reset gpio as suggested by Krzysztof

Prasad Kumpatla (8):
ASoC: dt-bindings: wcd937x: add bindings for wcd937x
ASoC: codecs: wcd937x: add wcd937x codec driver
ASoC: dt-bindings: wcd937x-sdw: add bindings for wcd937x-sdw
ASoC: codecs: wcd937x-sdw: add SoundWire driver
ASoC: codecs: wcd937x: add basic controls
ASoC: codecs: wcd937x: add playback dapm widgets
ASoC: codecs: wcd937x: add capture dapm widgets
ASoC: codecs: wcd937x: add audio routing and Kconfig

.../bindings/sound/qcom,wcd937x-sdw.yaml | 71 +
.../bindings/sound/qcom,wcd937x.yaml | 119 +
sound/soc/codecs/Kconfig | 20 +
sound/soc/codecs/Makefile | 7 +
sound/soc/codecs/wcd937x-sdw.c | 1148 +++++++
sound/soc/codecs/wcd937x.c | 3036 +++++++++++++++++
sound/soc/codecs/wcd937x.h | 655 ++++
7 files changed, 5056 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml
create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml
create mode 100644 sound/soc/codecs/wcd937x-sdw.c
create mode 100644 sound/soc/codecs/wcd937x.c
create mode 100644 sound/soc/codecs/wcd937x.h

base-commit: 6bd343537461b57f3efe5dfc5fc193a232dfef1e
--
2.25.1