Commit b4ff842d authored by Shengjiu Wang's avatar Shengjiu Wang Committed by Shawn Guo
Browse files

arm64: dts: imx943-evk: add bt-sco sound card support



Add bt-sco sound card, which is used by BT HFP case.
It supports wb profile as default.

Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent bbe944d7
Loading
Loading
Loading
Loading
+56 −0
Original line number Diff line number Diff line
@@ -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@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