MLK-23702-1: ASoC: fsl_rpmsg_i2s: Support rpmsg audio for i.MX8MP
in i.MX8MP, the audio codec is registered by DT. So we add a new flag: codec_in_dt Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Viorel Suman <viorel.suman@nxp.com>5.4-rM2-2.2.x-imx-squashed
parent
50c977208f
commit
ca2170e0fb
|
@ -156,6 +156,7 @@ static const struct of_device_id fsl_rpmsg_i2s_ids[] = {
|
|||
{ .compatible = "fsl,imx8qxp-rpmsg-i2s"},
|
||||
{ .compatible = "fsl,imx8qm-rpmsg-i2s"},
|
||||
{ .compatible = "fsl,imx8mn-rpmsg-i2s"},
|
||||
{ .compatible = "fsl,imx8mp-rpmsg-i2s"},
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, fsl_rpmsg_i2s_ids);
|
||||
|
@ -315,6 +316,25 @@ static int fsl_rpmsg_i2s_probe(struct platform_device *pdev)
|
|||
fsl_rpmsg_i2s_dai.capture.formats = rpmsg_i2s->formats;
|
||||
}
|
||||
|
||||
if (of_device_is_compatible(pdev->dev.of_node,
|
||||
"fsl,imx8mp-rpmsg-i2s")) {
|
||||
rpmsg_i2s->codec_wm8960 = 1;
|
||||
rpmsg_i2s->codec_in_dt = 1;
|
||||
rpmsg_i2s->version = 2;
|
||||
rpmsg_i2s->rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000;
|
||||
rpmsg_i2s->formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE;
|
||||
|
||||
fsl_rpmsg_i2s_dai.playback.rates = rpmsg_i2s->rates;
|
||||
fsl_rpmsg_i2s_dai.playback.formats = rpmsg_i2s->formats;
|
||||
fsl_rpmsg_i2s_dai.capture.rates = rpmsg_i2s->rates;
|
||||
fsl_rpmsg_i2s_dai.capture.formats = rpmsg_i2s->formats;
|
||||
}
|
||||
|
||||
if (of_property_read_bool(pdev->dev.of_node, "fsl,enable-lpa"))
|
||||
rpmsg_i2s->enable_lpa = 1;
|
||||
|
||||
|
|
|
@ -427,6 +427,7 @@ struct fsl_rpmsg_i2s {
|
|||
int codec_wm8960;
|
||||
int codec_cs42888;
|
||||
int codec_ak4497;
|
||||
int codec_in_dt;
|
||||
int force_lpa;
|
||||
int version;
|
||||
int rates;
|
||||
|
|
Loading…
Reference in New Issue