Unverified Commit 7ed18664 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: codecs: add WSA883x support

Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>:

This patchset adds support for WSA883x smart speaker amplifier codec
connected via SoundWire. This codec also has a temperature sensor used
for speaker protection, support for this is not added yet.

Most of the code is derived from Qualcomm downstream msm-5.10 kernel.
Thanks to Patrick Lai's Team.

This codec is tested on SM8450 MTP.
parents d6910eaa a7b028e4
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,wsa883x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bindings for The Qualcomm WSA8830/WSA8832/WSA8835
  smart speaker amplifier

maintainers:
  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

description: |
  WSA883X is the Qualcomm Aqstic smart speaker amplifier
  Their primary operating mode uses a SoundWire digital audio
  interface. This binding is for SoundWire interface.

properties:
  compatible:
    const: sdw10217020200

  reg:
    maxItems: 1

  powerdown-gpios:
    description: GPIO spec for Powerdown/Shutdown line to use
    maxItems: 1

  vdd-supply:
    description: VDD Supply for the Codec

  '#thermal-sensor-cells':
    const: 0

  '#sound-dai-cells':
    const: 0

required:
  - compatible
  - reg
  - vdd-supply
  - powerdown-gpios
  - "#thermal-sensor-cells"
  - "#sound-dai-cells"

additionalProperties: false

examples:
  - |
    soundwire-controller@3250000 {
        #address-cells = <2>;
        #size-cells = <0>;
        reg = <0x3250000 0x2000>;

        speaker@0,1 {
            compatible = "sdw10217020200";
            reg = <0 1>;
            powerdown-gpios = <&tlmm 1 0>;
            vdd-supply = <&vreg_s10b_1p8>;
            #thermal-sensor-cells = <0>;
            #sound-dai-cells = <0>;
        };

        speaker@0,2 {
            compatible = "sdw10217020200";
            reg = <0 2>;
            powerdown-gpios = <&tlmm 89 0>;
            vdd-supply = <&vreg_s10b_1p8>;
            #thermal-sensor-cells = <0>;
            #sound-dai-cells = <0>;
        };
    };

...
+4 −0
Original line number Diff line number Diff line
@@ -16250,6 +16250,8 @@ M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
M:	Banajit Goswami <bgoswami@quicinc.com>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
S:	Supported
F:	sound/soc/codecs/lpass-rx-macro.*
F:	sound/soc/codecs/lpass-tx-macro.*
F:	sound/soc/codecs/lpass-va-macro.c
F:	sound/soc/codecs/lpass-wsa-macro.*
F:	sound/soc/codecs/msm8916-wcd-analog.c
@@ -16257,7 +16259,9 @@ F: sound/soc/codecs/msm8916-wcd-digital.c
F:	sound/soc/codecs/wcd9335.*
F:	sound/soc/codecs/wcd934x.c
F:	sound/soc/codecs/wcd-clsh-v2.*
F:	sound/soc/codecs/wcd-mbhc-v2.*
F:	sound/soc/codecs/wsa881x.c
F:	sound/soc/codecs/wsa883x.c
F:	sound/soc/qcom/
QCOM EMBEDDED USB DEBUGGER (EUD)
+10 −0
Original line number Diff line number Diff line
@@ -308,6 +308,7 @@ config SND_SOC_ALL_CODECS
	imply SND_SOC_WM9712
	imply SND_SOC_WM9713
	imply SND_SOC_WSA881X
	imply SND_SOC_WSA883X
	imply SND_SOC_ZL38060
	help
	  Normally ASoC codec drivers are only built if a machine driver which
@@ -1985,6 +1986,15 @@ config SND_SOC_WSA881X
	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
	  Smart Speaker Amplifier.

config SND_SOC_WSA883X
	tristate "WSA883X Codec"
	depends on SOUNDWIRE
	select REGMAP_SOUNDWIRE
	tristate
	help
	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
	  Smart Speaker Amplifier.

config SND_SOC_ZL38060
	tristate "Microsemi ZL38060 Connected Home Audio Processor"
	depends on SPI_MASTER
+2 −0
Original line number Diff line number Diff line
@@ -338,6 +338,7 @@ snd-soc-wm9712-objs := wm9712.o
snd-soc-wm9713-objs := wm9713.o
snd-soc-wm-hubs-objs := wm_hubs.o
snd-soc-wsa881x-objs := wsa881x.o
snd-soc-wsa883x-objs := wsa883x.o
snd-soc-zl38060-objs := zl38060.o
# Amp
snd-soc-max9877-objs := max9877.o
@@ -690,6 +691,7 @@ obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o
obj-$(CONFIG_SND_SOC_WM_ADSP)	+= snd-soc-wm-adsp.o
obj-$(CONFIG_SND_SOC_WM_HUBS)	+= snd-soc-wm-hubs.o
obj-$(CONFIG_SND_SOC_WSA881X)	+= snd-soc-wsa881x.o
obj-$(CONFIG_SND_SOC_WSA883X)	+= snd-soc-wsa883x.o
obj-$(CONFIG_SND_SOC_ZL38060)	+= snd-soc-zl38060.o

# Amp
+1301 −0

File added.

Preview size limit exceeded, changes collapsed.