Skip to content
Snippets Groups Projects
Commit d9c5e2f0 authored by Shengjiu Wang's avatar Shengjiu Wang Committed by Leonard Crestez
Browse files

MLK-18574: ASoC: fsl_spdif: support 192kHz for rx in imx8


The ipg clock is higher enough to support 192kHz in imx8

Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: default avatarViorel Suman <viorel.suman@nxp.com>
(cherry picked from commit 8b43702a)
parent cd9ed4da
No related branches found
No related tags found
No related merge requests found
...@@ -58,6 +58,7 @@ struct fsl_spdif_soc_data { ...@@ -58,6 +58,7 @@ struct fsl_spdif_soc_data {
u32 rx_burst; u32 rx_burst;
u32 interrupts; u32 interrupts;
u64 tx_formats; u64 tx_formats;
u64 rx_rates;
}; };
/* /*
...@@ -139,6 +140,7 @@ static struct fsl_spdif_soc_data fsl_spdif_vf610 = { ...@@ -139,6 +140,7 @@ static struct fsl_spdif_soc_data fsl_spdif_vf610 = {
.rx_burst = FSL_SPDIF_RXFIFO_WML, .rx_burst = FSL_SPDIF_RXFIFO_WML,
.interrupts = 1, .interrupts = 1,
.tx_formats = FSL_SPDIF_FORMATS_PLAYBACK, .tx_formats = FSL_SPDIF_FORMATS_PLAYBACK,
.rx_rates = FSL_SPDIF_RATES_CAPTURE,
.constrain_period_size = false, .constrain_period_size = false,
}; };
...@@ -149,6 +151,7 @@ static struct fsl_spdif_soc_data fsl_spdif_imx35 = { ...@@ -149,6 +151,7 @@ static struct fsl_spdif_soc_data fsl_spdif_imx35 = {
.rx_burst = FSL_SPDIF_RXFIFO_WML, .rx_burst = FSL_SPDIF_RXFIFO_WML,
.interrupts = 1, .interrupts = 1,
.tx_formats = FSL_SPDIF_FORMATS_PLAYBACK, .tx_formats = FSL_SPDIF_FORMATS_PLAYBACK,
.rx_rates = FSL_SPDIF_RATES_CAPTURE,
.constrain_period_size = false, .constrain_period_size = false,
}; };
...@@ -164,6 +167,7 @@ static struct fsl_spdif_soc_data fsl_spdif_imx8qxp_v1 = { ...@@ -164,6 +167,7 @@ static struct fsl_spdif_soc_data fsl_spdif_imx8qxp_v1 = {
.rx_burst = 2, .rx_burst = 2,
.interrupts = 2, .interrupts = 2,
.tx_formats = SNDRV_PCM_FMTBIT_S24_LE, .tx_formats = SNDRV_PCM_FMTBIT_S24_LE,
.rx_rates = FSL_SPDIF_RATES_CAPTURE,
.constrain_period_size = true, .constrain_period_size = true,
}; };
...@@ -174,6 +178,7 @@ static struct fsl_spdif_soc_data fsl_spdif_imx8qm = { ...@@ -174,6 +178,7 @@ static struct fsl_spdif_soc_data fsl_spdif_imx8qm = {
.rx_burst = 2, .rx_burst = 2,
.interrupts = 2, .interrupts = 2,
.tx_formats = SNDRV_PCM_FMTBIT_S24_LE, .tx_formats = SNDRV_PCM_FMTBIT_S24_LE,
.rx_rates = (FSL_SPDIF_RATES_CAPTURE | SNDRV_PCM_RATE_192000),
.constrain_period_size = true, .constrain_period_size = true,
}; };
...@@ -1423,6 +1428,8 @@ static int fsl_spdif_probe(struct platform_device *pdev) ...@@ -1423,6 +1428,8 @@ static int fsl_spdif_probe(struct platform_device *pdev)
spdif_priv->cpu_dai_drv.name = dev_name(&pdev->dev); spdif_priv->cpu_dai_drv.name = dev_name(&pdev->dev);
spdif_priv->cpu_dai_drv.playback.formats = spdif_priv->cpu_dai_drv.playback.formats =
spdif_priv->soc->tx_formats; spdif_priv->soc->tx_formats;
spdif_priv->cpu_dai_drv.capture.rates =
spdif_priv->soc->rx_rates;
/* Get the addresses and IRQ */ /* Get the addresses and IRQ */
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment