]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: imx91-11x11-evk: Add bt-sco sound card support
authorChancel Liu <chancel.liu@nxp.com>
Wed, 3 Dec 2025 07:06:02 +0000 (16:06 +0900)
committerShawn Guo <shawnguo@kernel.org>
Tue, 30 Dec 2025 02:39:27 +0000 (10:39 +0800)
Add bt-sco sound card, which is used by BT HFP case.
It supports wb profile as default.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts

index 90a4d1061d4a516f36ed15742fe28efeaf0fa421..c9cb122094e70f8c920d9297aab949cf88b65fbe 100644 (file)
                serial4 = &lpuart5;
        };
 
+       bt_sco_codec: bt-sco-codec {
+               compatible = "linux,bt-sco";
+               #sound-dai-cells = <1>;
+       };
+
        chosen {
                stdout-path = &lpuart1;
        };
                        linux,cma-default;
                };
        };
+
+       sound-bt-sco {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "bt-sco-audio";
+               simple-audio-card,format = "dsp_a";
+               simple-audio-card,bitclock-inversion;
+               simple-audio-card,frame-master = <&btcpu>;
+               simple-audio-card,bitclock-master = <&btcpu>;
+
+               simple-audio-card,codec {
+                       sound-dai = <&bt_sco_codec 1>;
+               };
+
+               btcpu: simple-audio-card,cpu {
+                       sound-dai = <&sai1>;
+                       dai-tdm-slot-num = <2>;
+                       dai-tdm-slot-width = <16>;
+               };
+       };
 };
 
 &adc1 {
        };
 };
 
+&sai1 {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&pinctrl_sai1>;
+       pinctrl-1 = <&pinctrl_sai1_sleep>;
+       assigned-clocks = <&clk IMX93_CLK_SAI1>;
+       assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+       assigned-clock-rates = <12288000>;
+       fsl,sai-mclk-direction-output;
+       status = "okay";
+};
+
 &usbotg1 {
        adp-disable;
        disable-over-current;
                >;
        };
 
+       pinctrl_sai1: sai1grp {
+               fsl,pins = <
+                       MX91_PAD_SAI1_TXC__SAI1_TX_BCLK                 0x31e
+                       MX91_PAD_SAI1_TXFS__SAI1_TX_SYNC                0x31e
+                       MX91_PAD_SAI1_TXD0__SAI1_TX_DATA0               0x31e
+                       MX91_PAD_SAI1_RXD0__SAI1_RX_DATA0               0x31e
+               >;
+       };
+
+       pinctrl_sai1_sleep: sai1sleepgrp {
+               fsl,pins = <
+                       MX91_PAD_SAI1_TXC__GPIO1_IO12                   0x51e
+                       MX91_PAD_SAI1_TXFS__GPIO1_IO11                  0x51e
+                       MX91_PAD_SAI1_TXD0__GPIO1_IO13                  0x51e
+                       MX91_PAD_SAI1_RXD0__GPIO1_IO14                  0x51e
+               >;
+       };
+
        pinctrl_lpi2c3: lpi2c3grp {
                fsl,pins = <
                        MX91_PAD_GPIO_IO28__LPI2C3_SDA                          0x40000b9e