From 997f8ece23d921bc954c33873618081b54d635b1 Mon Sep 17 00:00:00 2001 From: Shengjiu Wang Date: Wed, 8 Aug 2018 15:06:58 +0800 Subject: MLK-19168-3: ASoC: imx-pcm-rpmsg: register rpmsg wm8960 and cs42xx8 codec register rpmsg wm8960 and cs42xx8 codec Signed-off-by: Shengjiu Wang (cherry picked from commit c49f8d20c6fd4479ad45d76290bb5c57d4800d9e) --- sound/soc/fsl/imx-pcm-rpmsg.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'sound/soc/fsl/imx-pcm-rpmsg.c') diff --git a/sound/soc/fsl/imx-pcm-rpmsg.c b/sound/soc/fsl/imx-pcm-rpmsg.c index 4caf8326b738..d84723498641 100644 --- a/sound/soc/fsl/imx-pcm-rpmsg.c +++ b/sound/soc/fsl/imx-pcm-rpmsg.c @@ -704,6 +704,7 @@ static int i2s_rpmsg_probe(struct rpmsg_device *rpdev) { struct platform_device *codec_pdev; struct fsl_rpmsg_i2s *rpmsg_i2s = NULL; + struct fsl_rpmsg_codec rpmsg_codec[2]; int ret; if (!i2s_info_g) @@ -718,12 +719,15 @@ static int i2s_rpmsg_probe(struct rpmsg_device *rpdev) rpmsg_i2s = container_of(i2s_info_g, struct fsl_rpmsg_i2s, i2s_info); - if (rpmsg_i2s->codec) { + if (rpmsg_i2s->codec_wm8960) { + rpmsg_codec[0].audioindex = rpmsg_i2s->codec_wm8960 >> 16; + rpmsg_codec[0].shared_lrclk = true; + rpmsg_codec[0].capless = false; codec_pdev = platform_device_register_data( &rpmsg_i2s->pdev->dev, - RPMSG_CODEC_DRV_NAME, + RPMSG_CODEC_DRV_NAME_WM8960, PLATFORM_DEVID_NONE, - NULL, 0); + &rpmsg_codec[0], sizeof(struct fsl_rpmsg_codec)); if (IS_ERR(codec_pdev)) { dev_err(&rpdev->dev, "failed to register rpmsg audio codec\n"); @@ -732,6 +736,23 @@ static int i2s_rpmsg_probe(struct rpmsg_device *rpdev) } } + if (rpmsg_i2s->codec_cs42888) { + rpmsg_codec[1].audioindex = rpmsg_i2s->codec_cs42888 >> 16; + strcpy(rpmsg_codec[1].name, "cs42888"); + rpmsg_codec[1].num_adcs = 2; + + codec_pdev = platform_device_register_data( + &rpmsg_i2s->pdev->dev, + RPMSG_CODEC_DRV_NAME_CS42888, + PLATFORM_DEVID_NONE, + &rpmsg_codec[1], sizeof(struct fsl_rpmsg_codec)); + if (IS_ERR(codec_pdev)) { + dev_err(&rpdev->dev, + "failed to register rpmsg audio codec\n"); + ret = PTR_ERR(codec_pdev); + return ret; + } + } return 0; } -- cgit v1.2.3