Commit 52e8a94b authored by Sven Van Asbroeck's avatar Sven Van Asbroeck Committed by Mark Brown

ASoC: Add initial ZL38060 driver

The ZL38060 is a "Connected Home Audio Processor" from Microsemi,
which consists of a Digital Signal Processor (DSP), several Digital
Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.

This driver supports only a tiny subset of the chip's functionality
and possible configurations:
- bypass mode (whole dsp block is bypassed)
- chip's I2S DAI routed directly to/from DACs and microphone
- chip's internal clock is driven by a 12 MHz external crystal
- chip's DAI connected to CPU is I2S, and bit + frame clock master
- chip must be strapped for "host boot": in this mode, firmware will
  be provided by this driver.
Signed-off-by: default avatarSven Van Asbroeck <TheSven73@gmail.com>
Link: https://lore.kernel.org/r/20200417221341.31428-2-TheSven73@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 19f303ca
...@@ -272,6 +272,7 @@ config SND_SOC_ALL_CODECS ...@@ -272,6 +272,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_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
uses them is also built since they are only usable with a machine uses them is also built since they are only usable with a machine
...@@ -1645,6 +1646,16 @@ config SND_SOC_WSA881X ...@@ -1645,6 +1646,16 @@ 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_ZL38060
tristate "Microsemi ZL38060 Connected Home Audio Processor"
depends on SPI_MASTER
select GPIOLIB
select REGMAP
help
Support for ZL38060 Connected Home Audio Processor from Microsemi,
which consists of a Digital Signal Processor (DSP), several Digital
Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
config SND_SOC_ZX_AUD96P22 config SND_SOC_ZX_AUD96P22
tristate "ZTE ZX AUD96P22 CODEC" tristate "ZTE ZX AUD96P22 CODEC"
depends on I2C depends on I2C
......
...@@ -288,6 +288,7 @@ snd-soc-wm9712-objs := wm9712.o ...@@ -288,6 +288,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-zl38060-objs := zl38060.o
snd-soc-zx-aud96p22-objs := zx_aud96p22.o snd-soc-zx-aud96p22-objs := zx_aud96p22.o
# Amp # Amp
snd-soc-max9877-objs := max9877.o snd-soc-max9877-objs := max9877.o
...@@ -588,6 +589,7 @@ obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o ...@@ -588,6 +589,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_ZL38060) += snd-soc-zl38060.o
obj-$(CONFIG_SND_SOC_ZX_AUD96P22) += snd-soc-zx-aud96p22.o obj-$(CONFIG_SND_SOC_ZX_AUD96P22) += snd-soc-zx-aud96p22.o
# Amp # Amp
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment