mbox series

[v9,0/9] ASoC: codecs: add wcd938x support

Message ID 20210609090943.7896-1-srinivas.kandagatla@linaro.org (mailing list archive)
Headers show
Series ASoC: codecs: add wcd938x support | expand

Message

Srinivas Kandagatla June 9, 2021, 9:09 a.m. UTC
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.

Thanks,
srini

Changes since v8:
 - moved Kconfig and Makefile changes to last patch as suggested by Mark
 - removed array of enums and used static entries instead. Suggested by Mark
 - return true if put succeeds, Suggested by Mark
 - removed some unneeded semi-colons in switch

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 and Kconfig

 .../bindings/sound/qcom,wcd938x-sdw.yaml      |   70 +
 .../bindings/sound/qcom,wcd938x.yaml          |  146 +
 sound/soc/codecs/Kconfig                      |   14 +
 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                |  315 ++
 sound/soc/codecs/wcd938x.c                    | 3753 +++++++++++++++++
 sound/soc/codecs/wcd938x.h                    |  720 ++++
 9 files changed, 5376 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

Comments

Mark Brown June 14, 2021, 7:53 p.m. UTC | #1
On Wed, 9 Jun 2021 10:09:34 +0100, 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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/9] ASoC: dt-bindings: wcd938x: add bindings for wcd938x
      commit: 10ee3e07d32bede6cd007fb76150a1ccd0628852
[2/9] ASoC: codecs: wcd-clsh: add new version support
      commit: 19c5d1f6a0c39cf910c8d211ea40ff758bcb3f49
[3/9] ASoC: codecs: wcd938x: add basic driver
      commit: 8d78602aa87a3805902bed83157526fdc5b837d4
[4/9] ASoC: dt-bindings: wcd938x-sdw: add bindings for wcd938x-sdw
      commit: e02c65f3a7ce11ce522e805c78ed2f1da5d96975
[5/9] ASoC: codecs: wcd938x-sdw: add SoundWire driver
      commit: 16572522aece6a142d303a25f32544643f52c383
[6/9] ASoC: codecs: wcd938x: add basic controls
      commit: e8ba1e05bdc016700c85fad559a812c2e795442f
[7/9] ASoC: codecs: wcd938x: add playback dapm widgets
      commit: 8da9db0cd6694c98f64b6ec413337ac834e05bb0
[8/9] ASoC: codecs: wcd938x: add capture dapm widgets
      commit: d5add08fcbce35faeeffa62d7e8f21fd979d8420
[9/9] ASoC: codecs: wcd938x: add audio routing and Kconfig
      commit: 04544222886881cb0865040dcdf747fe7e025947

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark