SK-AM62: 32-Bit audio support not working in 6.6RT Kernel

Part Number: SK-AM62

Tool/software:

Hi,

I have upgraded to kernel 6.6 (Linux version 6.6.44-rt39) and of course also modified the DTS files for my target.

With the previous version (6.1rt) we had the buffer underflow issue which should have been fixed in this version.

Unfortunately now the 32-Bit (S32_LE) data format is not working any more - as soon as I switch to S16_LE, it is working, e.g.

speaker-test -Dsysdefault:CARD=AmpsOut -r 48000 -c 32 -f S32_LE -> does not work

speaker-test -Dsysdefault:CARD=AmpsOut -r 48000 -c 32 -f S16_LE -> works fine

But I need the higher resolution of 32-Bit - did I forget anything to modify or is 32-Bit support broken in 6.6 ?

Regards,

Sebastian

DTS Configuration:

tdm_amp:  sound3 {
        compatible = "simple-audio-card";
        simple-audio-card,name = "AmpsOut";
        simple-audio-card,bitclock-master = <&my_mcasp2>;
        simple-audio-card,frame-master = <&my_mcasp2>;
        simple-audio-card,format = "left_j";

        simple-audio-card,bitclock-inversion;

        my_mcasp2: simple-audio-card,cpu {
            sound-dai = <&mcasp2>;
            system-clock-frequency = <24576000>;
            system-clock-direction-out;
            dai-tdm-slot-width = <32>;
        };

        sound_master3: simple-audio-card,codec {
            sound-dai = <&tdm8amp_out>;
            clocks = <&tlv320_mclk>;
            dai-tdm-slot-width = <32>;
        };
            
    };


&mcasp2 {
    status = "okay";
    #sound-dai-cells = <0>;

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

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

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

  • Hi,

    Does the below commands on AM62x with 10.x SDK Image work:

    arecord -D plughw:0,0 -c 2 -f S32_LE -r 48000 --period-size=64 -d 20 test.wav
    aplay test.wav

    I was able to play them on my board.

    Also is this a custom board? AFAIK, the underrun issues were resolved in 6.1 Kernel too. 

    Best Regards,

    Suren