On 3/19/21 4:29 AM, Srinivas Kandagatla wrote:
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.
Even though this device has two SoundWire devices, only tx device has access to main codec Control/Status Registers!
That part is a new concept we haven't seen so far with SoundWire support, and I added a number of comments in the patches.
It would really help if you could add more explanations on how regmap/pm_runtime/gpios/regulators/interrupts are supposed to work with such a functional split. Thanks!
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 v2.
Changes since v2:
- fixed dt_binding_check error
Srinivas Kandagatla (7): ASoC: dt-bindings: wcd938x: add bindings for wcd938x ASoC: codecs: wcd-clsh: add new version support ASoC: codecs: wcd938x: add basic 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.yaml | 165 + sound/soc/codecs/Kconfig | 9 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/wcd-clsh-v2.c | 350 +- sound/soc/codecs/wcd-clsh-v2.h | 16 + sound/soc/codecs/wcd938x-sdw.c | 291 ++ sound/soc/codecs/wcd938x.c | 3623 +++++++++++++++++ sound/soc/codecs/wcd938x.h | 676 +++ 8 files changed, 5122 insertions(+), 10 deletions(-) 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