devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/7] ASoC: codecs: wcd937x: add wcd937x audio codec support
@ 2024-06-11  7:45 Mohammad Rafi Shaik
  2024-06-11  7:45 ` [PATCH v6 1/7] ASoC: dt-bindings: document wcd937x Audio Codec Mohammad Rafi Shaik
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Mohammad Rafi Shaik @ 2024-06-11  7:45 UTC (permalink / raw)
  To: Srinivas Kandagatla, Banajit Goswami, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jaroslav Kysela,
	Takashi Iwai
  Cc: alsa-devel, linux-arm-msm, linux-sound, devicetree, linux-kernel,
	quic_rohkumar, quic_pkumpatl, Mohammad Rafi Shaik

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 v5:
 - Remove the string compare in MIC BIAS widget settings as suggested by Srinivas Kandagatla
 - Fixed Unbalanced pm_runtime_enable! in wcd937x-sdw soundwire slave.

Changes since v4:
 - Removed volatile/read-only registers from defaults list
 - Added wcd939x_volatile_register() with only volatile registers
 - Added a wcd939x_readable_register() with read-only and read-write registers, so cache does it's job
 - Fixed Spurious events for mixer controls and validated with mixer selftest tool
 - Used TLV instead of enum for ear_pa_gain mixer control
 - Used enum constraints instead of OneOf in dt-binding patch
 - Added vdd-px supply property as non optional in dt-binding patch
 - Reworked and done driver cleanup
 
Changes since v3:
 - Fixed dt binding check errors.
 - Added constraints on values in v4-0001 binding patch as suggested by Krzysztof
 - Change the patch sequence soundwire driver first then codec driver
 - Added missing .remove soundwire driver function
 - Reworked and done driver cleanup

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-sdw: add SoundWire driver
  ASoC: codecs: wcd937x: add wcd937x codec 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      |   91 +
 .../bindings/sound/qcom,wcd937x.yaml          |   82 +
 sound/soc/codecs/Kconfig                      |   20 +
 sound/soc/codecs/Makefile                     |    7 +
 sound/soc/codecs/wcd937x-sdw.c                | 1136 +++++++
 sound/soc/codecs/wcd937x.c                    | 3011 +++++++++++++++++
 sound/soc/codecs/wcd937x.h                    |  653 ++++
 7 files changed, 5000 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: d35b2284e966c0bef3e2182a5c5ea02177dd32e4
-- 
2.25.1


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-06-19 20:45 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-11  7:45 [PATCH v6 0/7] ASoC: codecs: wcd937x: add wcd937x audio codec support Mohammad Rafi Shaik
2024-06-11  7:45 ` [PATCH v6 1/7] ASoC: dt-bindings: document wcd937x Audio Codec Mohammad Rafi Shaik
2024-06-11  7:45 ` [PATCH v6 2/7] ASoC: codecs: wcd937x-sdw: add SoundWire driver Mohammad Rafi Shaik
2024-06-16 16:23   ` Markus Elfring
2024-06-11  7:45 ` [PATCH v6 3/7] ASoC: codecs: wcd937x: add wcd937x codec driver Mohammad Rafi Shaik
2024-06-16 14:54   ` Christophe JAILLET
2024-06-17 11:55     ` Mark Brown
2024-06-19 11:02       ` Mohammad Rafi Shaik
2024-06-19 20:45         ` Christophe JAILLET
2024-06-16 15:06   ` [PATCH v6 3/7] ASoC: codecs: wcd937x: add wcd937x codec driver - another comment Christophe JAILLET
2024-06-16 16:38   ` [PATCH v6 3/7] ASoC: codecs: wcd937x: add wcd937x codec driver Markus Elfring
2024-06-17 11:54     ` Mark Brown
2024-06-17 12:32       ` [v6 " Markus Elfring
2024-06-16 17:26   ` [PATCH v6 " Markus Elfring
2024-06-11  7:45 ` [PATCH v6 4/7] ASoC: codecs: wcd937x: add basic controls Mohammad Rafi Shaik
2024-06-11  7:45 ` [PATCH v6 5/7] ASoC: codecs: wcd937x: add playback dapm widgets Mohammad Rafi Shaik
2024-06-11  7:45 ` [PATCH v6 6/7] ASoC: codecs: wcd937x: add capture " Mohammad Rafi Shaik
2024-06-11  7:45 ` [PATCH v6 7/7] ASoC: codecs: wcd937x: add audio routing and Kconfig Mohammad Rafi Shaik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).