TDA4VH-Q1: Audio driver

Part Number: TDA4VH-Q1

Tool/software:

Hi,

I am currently working on the audio driver bring-up activity for the TDA4VH-Q1 EVM board. While configuring the audio driver, I encountered the following probe errors (Yocto):

[   13.051645] platform 6000000.usb: deferred probe pending
[   13.056957] platform sound0: deferred probe pending
[   13.061832] platform sound1: deferred probe pending
[   13.066703] platform sound3: deferred probe pending

In additionally, the following clock related errors in the logs:

 root@j784s4-evm:~# dmesg | grep -i "clk\|audio"
[    0.229474] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
[    0.229562] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
[    0.229680] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
[    3.595019] clk: Disabling unused clocks\

below is relevant device tree configuration:

codec_audio0: sound0 {
                compatible = "simple-audio-card";
                simple-audio-card,name = "J784S4-TEST";
                simple-audio-card,format = "i2s";
                simple-audio-card,bitclock-master = <&sound_master0>;
                simple-audio-card,frame-master = <&sound_master0>;

 

                sound_master0: simple-audio-card,cpu {
                sound-dai = <&mcasp0>;
                system-clock-direction-out;
                };

 

                simple-audio-card,codec {
                        sound-dai = <&codec_test>;
                };
        };

&mcasp0 {
        status = "okay";
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&mcasp0_pins_default>;
        op-mode = <0>;          /* MCASP_IIS_MODE */
        tdm-slots = <2>;
        auxclk-fs-ratio = <256>;
        serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */   // first row 0 0 1 0
                0 0 0 0
                2 2 1 0
                0 0 0 0
                0 0 0 0
>;
        tx-num-evt = <0>;
        rx-num-evt = <0>;
};

could you please assist in identifying and resolving the issue to make the audio driver work correctly?

  • Hi Karthilkeyan,

    Are you creating a device tree for a custom board?

    Which SDK version are you using? McASP support for the J784s4 only got added into SDK 10.0.

    Best,
    Jared

  • Hi Jared,
                 Are you creating a device tree for a custom board? -> yes
        
                 Which SDK version are you using? --> SDK 10 version only I'm using
    McASP support for the J784s4 only got added into SDK 10.0.

  • Hi Karthikeyan,

    Can you try the following for the codec_audio node:

    codec_audio: sound {
        compatible= "simple-audio-card";
        simple-audio-card,name = "j784s4-test";
        simple-audio-card,format = "i2s";
        simple-audio-card,bitclock-master = <&sound_master>;
        simple-audio-card,frame-master = <&sound_master>;
        
        sound_master: simple-audio-card,cpu {
            sound-dai = <&mcasp0>;
            system-clock-direction-out;
        };
        
        simple-audio-card,codec {
            sound-dai = <&codec_test>;
        };
    };

    Best,
    Jared

  • Hi Jared,
                   I've tried as you mentioned above codec node, however it has remains same, not resolved

    dmesg:              
    [   13.647236] platform sound0: deferred probe pending

    root@j784s4-evm:~#
    root@j784s4-evm:~#
    root@j784s4-evm:~#
    root@j784s4-evm:~#
    root@j784s4-evm:~#
    root@j784s4-evm:~# dmesg | grep -i "clk\|audio"
    [    0.236129] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
    [    0.236218] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
    [    0.236343] ti-sci-clk 44083000.system-controller:clock-controller: get-parent failed for dev=157, clk=34, ret=-19
    [    3.439424] clk: Disabling unused clocks

  • Hi Karhtikeyan,

    Can you send the entire dmesg log?

    Best,
    Jared