1
0
Fork 0

MLK-19168-3: ASoC: imx-pcm-rpmsg: register rpmsg wm8960 and cs42xx8 codec

register rpmsg wm8960 and cs42xx8 codec

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit c49f8d20c6fd4479ad45d76290bb5c57d4800d9e)
pull/10/head
Shengjiu Wang 2018-08-08 15:06:58 +08:00 committed by Jason Liu
parent 719d90983e
commit 7ffb08f0c5
1 changed files with 24 additions and 3 deletions

View File

@ -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;
}