[PATCH 5/6] arm64: dts: imx943-evk: add bt-sco sound card support

Frank Li Frank.li at nxp.com
Mon May 19 11:54:44 PDT 2025


On Thu, May 15, 2025 at 01:18:59PM +0800, Shengjiu Wang wrote:
> Add bt-sco sound card, which is used by BT HFP case.
> It supports wb profile as default.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>

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

> ---
>  arch/arm64/boot/dts/freescale/imx943-evk.dts | 56 ++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> index da08aaa95904..85cec644dd92 100644
> --- a/arch/arm64/boot/dts/freescale/imx943-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> @@ -20,6 +20,11 @@ aliases {
>  		serial0 = &lpuart1;
>  	};
>
> +	bt_sco_codec: bt-sco-codec {
> +		compatible = "linux,bt-sco";
> +		#sound-dai-cells = <1>;
> +	};
> +
>  	chosen {
>  		stdout-path = &lpuart1;
>  	};
> @@ -59,6 +64,25 @@ linux,cma {
>  		};
>  	};
>
> +	sound-bt-sco {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,bitclock-inversion;
> +		simple-audio-card,bitclock-master = <&btcpu>;
> +		simple-audio-card,format = "dsp_a";
> +		simple-audio-card,frame-master = <&btcpu>;
> +		simple-audio-card,name = "bt-sco-audio";
> +
> +		simple-audio-card,codec {
> +			sound-dai = <&bt_sco_codec 1>;
> +		};
> +
> +		btcpu: simple-audio-card,cpu {
> +			dai-tdm-slot-num = <2>;
> +			dai-tdm-slot-width = <16>;
> +			sound-dai = <&sai3>;
> +		};
> +	};
> +
>  	sound-wm8962 {
>  		compatible = "fsl,imx-audio-wm8962";
>  		audio-codec = <&wm8962>;
> @@ -290,6 +314,12 @@ pcal6416_i2c6_u44: gpio at 20 {
>  				#gpio-cells = <2>;
>  				gpio-controller;
>
> +				sai3-sel-hog {
> +					gpios = <11 GPIO_ACTIVE_HIGH>;
> +					gpio-hog;
> +					output-high;
> +				};
> +
>  				/* eMMC IOMUX selection */
>  				sd1-sel-hog {
>  					gpios = <0 GPIO_ACTIVE_HIGH>;
> @@ -331,6 +361,23 @@ &sai1 {
>  	status = "okay";
>  };
>
> +&sai3 {
> +	assigned-clocks = <&scmi_clk IMX94_CLK_AUDIOPLL1_VCO>,
> +			  <&scmi_clk IMX94_CLK_AUDIOPLL2_VCO>,
> +			  <&scmi_clk IMX94_CLK_AUDIOPLL1>,
> +			  <&scmi_clk IMX94_CLK_AUDIOPLL2>,
> +			  <&scmi_clk IMX94_CLK_SAI3>;
> +	assigned-clock-parents = <0>, <0>, <0>, <0>,
> +				 <&scmi_clk IMX94_CLK_AUDIOPLL1>;
> +	assigned-clock-rates = <3932160000>,
> +			       <3612672000>, <393216000>,
> +			       <361267200>, <12288000>;
> +	pinctrl-0 = <&pinctrl_sai3>;
> +	pinctrl-names = "default";
> +	fsl,sai-mclk-direction-output;
> +	status = "okay";
> +};
> +
>  &scmi_iomuxc {
>
>  	pinctrl_ioexpander_int2: ioexpanderint2grp {
> @@ -376,6 +423,15 @@ IMX94_PAD_I2C2_SDA__SAI1_MCLK		0x31e
>  		>;
>  	};
>
> +	pinctrl_sai3: sai3grp {
> +		fsl,pins = <
> +			IMX94_PAD_GPIO_IO42__SAI3_TX_BCLK	0x31e
> +			IMX94_PAD_GPIO_IO56__SAI3_TX_SYNC	0x31e
> +			IMX94_PAD_GPIO_IO46__SAI3_RX_DATA0	0x31e
> +			IMX94_PAD_GPIO_IO47__SAI3_TX_DATA0	0x31e
> +		>;
> +	};
> +
>  	pinctrl_uart1: uart1grp {
>  		fsl,pins = <
>  			IMX94_PAD_UART1_TXD__LPUART1_TX		0x31e
> --
> 2.34.1
>



More information about the linux-arm-kernel mailing list