diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts index 089d999196d6..044b37fcc0ba 100644 --- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts +++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts @@ -42,6 +42,18 @@ codec_ep: endpoint { }; }; + dmic: dmic { + compatible = "dmic-codec"; + #sound-dai-cells = <0>; + num-channels = <4>; + + port { + dmic_ep: endpoint { + remote-endpoint = <&micfil_ep>; + }; + }; + }; + can_mux: mux-controller-0 { compatible = "gpio-mux"; #mux-control-cells = <0>; @@ -123,6 +135,12 @@ linux,cma { }; }; + sound-micfil { + compatible = "audio-graph-card2"; + label = "micfil-audio"; + links = <&micfil_port>; + }; + sound-wm8524 { compatible = "audio-graph-card2"; label = "wm8524-audio"; @@ -202,6 +220,14 @@ MX91_PAD_CCM_CLKO1__GPIO3_IO26 0x31e >; }; + 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_reg_usdhc2_vmmc: regusdhc2vmmcgrp { fsl,pins = < MX91_PAD_SD2_RESET_B__GPIO3_IO7 0x31e @@ -464,6 +490,24 @@ &lpuart1 { status = "okay"; }; +&micfil { + #sound-dai-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pdm>, <&pdm_fun>; + assigned-clocks = <&clk IMX93_CLK_PDM>; + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>; + assigned-clock-rates = <49152000>; + status = "okay"; + + micfil_port: port { + capture-only; + + micfil_ep: endpoint { + remote-endpoint = <&dmic_ep>; + }; + }; +}; + &sai1 { #sound-dai-cells = <0>; pinctrl-names = "default";