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.
This commit is contained in:
commit
7ed186642e
74
Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml
Normal file
74
Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml
Normal file
@ -0,0 +1,74 @@
|
||||
# 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>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
sound/soc/codecs/wsa883x.c
Normal file
1301
sound/soc/codecs/wsa883x.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user