2023-12-21 06:10:01

by Shengjiu Wang

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

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 <[email protected]>
---
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";
+ 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
--
2.34.1



2023-12-21 06:10:02

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: imx8mn-evk: Add PDM micphone sound card support

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 <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi | 34 +++++++++++++++++++
1 file changed, 34 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
index a0e13d3324ed..7d055b63535a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
@@ -110,6 +110,18 @@ sound-spdif {
spdif-out;
spdif-in;
};
+
+ sound-micfil {
+ compatible = "fsl,imx-audio-card";
+ model = "micfil-audio";
+ pri-dai-link {
+ link-name = "micfil hifi";
+ format = "i2s";
+ cpu {
+ sound-dai = <&micfil>;
+ };
+ };
+ };
};

&easrc {
@@ -285,6 +297,16 @@ &isi {
status = "okay";
};

+&micfil {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pdm>;
+ assigned-clocks = <&clk IMX8MN_CLK_PDM>;
+ assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <196608000>;
+ status = "okay";
+};
+
&mipi_csi {
status = "okay";

@@ -522,6 +544,18 @@ MX8MN_IOMUXC_I2C3_SDA_GPIO5_IO19 0x1c3
>;
};

+ pinctrl_pdm: pdmgrp {
+ fsl,pins = <
+ MX8MN_IOMUXC_SAI5_MCLK_SAI5_MCLK 0xd6
+ MX8MN_IOMUXC_SAI5_RXC_PDM_CLK 0xd6
+ MX8MN_IOMUXC_SAI5_RXFS_SAI5_RX_SYNC 0xd6
+ MX8MN_IOMUXC_SAI5_RXD0_PDM_BIT_STREAM0 0xd6
+ MX8MN_IOMUXC_SAI5_RXD1_PDM_BIT_STREAM1 0xd6
+ MX8MN_IOMUXC_SAI5_RXD2_PDM_BIT_STREAM2 0xd6
+ MX8MN_IOMUXC_SAI5_RXD3_PDM_BIT_STREAM3 0xd6
+ >;
+ };
+
pinctrl_pmic: pmicirqgrp {
fsl,pins = <
MX8MN_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x141
--
2.34.1


2024-02-04 23:51:58

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: imx8mm-evk: Add PDM micphone sound card support

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 <[email protected]>
> ---
> 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
>

2024-02-05 02:21:43

by Shengjiu Wang

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: imx8mm-evk: Add PDM micphone sound card support

> > 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 <[email protected]>
> > ---
> > 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
> >