summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/soc/fsl/Kconfig1
-rw-r--r--sound/soc/fsl/imx-rpmsg.c20
2 files changed, 17 insertions, 4 deletions
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 744f313c83d7..39fc56e5c359 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -269,6 +269,7 @@ config SND_SOC_IMX_RPMSG
select SND_SOC_IMX_PCM_RPMSG
select SND_SOC_FSL_RPMSG_I2S
select SND_SOC_RPMSG_WM8960
+ select SND_SOC_RPMSG_AK4497
help
SoC Audio support for i.MX boards with rpmsg.
There should be rpmsg devices defined in other core
diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c
index 7648e88bbced..8bbe044e29ba 100644
--- a/sound/soc/fsl/imx-rpmsg.c
+++ b/sound/soc/fsl/imx-rpmsg.c
@@ -61,20 +61,32 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
data->dai[0].name = "rpmsg hifi";
data->dai[0].stream_name = "rpmsg hifi";
+ data->dai[0].dai_fmt = SND_SOC_DAIFMT_I2S |
+ SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBM_CFM;
+
if (rpmsg_i2s->codec_wm8960) {
data->dai[0].codec_dai_name = "rpmsg-wm8960-hifi";
data->dai[0].codec_name = "rpmsg-audio-codec-wm8960";
- } else {
+ }
+
+ if (rpmsg_i2s->codec_dummy) {
data->dai[0].codec_dai_name = "snd-soc-dummy-dai";
data->dai[0].codec_name = "snd-soc-dummy";
}
+
+ if (rpmsg_i2s->codec_ak4497) {
+ data->dai[0].codec_dai_name = "rpmsg-ak4497-aif";
+ data->dai[0].codec_name = "rpmsg-audio-codec-ak4497";
+ data->dai[0].dai_fmt = SND_SOC_DAIFMT_I2S |
+ SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBS_CFS;
+ }
+
data->dai[0].cpu_dai_name = dev_name(&cpu_pdev->dev);
data->dai[0].platform_of_node = cpu_np;
data->dai[0].playback_only = true;
data->dai[0].capture_only = true;
- data->dai[0].dai_fmt = SND_SOC_DAIFMT_I2S |
- SND_SOC_DAIFMT_NB_NF |
- SND_SOC_DAIFMT_CBM_CFM;
data->card.num_links = 1;
data->card.dai_link = data->dai;