AnsweredAssumed Answered

imx6 - tlv320aic32x4 codec no data on I2S port

Question asked by Benoit Moffet on Nov 19, 2015
Latest reply on Sep 30, 2016 by lin zhang

Hi,

 

I am working on a custom board with an imx6d processor and a tlv320aic3204 codec.

 

The codec is connected on the AUD4 port and the mclk comes from GPIO0 at 24MHz.

 

The codec is detected and the ssi maping seems fine.

 

imx-aic32x4 sound.18:  tlv320aic32x4-hifi <-> 202c000.ssi mapping ok

 

ALSA device list:

  #0: tlv320aic32x4

 

Here is my device tree entry for the sound card:

    sound {

  compatible = "fsl,imx-audio-aic32x4";

  model = "tlv320aic32x4";

  audio-codec = <&codec>;

        ssi-controller = <&ssi1>;

  audio-routing =

  "Line Out Jack", "LOL",

            "Line Out Jack, "LOR",

            "Headphone Jack, "HPL",

            "Headphone Jack, "HPR";

        mux-ext-port = <4>;

  mux-int-port = <1>;

  };

 

&ssi1 {

  status = "okay";

};

 

... --- ...

 

    codec: tlv320aic32x4@18 {

        compatible = "ti,tlv320aic32x4";

        reg = <0x18>;

        clocks = <&clks 201>;

        clock-names = "mclk";

        gpio-reset = <&gpio5 12 0>;

        status = "okay";

    };

 

When I play with alsamixer, I can see I2C data on the port with the scope.

 

I don't see data on the AUD4 pins, only the Mclk is always present.

 

If I use aplay, I get this message after 13s waiting:

 

aplay: pcm_write:1947: write error: Input/output error

 

I wrote a machine driver for the tlv320aic32x4 based on the sgtl5000 one...

 

I use the 3.10.17 kernel on poky-dizzy and the meta-fsl-arm layer in dizzy too.

 

Regards,

Outcomes