This patchset adds support for Qualcomm WCD9370/WCD9375 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 v2: - Used common qcom,wcd93xx-common.yaml. removed duplicate properties. - Merged bindings patches "v2-0001" and "v2-0003" in single patch for easy review. - Fixed dt binding check errors. - Added missing "qcom,wcd9375-codec" in v3-0001 dt binding patch. - Added constraints on values in v3-0001 binding patch as suggested by Krzysztof - Fix the typo mistake in v2 cover letter
Changes since v1: - 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 (7): ASoC: dt-bindings: document wcd937x Audio Codec ASoC: codecs: wcd937x: add wcd937x codec driver 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 | 78 + .../bindings/sound/qcom,wcd937x.yaml | 58 + sound/soc/codecs/Kconfig | 20 + sound/soc/codecs/Makefile | 7 + sound/soc/codecs/wcd937x-sdw.c | 1147 +++++++ sound/soc/codecs/wcd937x.c | 3036 +++++++++++++++++ sound/soc/codecs/wcd937x.h | 653 ++++ 7 files changed, 4999 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: 5e4f84f18c4ee9b0ccdc19e39b7de41df21699dd