[PATCH v2 1/3] arm64: dts: imx93-9x9-qsb: Enable sound-wm8962 sound card

Frank Li Frank.li at nxp.com
Wed Sep 11 20:28:42 PDT 2024


On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote:
> Add wm8962 sound card which connects to sai3. The connection
> of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add
> gpio-hog for it.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li at nxp.com>

>  .../boot/dts/freescale/imx93-9x9-qsb.dts      | 74 +++++++++++++++++++
>  1 file changed, 74 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> index f8a73612fa05..10f3366b8253 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
> @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref {
>  		regulator-max-microvolt = <1800000>;
>  	};
>
> +	reg_audio_pwr: regulator-audio-pwr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "audio-pwr";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +	};
> +
>  	reg_rpi_3v3: regulator-rpi {
>  		compatible = "regulator-fixed";
>  		regulator-name = "VDD_RPI_3V3";
> @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
>  		enable-active-high;
>  		off-on-delay-us = <12000>;
>  	};
> +
> +	sound-wm8962 {
> +		compatible = "fsl,imx-audio-wm8962";
> +		model = "wm8962-audio";
> +		audio-cpu = <&sai3>;
> +		audio-codec = <&wm8962>;
> +		hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
> +		audio-routing =
> +			"Headphone Jack", "HPOUTL",
> +			"Headphone Jack", "HPOUTR",
> +			"Ext Spk", "SPKOUTL",
> +			"Ext Spk", "SPKOUTR",
> +			"AMIC", "MICBIAS",
> +			"IN3R", "AMIC",
> +			"IN1R", "AMIC";
> +	};
>  };
>
>  &adc1 {
> @@ -136,6 +161,28 @@ &lpi2c1 {
>  	pinctrl-0 = <&pinctrl_lpi2c1>;
>  	status = "okay";
>
> +	wm8962: codec at 1a {
> +		compatible = "wlf,wm8962";
> +		reg = <0x1a>;
> +		clocks = <&clk IMX93_CLK_SAI3_GATE>;
> +		DCVDD-supply = <&reg_audio_pwr>;
> +		DBVDD-supply = <&reg_audio_pwr>;
> +		AVDD-supply = <&reg_audio_pwr>;
> +		CPVDD-supply = <&reg_audio_pwr>;
> +		MICVDD-supply = <&reg_audio_pwr>;
> +		PLLVDD-supply = <&reg_audio_pwr>;
> +		SPKVDD1-supply = <&reg_audio_pwr>;
> +		SPKVDD2-supply = <&reg_audio_pwr>;
> +		gpio-cfg = <
> +			0x0000 /* 0:Default */
> +			0x0000 /* 1:Default */
> +			0x0000 /* 2:FN_DMICCLK */
> +			0x0000 /* 3:Default */
> +			0x0000 /* 4:FN_DMICCDAT */
> +			0x0000 /* 5:Default */
> +		>;
> +	};
> +
>  	ptn5110: tcpc at 50 {
>  		compatible = "nxp,ptn5110", "tcpci";
>  		reg = <0x50>;
> @@ -194,6 +241,12 @@ pcal6524: gpio at 22 {
>  		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_pcal6524>;
> +
> +		exp-sel-hog {
> +			gpio-hog;
> +			gpios = <22 GPIO_ACTIVE_HIGH>;
> +			output-low;
> +		};
>  	};
>
>  	pmic at 25 {
> @@ -286,6 +339,17 @@ &mu2 {
>  	status = "okay";
>  };
>
> +&sai3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sai3>;
> +	assigned-clocks = <&clk IMX93_CLK_SAI3>;
> +	assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
> +	assigned-clock-rates = <12288000>;
> +	fsl,sai-mclk-direction-output;
> +	fsl,sai-synchronous-rx;
> +	status = "okay";
> +};
> +
>  &usbotg1 {
>  	dr_mode = "otg";
>  	hnp-disable;
> @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07	0x31e
>  		>;
>  	};
>
> +	pinctrl_sai3: sai3grp {
> +		fsl,pins = <
> +			MX93_PAD_GPIO_IO12__SAI3_RX_SYNC		0x31e
> +			MX93_PAD_GPIO_IO18__SAI3_RX_BCLK		0x31e
> +			MX93_PAD_GPIO_IO17__SAI3_MCLK			0x31e
> +			MX93_PAD_GPIO_IO19__SAI3_TX_DATA00		0x31e
> +			MX93_PAD_GPIO_IO20__SAI3_RX_DATA00		0x31e
> +		>;
> +	};
> +
>  	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
>  		fsl,pins = <
>  			MX93_PAD_SD2_CD_B__GPIO3_IO00		0x31e
> --
> 2.34.1
>



More information about the linux-arm-kernel mailing list