mbox series

[v5,0/7] ASoC: codecs: wcd937x: add wcd937x audio codec support

Message ID 20240524035535.3119208-1-quic_mohs@quicinc.com (mailing list archive)
Headers show
Series ASoC: codecs: wcd937x: add wcd937x audio codec support | expand

Message

Mohammad Rafi Shaik May 24, 2024, 3:55 a.m. UTC
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 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                | 1139 +++++++
 sound/soc/codecs/wcd937x.c                    | 3029 +++++++++++++++++
 sound/soc/codecs/wcd937x.h                    |  653 ++++
 7 files changed, 5021 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: 124cfbcd6d185d4f50be02d5f5afe61578916773

Comments

Mark Brown June 11, 2024, 10:19 a.m. UTC | #1
On Fri, 24 May 2024 09:25:28 +0530, Mohammad Rafi Shaik wrote:
> 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.
> 
> [...]

Applied to

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

Thanks!

[1/7] ASoC: dt-bindings: document wcd937x Audio Codec
      commit: 27173bb0b64461acf4e00f1bae3b15d8d2348c14
[2/7] ASoC: codecs: wcd937x-sdw: add SoundWire driver
      commit: c99a515ff15380ec5f8827049914145ba908e8da
[3/7] ASoC: codecs: wcd937x: add wcd937x codec driver
      commit: 9be3ec196da41b20b624ae4ed0303df58548644e
[4/7] ASoC: codecs: wcd937x: add basic controls
      commit: 82be8c62a38c6a44e64ecb29d7a9b5cb35c6cad4
[5/7] ASoC: codecs: wcd937x: add playback dapm widgets
      commit: 57fe69db7a015e828ec69d819707c5b8eac6d052
[6/7] ASoC: codecs: wcd937x: add capture dapm widgets
      commit: 8ee78493be89c42d016f941a9b00c203ec08daab
[7/7] ASoC: codecs: wcd937x: add audio routing and Kconfig
      commit: 313e978df7fc38b9e949ac5933d0d9d56d5e8a9c

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
Mohammad Rafi Shaik June 11, 2024, 12:13 p.m. UTC | #2
On 6/11/2024 3:49 PM, Mark Brown wrote:
> On Fri, 24 May 2024 09:25:28 +0530, Mohammad Rafi Shaik wrote:
>> 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.
>>
>> [...]
> 
> Applied to
> 
>     https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
> 
> Thanks!
> 
> [1/7] ASoC: dt-bindings: document wcd937x Audio Codec
>        commit: 27173bb0b64461acf4e00f1bae3b15d8d2348c14
> [2/7] ASoC: codecs: wcd937x-sdw: add SoundWire driver
>        commit: c99a515ff15380ec5f8827049914145ba908e8da
> [3/7] ASoC: codecs: wcd937x: add wcd937x codec driver
>        commit: 9be3ec196da41b20b624ae4ed0303df58548644e
> [4/7] ASoC: codecs: wcd937x: add basic controls
>        commit: 82be8c62a38c6a44e64ecb29d7a9b5cb35c6cad4
> [5/7] ASoC: codecs: wcd937x: add playback dapm widgets
>        commit: 57fe69db7a015e828ec69d819707c5b8eac6d052
> [6/7] ASoC: codecs: wcd937x: add capture dapm widgets
>        commit: 8ee78493be89c42d016f941a9b00c203ec08daab
> [7/7] ASoC: codecs: wcd937x: add audio routing and Kconfig
>        commit: 313e978df7fc38b9e949ac5933d0d9d56d5e8a9c
> 
> 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


Hi Mark,

The new v6 patch set is posted with review comments addressed.

The v5 is old patch set.

if possible please revert v5 and pick new v6 patch set.

Thanks & Regards,
Rafi


>
Mark Brown June 11, 2024, 4:18 p.m. UTC | #3
On Tue, Jun 11, 2024 at 05:43:19PM +0530, Mohammad Rafi Shaik wrote:
> On 6/11/2024 3:49 PM, Mark Brown wrote:

> > 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.

> if possible please revert v5 and pick new v6 patch set.

As mentioned above please send incremental fixes for any issues, there's
already other changes on top of these.