[PATCH 2/4] arm64: dts: imx8mm-beacon: Add DMIC support

Shawn Guo shawnguo at kernel.org
Sun Sep 24 18:14:57 PDT 2023


On Thu, Aug 31, 2023 at 06:51:26AM -0500, Adam Ford 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 at gmail.com>
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
> index 313e93663d6f..d0dd4c81a557 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
> @@ -6,6 +6,13 @@
>  #include <dt-bindings/phy/phy-imx8-pcie.h>
>  
>  / {
> +
> +	dmic_codec: dmic-codec {
> +		compatible = "dmic-codec";
> +		num-channels = <1>;
> +		#sound-dai-cells = <0>;
> +	};
> +
>  	leds {
>  		compatible = "gpio-leds";
>  
> @@ -98,6 +105,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
>  		enable-active-high;
>  	};
>  
> +	sound-dmic {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "dmic";
> +		simple-audio-card,format = "pdm";
> +		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";
> @@ -228,6 +251,16 @@ pca6416_1: gpio at 21 {
>  	};
>  };
>  
> +&micfil {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pdm>;
> +	assigned-clocks = <&clk IMX8MM_CLK_PDM>;
> +	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
> +	assigned-clock-rates = <49152000>;
> +	status = "okay";

We usually end property list with 'status'.

Shawn

> +	#sound-dai-cells = <0>;
> +};
> +
>  &mipi_csi {
>  	status = "okay";
>  	ports {
> @@ -365,6 +398,13 @@ MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27		0x19
>  		>;
>  	};
>  
> +	pinctrl_pdm: pdmgrp {
> +		fsl,pins = <
> +			MX8MM_IOMUXC_SAI5_RXC_PDM_CLK	0xd6
> +			MX8MM_IOMUXC_SAI5_RXD0_PDM_DATA0	0xd6
> +		>;
> +	};
> +
>  	pinctrl_reg_usb_otg1: usbotg1grp {
>  		fsl,pins = <
>  			MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29     0x19
> -- 
> 2.39.2
> 



More information about the linux-arm-kernel mailing list