tlv320aic3204 codec probe issue.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

tlv320aic3204 codec probe issue.

2,420件の閲覧回数
kishan_dudhatra
Contributor III

Hello folks,

I am working on the imx8mp custom board. tlv320aic3204 codec is connected to imx8mp over the I2C4 and SAI5 interface.

Here are my dts file changes :

sound {
                 compatible = "simple-audio-card";
                 label = "tlv320aic32x4-audio";
                 simple-audio-card,name = "tlv320aic32x4";
                 simple-audio-card,format = "i2s";
                 status = "okay";
                 simple-audio-card,frame-master = <&sndcodec>;
                 simple-audio-card,bitclock-master = <&sndcodec>;
                 simple-audio-card,widgets =
                     "Microphone", "Mic Jack",
                     "Line", "Line In",
                     "Line", "Line Out",
                     "Headphone", "Headphone Jack";
                 simple-audio-card,routing =
                      "IN1_L", "Line In",
                      "IN1_R", "Line In",
                      "IN3_R", "Mic Jack",
                      "CM_L", "Mic Jack",
                      "CM_R", "Mic Jack",
                      "Line Out", "LOL",
                      "Line Out", "LOR",
                      "Headphone Jack", "HPL",
                      "Headphone Jack", "HPR";

                simple-audio-card,dai-link {
                        format = "i2s";
                        cpu: simple-audio-card,cpu {
                                sound-dai = <&sai5>;
                        };

                        sndcodec: codec {
                                sound-dai = <&tlv320aic32x4>;
                                system-clock-frequency = <IMX8MP_CLK_AUDIO_BLK_CTRL_SAI5_MCLK1>; /* this matches sai3 */
                        };
                };
         };

&sai5 {
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_sai5>;
        dmas = <&sdma2 8 24 0>, <&sdma2 9 24 0>;
        assigned-clocks = <&clk IMX8MP_CLK_SAI5>;
        assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
        assigned-clock-rates = <24576000>;
        clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI5_IPG>, <&clk IMX8MP_CLK_DUMMY>,
               <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI5_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
               <&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_AUDIO_PLL1_OUT>,
               <&clk IMX8MP_AUDIO_PLL2_OUT>;
        clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
        fsl,sai-asynchronous;
        fsl,dataline = <2 0xf 0xf>;
        status = "okay";
};

pinctrl_sai5:sai5grp {
                     fsl,pins = <                            
                             MX8MP_IOMUXC_SAI5_MCLK__AUDIOMIX_SAI5_MCLK                0xd6
                             MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_SAI5_RX_DATA00           0xd6
                             MX8MP_IOMUXC_SAI5_RXFS__AUDIOMIX_SAI5_RX_SYNC             0xd6
                             MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_SAI5_RX_BCLK              0xd6
                             MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_SAI1_TX_DATA01            0xd6                           
                             >;
             };

&i2c4 {
        clock-frequency = <384000>;
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c4>;
        pinctrl-1 = <&pinctrl_i2c4_gpio>;
        scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        status = "okay";
        tlv320aic32x4: tlv320aic32x4@18 {
                       #sound-dai-cells=<0>;
                       compatible = "ti,tlv320aic32x4";
                       status = "okay";
                       pinctrl-names = "default";
                       pinctrl-0 = <&pinctrl_tlv320aic3x04>;
                       reg = <0x18>;
                       clock-names = "mclk";
                       clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI5_MCLK1>;
                       iov-supply = <&reg_vcc_1v8>;
                       ldoin-supply = <&reg_vcc_3v3>;
                       reset-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
               };


};

pinctrl_tlv320aic3x04: tlv320aic3x04grp {
                               fsl,pins = <
                                       /* CODEC RST# */
                                       MX8MP_IOMUXC_ECSPI2_MOSI__GPIO5_IO11     0x180
                                       >;
};

 With the above dts changes I am getting the below error logs:

