[1/2] arm64: dts: imx8mm-evk: Add PDM micphone sound card support

Message ID 1703136188-7222-1-git-send-email-shengjiu.wang@nxp.com
State New
Headers
Series [1/2] arm64: dts: imx8mm-evk: Add PDM micphone sound card support |

Commit Message

Shengjiu Wang Dec. 21, 2023, 5:23 a.m. UTC
  Add PDM micphone sound card support, configure the pinmux.

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

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
  

Comments

Shawn Guo Feb. 4, 2024, 11:51 p.m. UTC | #1
On Thu, Dec 21, 2023 at 01:23:07PM +0800, Shengjiu Wang wrote:
> Add PDM micphone sound card support, configure the pinmux.
> 
> This sound card supports recording sound from PDM micphone
> and convert the PDM format data to PCM data.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> index b53104ed8919..9679786dac51 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> @@ -151,6 +151,18 @@ simple-audio-card,codec {
>  			clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
>  		};
>  	};
> +
> +	sound-micfil {
> +		compatible = "fsl,imx-audio-card";
> +		model = "micfil-audio";

Have a newline between properties and child node.

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

Ditto

Shawn

> +			cpu {
> +				sound-dai = <&micfil>;
> +			};
> +		};
> +	};
>  };
>  
>  &A53_0 {
> @@ -434,6 +446,16 @@ &lcdif {
>  	status = "okay";
>  };
>  
> +&micfil {
> +	#sound-dai-cells = <0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pdm>;
> +	assigned-clocks = <&clk IMX8MM_CLK_PDM>;
> +	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
> +	assigned-clock-rates = <196608000>;
> +	status = "okay";
> +};
> +
>  &mipi_csi {
>  	status = "okay";
>  
> @@ -636,6 +658,18 @@ MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5       0x41
>  		>;
>  	};
>  
> +	pinctrl_pdm: pdmgrp {
> +		fsl,pins = <
> +			MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
> +			MX8MM_IOMUXC_SAI5_RXC_PDM_CLK           0xd6
> +			MX8MM_IOMUXC_SAI5_RXFS_SAI5_RX_SYNC     0xd6
> +			MX8MM_IOMUXC_SAI5_RXD0_PDM_DATA0        0xd6
> +			MX8MM_IOMUXC_SAI5_RXD1_PDM_DATA1        0xd6
> +			MX8MM_IOMUXC_SAI5_RXD2_PDM_DATA2        0xd6
> +			MX8MM_IOMUXC_SAI5_RXD3_PDM_DATA3        0xd6
> +		>;
> +	};
> +
>  	pinctrl_pmic: pmicirqgrp {
>  		fsl,pins = <
>  			MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3		0x141
> -- 
> 2.34.1
>
  
Shengjiu Wang Feb. 5, 2024, 2:21 a.m. UTC | #2
> > Add PDM micphone sound card support, configure the pinmux.
> >
> > This sound card supports recording sound from PDM micphone and
> convert
> > the PDM format data to PCM data.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > ---
> >  arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 34
> > +++++++++++++++++++
> >  1 file changed, 34 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> > b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> > index b53104ed8919..9679786dac51 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> > @@ -151,6 +151,18 @@ simple-audio-card,codec {
> >                       clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
> >               };
> >       };
> > +
> > +     sound-micfil {
> > +             compatible = "fsl,imx-audio-card";
> > +             model = "micfil-audio";
> 
> Have a newline between properties and child node.
> 
> > +             pri-dai-link {
> > +                     link-name = "micfil hifi";
> > +                     format = "i2s";
> 
> Ditto
> 
Ok,  will update in v2.

Best regards
Wang shengjiu

> Shawn
> 
> > +                     cpu {
> > +                             sound-dai = <&micfil>;
> > +                     };
> > +             };
> > +     };
> >  };
> >
> >  &A53_0 {
> > @@ -434,6 +446,16 @@ &lcdif {
> >       status = "okay";
> >  };
> >
> > +&micfil {
> > +     #sound-dai-cells = <0>;
> > +     pinctrl-names = "default";
> > +     pinctrl-0 = <&pinctrl_pdm>;
> > +     assigned-clocks = <&clk IMX8MM_CLK_PDM>;
> > +     assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
> > +     assigned-clock-rates = <196608000>;
> > +     status = "okay";
> > +};
> > +
> >  &mipi_csi {
> >       status = "okay";
> >
> > @@ -636,6 +658,18 @@ MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5
> 0x41
> >               >;
> >       };
> >
> > +     pinctrl_pdm: pdmgrp {
> > +             fsl,pins = <
> > +                     MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
> > +                     MX8MM_IOMUXC_SAI5_RXC_PDM_CLK           0xd6
> > +                     MX8MM_IOMUXC_SAI5_RXFS_SAI5_RX_SYNC     0xd6
> > +                     MX8MM_IOMUXC_SAI5_RXD0_PDM_DATA0        0xd6
> > +                     MX8MM_IOMUXC_SAI5_RXD1_PDM_DATA1        0xd6
> > +                     MX8MM_IOMUXC_SAI5_RXD2_PDM_DATA2        0xd6
> > +                     MX8MM_IOMUXC_SAI5_RXD3_PDM_DATA3        0xd6
> > +             >;
> > +     };
> > +
> >       pinctrl_pmic: pmicirqgrp {
> >               fsl,pins = <
> >                       MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3               0x141
> > --
> > 2.34.1
> >
  

Patch

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
index b53104ed8919..9679786dac51 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
@@ -151,6 +151,18 @@  simple-audio-card,codec {
 			clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
 		};
 	};
+
+	sound-micfil {
+		compatible = "fsl,imx-audio-card";
+		model = "micfil-audio";
+		pri-dai-link {
+			link-name = "micfil hifi";
+			format = "i2s";
+			cpu {
+				sound-dai = <&micfil>;
+			};
+		};
+	};
 };
 
 &A53_0 {
@@ -434,6 +446,16 @@  &lcdif {
 	status = "okay";
 };
 
+&micfil {
+	#sound-dai-cells = <0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pdm>;
+	assigned-clocks = <&clk IMX8MM_CLK_PDM>;
+	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
+	assigned-clock-rates = <196608000>;
+	status = "okay";
+};
+
 &mipi_csi {
 	status = "okay";
 
@@ -636,6 +658,18 @@  MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5       0x41
 		>;
 	};
 
+	pinctrl_pdm: pdmgrp {
+		fsl,pins = <
+			MX8MM_IOMUXC_SAI5_MCLK_SAI5_MCLK        0xd6
+			MX8MM_IOMUXC_SAI5_RXC_PDM_CLK           0xd6
+			MX8MM_IOMUXC_SAI5_RXFS_SAI5_RX_SYNC     0xd6
+			MX8MM_IOMUXC_SAI5_RXD0_PDM_DATA0        0xd6
+			MX8MM_IOMUXC_SAI5_RXD1_PDM_DATA1        0xd6
+			MX8MM_IOMUXC_SAI5_RXD2_PDM_DATA2        0xd6
+			MX8MM_IOMUXC_SAI5_RXD3_PDM_DATA3        0xd6
+		>;
+	};
+
 	pinctrl_pmic: pmicirqgrp {
 		fsl,pins = <
 			MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3		0x141