]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: imx91-11x11-evk: Add PDM microphone sound card support
authorChancel Liu <chancel.liu@nxp.com>
Wed, 3 Dec 2025 07:06:04 +0000 (16:06 +0900)
committerShawn Guo <shawnguo@kernel.org>
Tue, 30 Dec 2025 02:39:27 +0000 (10:39 +0800)
Add PDM micphone sound card support.

This sound card supports recording sound from PDM microphone
and convert the PDM format data to PCM data.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts

index 6b26ecfd06c997ef408bed65e92c9891c8482f1e..b0a295993dbae4fe69b8a0468fd92ce6811f832a 100644 (file)
                        dai-tdm-slot-width = <16>;
                };
        };
+
+       sound-micfil {
+               compatible = "fsl,imx-audio-card";
+               model = "micfil-audio";
+
+               pri-dai-link {
+                       link-name = "micfil hifi";
+                       format = "i2s";
+
+                       cpu {
+                               sound-dai = <&micfil>;
+                       };
+               };
+       };
 };
 
 &adc1 {
        };
 };
 
+&micfil {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&pinctrl_pdm>;
+       pinctrl-1 = <&pinctrl_pdm_sleep>;
+       assigned-clocks = <&clk IMX93_CLK_PDM>;
+       assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+       assigned-clock-rates = <49152000>;
+       status = "okay";
+};
+
 &sai1 {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&pinctrl_sai1>;
                >;
        };
 
+       pinctrl_pdm: pdmgrp {
+               fsl,pins = <
+                       MX91_PAD_PDM_CLK__PDM_CLK                       0x31e
+                       MX91_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM0       0x31e
+                       MX91_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM1       0x31e
+               >;
+       };
+
+       pinctrl_pdm_sleep: pdmsleepgrp {
+               fsl,pins = <
+                       MX91_PAD_PDM_CLK__GPIO1_IO8                     0x51e
+                       MX91_PAD_PDM_BIT_STREAM0__GPIO1_IO9             0x51e
+                       MX91_PAD_PDM_BIT_STREAM1__GPIO1_IO10            0x51e
+               >;
+       };
+
        pinctrl_sai1: sai1grp {
                fsl,pins = <
                        MX91_PAD_SAI1_TXC__SAI1_TX_BCLK                 0x31e