diff mbox series

[1/2] ASoC: fsl_micfil: Add support for i.MX8MPlus

Message ID 1652087663-1908-1-git-send-email-shengjiu.wang@nxp.com
State Accepted
Commit cb05dac1bc34ad701972503ca1a75b51ae4478ff
Headers show
Series [1/2] ASoC: fsl_micfil: Add support for i.MX8MPlus | expand

Commit Message

Shengjiu Wang May 9, 2022, 9:14 a.m. UTC
On i.MX8Plus there are two updates for micfil module.

One is that the output format is S32_LE, only the 24 more
significative bits have information, the other bits are always
zero. Add 'formats' variable in soc data to distinguish the
format on different platform.
Another is that the fifo depth is 32 entries.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 sound/soc/fsl/fsl_micfil.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Mark Brown May 10, 2022, 12:54 p.m. UTC | #1
On Mon, May 09, 2022 at 05:14:22PM +0800, Shengjiu Wang wrote:
> On i.MX8Plus there are two updates for micfil module.
> 
> One is that the output format is S32_LE, only the 24 more
> significative bits have information, the other bits are always
> zero. Add 'formats' variable in soc data to distinguish the
> format on different platform.

You can set sig_bits to say that only the top 24 bits are meaningful,
though I'm not sure many userspace applications pay any attention.
Mark Brown May 10, 2022, 2:49 p.m. UTC | #2
On Mon, 9 May 2022 17:14:22 +0800, Shengjiu Wang wrote:
> On i.MX8Plus there are two updates for micfil module.
> 
> One is that the output format is S32_LE, only the 24 more
> significative bits have information, the other bits are always
> zero. Add 'formats' variable in soc data to distinguish the
> format on different platform.
> Another is that the fifo depth is 32 entries.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/2] ASoC: fsl_micfil: Add support for i.MX8MPlus
      commit: cb05dac1bc34ad701972503ca1a75b51ae4478ff
[2/2] ASoC: dt-bindings: fsl,micfil: Add compatible string for imx8mp
      commit: 7b46eb1bf9534a75ff072a01e774b79e6a17cfdd

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
diff mbox series

Patch

diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index e4d1da55293e..25c647ae080a 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -55,6 +55,7 @@  struct fsl_micfil_soc_data {
 	unsigned int fifo_depth;
 	unsigned int dataline;
 	bool imx;
+	u64  formats;
 };
 
 static struct fsl_micfil_soc_data fsl_micfil_imx8mm = {
@@ -62,10 +63,20 @@  static struct fsl_micfil_soc_data fsl_micfil_imx8mm = {
 	.fifos = 8,
 	.fifo_depth = 8,
 	.dataline =  0xf,
+	.formats = SNDRV_PCM_FMTBIT_S16_LE,
+};
+
+static struct fsl_micfil_soc_data fsl_micfil_imx8mp = {
+	.imx = true,
+	.fifos = 8,
+	.fifo_depth = 32,
+	.dataline =  0xf,
+	.formats = SNDRV_PCM_FMTBIT_S32_LE,
 };
 
 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 },
 	{}
 };
 MODULE_DEVICE_TABLE(of, fsl_micfil_dt_ids);
@@ -659,6 +670,8 @@  static int fsl_micfil_probe(struct platform_device *pdev)
 		return ret;
 	}
 
+	fsl_micfil_dai.capture.formats = micfil->soc->formats;
+
 	ret = devm_snd_soc_register_component(&pdev->dev, &fsl_micfil_component,
 					      &fsl_micfil_dai, 1);
 	if (ret) {