[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210414154845.21964-1-srinivas.kandagatla@linaro.org>
Date: Wed, 14 Apr 2021 16:48:36 +0100
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: broonie@...nel.org
Cc: robh@...nel.org, devicetree@...r.kernel.org, perex@...ex.cz,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
lgirdwood@...il.com,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Subject: [PATCH v4 0/9] ASoC: codecs: add wcd938x support
This patchset adds support for Qualcomm WCD938X codec.
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC
connected over SoundWire. This device has two SoundWire devices, RX and
TX respectively supporting 4 x ADCs, ClassH, Ear, Aux PA, 2xHPH,
7 x TX diff inputs, 8 DMICs and MBHC.
Eventhough this device has two SoundWire devices, only tx device has
access to main codec Control/Status Registers!
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 SM8250 MTP device.
Am planning to send support for MBHC once this driver gets accepted!
Thanks,
srini
Many thanks for reviewing v3.
Changes since v3:
- Moved to using driver component framework
- Added device links to allow correct runtime PM
- added runtime pm support
- split codec bindings into two parts one for codec and other for soundwire device.
-
Srinivas Kandagatla (9):
ASoC: dt-bindings: wcd938x: add bindings for wcd938x
ASoC: codecs: wcd-clsh: add new version support
ASoC: codecs: wcd938x: add basic driver
ASoC: dt-bindings: wcd938x-sdw: add bindings for wcd938x-sdw
ASoC: codecs: wcd938x-sdw: add SoundWire driver
ASoC: codecs: wcd938x: add basic controls
ASoC: codecs: wcd938x: add playback dapm widgets
ASoC: codecs: wcd938x: add capture dapm widgets
ASoC: codecs: wcd938x: add audio routing
.../bindings/sound/qcom,wcd938x-sdw.yaml | 61 +
.../bindings/sound/qcom,wcd938x.yaml | 176 +
sound/soc/codecs/Kconfig | 13 +
sound/soc/codecs/Makefile | 4 +
sound/soc/codecs/wcd-clsh-v2.c | 348 +-
sound/soc/codecs/wcd-clsh-v2.h | 16 +
sound/soc/codecs/wcd938x-sdw.c | 230 +
sound/soc/codecs/wcd938x.c | 3786 +++++++++++++++++
sound/soc/codecs/wcd938x.h | 670 +++
9 files changed, 5294 insertions(+), 10 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml
create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml
create mode 100644 sound/soc/codecs/wcd938x-sdw.c
create mode 100644 sound/soc/codecs/wcd938x.c
create mode 100644 sound/soc/codecs/wcd938x.h
--
2.21.0
Powered by blists - more mailing lists