This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM62X: soundcard I2S format:ti-bcdma 485c0100.dma-controller: chan2 teardown timeout!

Part Number: PROCESSOR-SDK-AM62X
Other Parts Discussed in Thread: TLV320AIC3106

I found a problem driving the HDMI AUDIO based on my custom board.Use SII9022 HDMI chip。

When I configured the device tree HDMI Sound, I was able to view my sound card device through aplay, but when I used the aplay command to play WAV audio files, the serial port interrupt printed the message: ti-bcdma 485c0100.dma-controller: chan2 teardown timeout! . Play stops at the same time. There is also no sound at the HDMI output during playback.

Here is my configuration for the device tree:

608         sii9022: sii9022@3b {
609                 compatible = "sil,sii9022";
610                 reg = <0x3b>;
611 
612                 clocks = <&hdmi_mstrclk>;
613                 clock-names = "mclk";
614                 #sound-dai-cells = <0>;
615                 sil,i2s-data-lanes = <0>;
616 
617                 ports {
618                         #address-cells = <1>;
619                         #size-cells = <0>;
620 
621                         port@0 {
622                                 reg = <0>;
623 
624                                 sii9022_in: endpoint {
625                                         remote-endpoint = <&dpi1_out>;
626                                 };
627                         };
628 
629                         port@1 {
630                                 reg = <1>;
631 
632                                 sii9022_out: endpoint {
633                                         remote-endpoint = <&hdmi_connector_in>;                                                                                                  
634                                 };
635                         };
636                 };              
637         }; 

209         sound {
210                 compatible = "simple-audio-card";
211                 simple-audio-card,name = "HDMI";
212                 simple-audio-card,format = "i2s";
213                 simple-audio-card,bitclock-master = <&hdmi_dailink_master>;
214                 simple-audio-card,frame-master = <&hdmi_dailink_master>;
215                 hdmi_dailink_master:simple-audio-card,cpu {
216                                 sound-dai = <&mcasp1>;
217                                 system-clock-frequency = <24000000>;
218                                 system-clock-direction-out;
219                 };
220 
221                 simple-audio-card,codec {
222                                 sound-dai = <&sii9022>;
223                                 system-clock-frequency = <24000000>;
224                 };                                                                                                                                                               
225         };

783 &mcasp1 {                                                                                                                                                                        
784         status = "okay";
785         #sound-dai-cells = <0>;
786 
787         pinctrl-names = "default";
788         pinctrl-0 = <&main_mcasp1_pins_default>;
789 
790         op-mode = <0>;          /* MCASP_IIS_MODE */
791         tdm-slots = <2>;
792 
793         serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
794                1 0 0 0
795                0 0 0 0
796                0 0 0 0
797                0 0 0 0
798         >;
799         tx-num-evt = <32>;
800         rx-num-evt = <32>;
801 };

The hardware design:

Please help me check whether the problem is caused by the lack of configuration in my device tree

  • Hello,

    We don't have the audio through HDMI functional yet and still debugging the issue internally.

    Regards,
    Krunal

  • Thank you very much.  Please let me know if there is any progress

  • Hello,

    I also had problems in the test on SKEVM board, how is the progress now?

    If possible, can you provide relevant debugging materials

    I must solve this problem as soon as possible

    Regards,
    xianbao

  • Hello,

    I don't have any additional updates and the team is still looking into the issue. The believe the clock is misconfigured and are still trying to root cause the error.

    Regards,
    Krunal

  • hello TI

    trying to test audio (TLVAIC33 codec) with AM62x  (MCASP0) and the configurations  are done as expected, aplay detects the sound card and able to play the sound using aplay command , but no sound in headphones

    found that , the Frame sync is not 50%  duty cycle (its 10% duty cycle) , even the frequency is correct (44.1khz) ,looks like the  configuration is like TDM not I2S?

    is it correct to use tdm-slots and op-mode together ?

    also got the error : ti-bcdma 485c0100.dma-controller: chan0 teardown timeout

    signals captured 

    BCLK : ||||||||||||||||||||||||||||||||||||||||||||||||||||

    FR      : |_________|________|_____ (like TDM not like I2S, freq is correct and equal to sampling freq) 

    below is my config : 

    please check and help me what is wrong with it ?

    sound {
    compatible = "simple-audio-card";
    simple-audio-card,name = "AM62x-SKEVM";
    simple-audio-card,widgets =
    "Headphone", "Headphone Jack";
    simple-audio-card,routing =
    "Headphone Jack", "HPLOUT",
    "Headphone Jack", "HPROUT";
    simple-audio-card,format = "dsp_b";
    simple-audio-card,bitclock-master = <&sound_master>;
    simple-audio-card,frame-master = <&sound_master>;
    simple-audio-card,bitclock-inversion;

    simple-audio-card,cpu {
    sound-dai = <&mcasp0>; //mcasp2 added
    };

    sound_master: simple-audio-card,codec {
    sound-dai = <&tlv320aic3106>;
    clocks = <&tlv320_mclk>;
    };
    };

    &mcasp0 {
    status = "okay";
    //added below properties
    #sound-dai-cells = <0>;

    pinctrl-names = "default";
    pinctrl-0 = <&main_mcasp0_pins_default>;

    op-mode = <0>; /* MCASP_IIS_MODE */
    tdm-slots = <2>;

    serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
    0 1 2 0
    0 0 0 0
    0 0 0 0
    0 0 0 0
    >;
    tx-num-evt = <32>;
    rx-num-evt = <32>;
    };

    -Nagendra 

  • Hi Krunal ,

    Any update ?

    Thanks,

    Naresh.