ASoC: codecs: Adds support for rk3228 codec

This patch adds driver support for rk3228 codec.

Replace digital_mute with mute_stream

Change-Id: Icf83257726f12558cbdde4d4b2876dc8a3123626
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This commit is contained in:
Sugar Zhang
2019-11-19 17:51:47 +08:00
committed by Tao Huang
parent bf3d673e19
commit 8b34d69e04
3 changed files with 10 additions and 2 deletions

View File

@@ -152,6 +152,7 @@ config SND_SOC_ALL_CODECS
imply SND_SOC_PCM512x_SPI
imply SND_SOC_RK1000
imply SND_SOC_RK312X
imply SND_SOC_RK3228
imply SND_SOC_RK3328
imply SND_SOC_RK817
imply SND_SOC_RT274
@@ -1031,6 +1032,10 @@ config SND_SOC_RK312X
select REGMAP_MMIO
tristate "Rockchip RK312X CODEC"
config SND_SOC_RK3228
select REGMAP_MMIO
tristate "Rockchip RK3228 CODEC"
config SND_SOC_RK3328
tristate "Rockchip RK3328 audio CODEC"
select REGMAP_MMIO

View File

@@ -157,6 +157,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
snd-soc-rk1000-objs := rk1000_codec.o
snd-soc-rk312x-objs := rk312x_codec.o
snd-soc-rk3228-objs := rk3228_codec.o
snd-soc-rk3328-objs := rk3328_codec.o
snd-soc-rk817-objs := rk817_codec.o
snd-soc-rl6231-objs := rl6231.o
@@ -469,6 +470,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
obj-$(CONFIG_SND_SOC_RK1000) += snd-soc-rk1000.o
obj-$(CONFIG_SND_SOC_RK312X) += snd-soc-rk312x.o
obj-$(CONFIG_SND_SOC_RK3228) += snd-soc-rk3228.o
obj-$(CONFIG_SND_SOC_RK3328) += snd-soc-rk3328.o
obj-$(CONFIG_SND_SOC_RK817) += snd-soc-rk817.o
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o

View File

@@ -113,7 +113,7 @@ static void rk3228_analog_output(struct rk3228_codec_priv *rk3228, int mute)
gpiod_set_value(rk3228->spk_en_gpio, mute);
}
static int rk3228_digital_mute(struct snd_soc_dai *dai, int mute)
static int rk3228_digital_mute(struct snd_soc_dai *dai, int mute, int stream)
{
struct snd_soc_component *component = dai->component;
struct rk3228_codec_priv *rk3228 = snd_soc_component_get_drvdata(component);
@@ -326,9 +326,10 @@ static void rk3228_pcm_shutdown(struct snd_pcm_substream *substream,
static struct snd_soc_dai_ops rk3228_dai_ops = {
.hw_params = rk3228_hw_params,
.set_fmt = rk3228_set_dai_fmt,
.digital_mute = rk3228_digital_mute,
.mute_stream = rk3228_digital_mute,
.startup = rk3228_pcm_startup,
.shutdown = rk3228_pcm_shutdown,
.no_capture_mute = 1,
};
static struct snd_soc_dai_driver rk3228_dai[] = {