[    7.244493][   T10] asoc-simple-card sound: ASoC: no sink widget found for IN1_L
[    7.258329][   T10] asoc-simple-card sound: ASoC: Failed to add route Line In -> direct -> IN1_L
[    7.331184][   T10] asoc-simple-card sound: ASoC: no sink widget found for IN1_R
[    7.344900][   T10] asoc-simple-card sound: ASoC: Failed to add route Line In -> direct -> IN1_R
[    7.417926][   T10] asoc-simple-card sound: ASoC: no sink widget found for IN3_R
[    7.431851][   T10] asoc-simple-card sound: ASoC: Failed to add route Mic Jack -> direct -> IN3_R
[    7.504847][   T10] asoc-simple-card sound: ASoC: no sink widget found for CM_L
[    7.512189][   T95] usb 1-1.1: new full-speed USB device number 3 using xhci-hcd
[    7.525980][   T10] asoc-simple-card sound: ASoC: Failed to add route Mic Jack -> direct -> CM_L
[    7.598957][   T10] asoc-simple-card sound: ASoC: no sink widget found for CM_R
[    7.612628][   T10] asoc-simple-card sound: ASoC: Failed to add route Mic Jack -> direct -> CM_R
[    7.685553][   T10] asoc-simple-card sound: ASoC: no source widget found for LOL
[    7.699316][   T95] usb 1-1.1: New USB device found, idVendor=0eef, idProduct=0005, bcdDevice= 1.11
[    7.708388][   T10] asoc-simple-card sound: ASoC: Failed to add route LOL -> direct -> Line Out
[    7.723485][   T95] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.731505][   T95] usb 1-1.1: Product: WS170120
[    7.723485][   T95] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.731505][   T95] usb 1-1.1: Product: WS170120
[    7.741713][   T95] usb 1-1.1: Manufacturer: WaveShare
[    7.750788][   T95] usb 1-1.1: SerialNumber: 220211
[    7.757046][   T10] asoc-simple-card sound: ASoC: no source widget found for LOR
[    7.817234][   T10] asoc-simple-card sound: ASoC: Failed to add route LOR -> direct -> Line Out
[    7.860368][   T95] input: WaveShare WS170120 as /devices/platform/soc@0/32f10108.usb/38200000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.1/1-1.1:1.0/001
[    7.865821][   T10] asoc-simple-card sound: ASoC: no source widget found for HPL
[    7.882169][   T95] hid-multitouch 0003:0EEF:0005.0001: input,hiddev96,hidraw0: USB HID v1.11 Device [WaveShare WS170120] on usb-xhci-hcd.1.au0
[    7.887048][   T10] asoc-simple-card sound: ASoC: Failed to add route HPL -> direct -> Headphone Jack
[    8.008465][   T10] asoc-simple-card sound: ASoC: no source widget found for HPR
[    8.022156][   T10] asoc-simple-card sound: ASoC: Failed to add route HPR -> direct -> Headphone Jack
[    8.093883][    T1] input: gpio-keys as /devices/platform/gpio-keys/input/input3
[    8.113062][    T1] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    8.123891][    T1] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    8.131262][   T68] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    8.140014][    T1] ALSA device list:
[    8.140595][   T68] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[    8.144274][    T1]   No soundcards found.
[    8.157674][    T1] Freeing unused kernel memory: 1984K

 Can someone see what I’m doing wrong or what I’m missing?

Regards,
Kishan Dudhatra
0 件の賞賛
返信
1 返信

2,395件の閲覧回数
JorgeCas
NXP TechSupport
NXP TechSupport

Hope you are doing well; I will be working in your support case.

 

The TLV320AIC3100 audio CODEC is not supported by default on our BSP. To use this CODEC to your system, you need to add a third-party driver provided by Texas Instruments and configure your device tree.

 

Unfortunately, there is no a guide to port this specific CODEC to the BSP. The references we have are the i.MX porting guide and EVK device tree (WM8960).

 

Maybe this thread could be helpful.

 

Best regards.

0 件の賞賛
返信