Commit 715dc11c authored by Shengjiu Wang's avatar Shengjiu Wang Committed by Shawn Guo
Browse files

arm64: dts: imx943-evk: Add PDM microphone sound card support



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: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent b4ff842d
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
@@ -29,6 +29,11 @@ chosen {
		stdout-path = &lpuart1;
	};

	dmic: dmic {
		compatible = "dmic-codec";
		#sound-dai-cells = <0>;
	};

	reg_usdhc2_vmmc: regulator-usdhc2 {
		compatible = "regulator-fixed";
		off-on-delay-us = <12000>;
@@ -83,6 +88,24 @@ btcpu: simple-audio-card,cpu {
		};
	};

	sound-micfil {
		compatible = "fsl,imx-audio-card";
		model = "micfil-audio";

		pri-dai-link {
			format = "i2s";
			link-name = "micfil hifi";

			codec {
				sound-dai = <&dmic>;
			};

			cpu {
				sound-dai = <&micfil>;
			};
		};
	};

	sound-wm8962 {
		compatible = "fsl,imx-audio-wm8962";
		audio-codec = <&wm8962>;
@@ -204,6 +227,12 @@ audio-pwren-hog {
					gpio-hog;
					output-high;
				};

				mqs-mic-sel-hog {
					gpios = <11 GPIO_ACTIVE_HIGH>;
					gpio-hog;
					output-low;
				};
			};
		};

@@ -314,6 +343,13 @@ pcal6416_i2c6_u44: gpio@20 {
				#gpio-cells = <2>;
				gpio-controller;

				/* pdm selection */
				can-pdm-sel-hog {
					gpios = <12 GPIO_ACTIVE_HIGH>;
					gpio-hog;
					output-low;
				};

				sai3-sel-hog {
					gpios = <11 GPIO_ACTIVE_HIGH>;
					gpio-hog;
@@ -344,6 +380,22 @@ &lpuart1 {
	status = "okay";
};

&micfil {
	assigned-clocks = <&scmi_clk IMX94_CLK_AUDIOPLL1_VCO>,
			  <&scmi_clk IMX94_CLK_AUDIOPLL2_VCO>,
			  <&scmi_clk IMX94_CLK_AUDIOPLL1>,
			  <&scmi_clk IMX94_CLK_AUDIOPLL2>,
			  <&scmi_clk IMX94_CLK_PDM>;
	assigned-clock-parents = <0>, <0>, <0>, <0>,
				 <&scmi_clk IMX94_CLK_AUDIOPLL1>;
	assigned-clock-rates = <3932160000>,
			       <3612672000>, <393216000>,
			       <361267200>, <49152000>;
	pinctrl-0 = <&pinctrl_pdm>;
	pinctrl-names = "default";
	status = "okay";
};

&sai1 {
	assigned-clocks = <&scmi_clk IMX94_CLK_AUDIOPLL1_VCO>,
			  <&scmi_clk IMX94_CLK_AUDIOPLL2_VCO>,
@@ -413,6 +465,14 @@ IMX94_PAD_GPIO_IO28__LPI2C6_SCL 0x40000b9e
		>;
	};

	pinctrl_pdm: pdmgrp {
		fsl,pins = <
			IMX94_PAD_PDM_CLK__PDM_CLK			0x31e
			IMX94_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM0	0x31e
			IMX94_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM1	0x31e
		>;
	};

	pinctrl_sai1: sai1grp {
		fsl,pins = <
			IMX94_PAD_SAI1_TXFS__SAI1_TX_SYNC	0x31e