ASoC: codecs: add wsa883x amplifier support

This patch adds support to WSA8830/WSA8812/WSA8835 Class-D Smart
Speaker Amplifier. This Amplifier is primarily interfaced with
SoundWire.

This patch is tested on SM8450 MTP Board.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220629090644.67982-3-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Srinivas Kandagatla 2022-06-29 10:06:42 +01:00 committed by Mark Brown
parent 16e2f8a4e9
commit 43b8c7dc85
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
3 changed files with 1313 additions and 0 deletions

View File

@ -308,6 +308,7 @@ config SND_SOC_ALL_CODECS
imply SND_SOC_WM9712 imply SND_SOC_WM9712
imply SND_SOC_WM9713 imply SND_SOC_WM9713
imply SND_SOC_WSA881X imply SND_SOC_WSA881X
imply SND_SOC_WSA883X
imply SND_SOC_ZL38060 imply SND_SOC_ZL38060
help help
Normally ASoC codec drivers are only built if a machine driver which 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 This enables support for Qualcomm WSA8810/WSA8815 Class-D
Smart Speaker Amplifier. 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 config SND_SOC_ZL38060
tristate "Microsemi ZL38060 Connected Home Audio Processor" tristate "Microsemi ZL38060 Connected Home Audio Processor"
depends on SPI_MASTER depends on SPI_MASTER

View File

@ -338,6 +338,7 @@ snd-soc-wm9712-objs := wm9712.o
snd-soc-wm9713-objs := wm9713.o snd-soc-wm9713-objs := wm9713.o
snd-soc-wm-hubs-objs := wm_hubs.o snd-soc-wm-hubs-objs := wm_hubs.o
snd-soc-wsa881x-objs := wsa881x.o snd-soc-wsa881x-objs := wsa881x.o
snd-soc-wsa883x-objs := wsa883x.o
snd-soc-zl38060-objs := zl38060.o snd-soc-zl38060-objs := zl38060.o
# Amp # Amp
snd-soc-max9877-objs := max9877.o 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_ADSP) += snd-soc-wm-adsp.o
obj-$(CONFIG_SND_SOC_WM_HUBS) += snd-soc-wm-hubs.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_WSA881X) += snd-soc-wsa881x.o
obj-$(CONFIG_SND_SOC_WSA883X) += snd-soc-wsa883x.o
obj-$(CONFIG_SND_SOC_ZL38060) += snd-soc-zl38060.o obj-$(CONFIG_SND_SOC_ZL38060) += snd-soc-zl38060.o
# Amp # Amp

1301
sound/soc/codecs/wsa883x.c Normal file

File diff suppressed because it is too large Load Diff