ASoC: rockchip: Use dummy_dai for rt5514 dsp dailink
The rt5514 dsp captures pcm data through spi directly, so we should not
use rockchip-i2s as it's cpu dai like other codecs.
Use dummy_dai for rt5514 dsp dailink to make voice wakeup work again.
Reported-by: Jimmy Cheng-Yi Chiang <cychiang@google.com>
Fixes: (72cfb0f20c
ASoC: rockchip: Use codec of_node and dai_name for rt5514 dsp)
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Tested-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
db51707b9c
Коммит
fde7f9dbc7
|
@ -367,7 +367,8 @@ static const struct snd_soc_dai_link rockchip_dais[] = {
|
|||
[DAILINK_RT5514_DSP] = {
|
||||
.name = "RT5514 DSP",
|
||||
.stream_name = "Wake on Voice",
|
||||
.codec_dai_name = "rt5514-dsp-cpu-dai",
|
||||
.codec_name = "snd-soc-dummy",
|
||||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -528,7 +529,18 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
|
|||
if (index < 0)
|
||||
continue;
|
||||
|
||||
np_cpu = (index == DAILINK_CDNDP) ? np_cpu1 : np_cpu0;
|
||||
switch (index) {
|
||||
case DAILINK_CDNDP:
|
||||
np_cpu = np_cpu1;
|
||||
break;
|
||||
case DAILINK_RT5514_DSP:
|
||||
np_cpu = np_codec;
|
||||
break;
|
||||
default:
|
||||
np_cpu = np_cpu0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!np_cpu) {
|
||||
dev_err(dev, "Missing 'rockchip,cpu' for %s\n",
|
||||
rockchip_dais[index].name);
|
||||
|
@ -538,7 +550,8 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
|
|||
dai = &card->dai_link[card->num_links++];
|
||||
*dai = rockchip_dais[index];
|
||||
|
||||
dai->codec_of_node = np_codec;
|
||||
if (!dai->codec_name)
|
||||
dai->codec_of_node = np_codec;
|
||||
dai->platform_of_node = np_cpu;
|
||||
dai->cpu_of_node = np_cpu;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче