]> www.infradead.org Git - users/willy/xarray.git/commitdiff
arm64: dts: imx93-9x9-qsb: Add PDM microphone sound card support
authorShengjiu Wang <shengjiu.wang@nxp.com>
Wed, 16 Oct 2024 08:49:17 +0000 (16:49 +0800)
committerShawn Guo <shawnguo@kernel.org>
Tue, 22 Oct 2024 03:14:24 +0000 (11:14 +0800)
Add PDM micphone sound card support, configure the pinmux.

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

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts

index cd2ad342be6176cb39b4bd0af4171f0a6e0dc919..20ec5b3c21f423a48813e81ca98cc1d090d82550 100644 (file)
                };
        };
 
+       sound-micfil {
+               compatible = "fsl,imx-audio-card";
+               model = "micfil-audio";
+
+               pri-dai-link {
+                       link-name = "micfil hifi";
+                       format = "i2s";
+
+                       cpu {
+                               sound-dai = <&micfil>;
+                       };
+               };
+       };
+
        sound-wm8962 {
                compatible = "fsl,imx-audio-wm8962";
                model = "wm8962-audio";
                        gpios = <22 GPIO_ACTIVE_HIGH>;
                        output-low;
                };
+
+               mic-can-sel-hog {
+                       gpio-hog;
+                       gpios = <17 GPIO_ACTIVE_HIGH>;
+                       output-low;
+               };
        };
 
        pmic@25 {
        status = "okay";
 };
 
+&micfil {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pdm>;
+       assigned-clocks = <&clk IMX93_CLK_PDM>;
+       assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+       assigned-clock-rates = <49152000>;
+       status = "okay";
+};
+
 &mu1 {
        status = "okay";
 };
                >;
        };
 
+       pinctrl_pdm: pdmgrp {
+               fsl,pins = <
+                       MX93_PAD_PDM_CLK__PDM_CLK                       0x31e
+                       MX93_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM00      0x31e
+                       MX93_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM01      0x31e
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        MX93_PAD_UART1_RXD__LPUART1_RX          0x31e