Re: [PATCH 4/4] arm64: dts: imx8mp-beacon: Add DMIC support

From: Adam Ford
Date: Thu Aug 31 2023 - 08:34:59 EST


On Thu, Aug 31, 2023 at 6:51 AM Adam Ford <aford173@xxxxxxxxx> wrote:
>
> The baseboard has a connector for a pulse density microphone.
> This is connected via the micfil interface and uses the DMIC
> audio codec with the simple-audio-card.
>
> Signed-off-by: Adam Ford <aford173@xxxxxxxxx>
>

Shawn,

I forgot to mention that this patch depends on a different patch that is found:

https://patchwork.kernel.org/project/linux-arm-kernel/patch/20230831044431.250338-2-aford173@xxxxxxxxx/

Sorry about that.

adam

> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dts b/arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dts
> index acd265d8b58e..ee64c6ffb551 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dts
> @@ -49,6 +49,12 @@ ss_ep: endpoint {
> };
> };
>
> + dmic_codec: dmic-codec {
> + compatible = "dmic-codec";
> + num-channels = <1>;
> + #sound-dai-cells = <0>;
> + };
> +
> gpio-keys {
> compatible = "gpio-keys";
> autorepeat;
> @@ -147,6 +153,22 @@ reg_usb1_host_vbus: regulator-usb1-vbus {
> enable-active-high;
> };
>
> + sound-dmic {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "sound-pdm";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,bitclock-master = <&dailink_master>;
> + simple-audio-card,frame-master = <&dailink_master>;
> +
> + dailink_master: simple-audio-card,cpu {
> + sound-dai = <&micfil>;
> + };
> +
> + simple-audio-card,codec {
> + sound-dai = <&dmic_codec>;
> + };
> + };
> +
> sound-wm8962 {
> compatible = "simple-audio-card";
> simple-audio-card,name = "wm8962";
> @@ -174,6 +196,11 @@ simple-audio-card,codec {
> };
> };
>
> +&audio_blk_ctrl {
> + assigned-clocks = <&clk IMX8MP_AUDIO_PLL1>, <&clk IMX8MP_AUDIO_PLL2>;
> + assigned-clock-rates = <393216000>, <135475200>;
> +};
> +
> &ecspi2 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_ecspi2>;
> @@ -364,6 +391,15 @@ hd3ss3220_out_ep: endpoint {
> };
> };
>
> +&micfil {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pdm>;
> + assigned-clocks = <&clk IMX8MP_CLK_PDM>;
> + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
> + assigned-clock-rates = <49152000>;
> + status = "okay";
> +};
> +
> &pcie {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_pcie>;
> @@ -545,6 +581,13 @@ MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x10 /* PCIe_nRST */
> >;
> };
>
> + pinctrl_pdm: pdmgrp {
> + fsl,pins = <
> + MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_PDM_CLK 0xd6
> + MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_PDM_BIT_STREAM00 0xd6
> + >;
> + };
> +
> pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
> fsl,pins = <
> MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40
> --
> 2.39.2
>