diff options
author | Mark Brown <broonie@kernel.org> | 2022-11-01 14:33:10 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-11-01 14:33:10 +0000 |
commit | e9ec88a2a612bf568eb52ef8fdf333a0a26e1785 (patch) | |
tree | 514f2f75306f32b7482feb11138479d33c2ca3a3 | |
parent | e5afc8677c0d9be4bea5ef5ab01719e190450943 (diff) | |
parent | 77a7a6e9a94df0ac7ba46677b5ce4a743a931fce (diff) | |
download | linux-e9ec88a2a612bf568eb52ef8fdf333a0a26e1785.tar.bz2 |
Add support for MICFIL on i.MX93 platform
Merge series from Chancel Liu <chancel.liu@nxp.com>:
This patchset supports MICFIL on i.MX93 platform.
-rw-r--r-- | Documentation/devicetree/bindings/sound/fsl,micfil.yaml | 1 | ||||
-rw-r--r-- | sound/soc/fsl/fsl_micfil.c | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/sound/fsl,micfil.yaml b/Documentation/devicetree/bindings/sound/fsl,micfil.yaml index 64d57758ee67..4b99a18c79a0 100644 --- a/Documentation/devicetree/bindings/sound/fsl,micfil.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,micfil.yaml @@ -18,6 +18,7 @@ properties: enum: - fsl,imx8mm-micfil - fsl,imx8mp-micfil + - fsl,imx93-micfil reg: maxItems: 1 diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c index eeaa75fb9196..22e75c14cac4 100644 --- a/sound/soc/fsl/fsl_micfil.c +++ b/sound/soc/fsl/fsl_micfil.c @@ -63,6 +63,7 @@ struct fsl_micfil_soc_data { unsigned int fifo_depth; unsigned int dataline; bool imx; + bool use_edma; u64 formats; }; @@ -82,9 +83,19 @@ static struct fsl_micfil_soc_data fsl_micfil_imx8mp = { .formats = SNDRV_PCM_FMTBIT_S32_LE, }; +static struct fsl_micfil_soc_data fsl_micfil_imx93 = { + .imx = true, + .fifos = 8, + .fifo_depth = 32, + .dataline = 0xf, + .formats = SNDRV_PCM_FMTBIT_S32_LE, + .use_edma = true, +}; + static const struct of_device_id fsl_micfil_dt_ids[] = { { .compatible = "fsl,imx8mm-micfil", .data = &fsl_micfil_imx8mm }, { .compatible = "fsl,imx8mp-micfil", .data = &fsl_micfil_imx8mp }, + { .compatible = "fsl,imx93-micfil", .data = &fsl_micfil_imx93 }, {} }; MODULE_DEVICE_TABLE(of, fsl_micfil_dt_ids); @@ -681,6 +692,8 @@ static int fsl_micfil_hw_params(struct snd_pcm_substream *substream, micfil->sdmacfg.n_fifos_src = channels; micfil->sdmacfg.sw_done = true; micfil->dma_params_rx.maxburst = channels * MICFIL_DMA_MAXBURST_RX; + if (micfil->soc->use_edma) + micfil->dma_params_rx.maxburst = channels; return 0; } |