AnsweredAssumed Answered

CS42888 codec not working in i.mx6q Sabre AI having Android M

Question asked by Deepika Teriar on May 13, 2016
Latest reply on Nov 15, 2019 by RICHU C J


I am working on  I.MX6Q Sabre Auto Evaluation board having Android M.  This is my bootargs for only enabling LVDS


setenv bootargs console=ttymxc3,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off

video=mxcfb2:off video=mxcfb3:off vmalloc=320M androidboot.console=ttymxc3 consoleblank=0

androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.serialno=0b0631d4d72d73bb


Bootlogs showing the available ALSA devices


imx-cs42888 sound-cs42888.28: cs42888 <-> 2024000.esai mapping ok

imx-cs42888 sound-cs42888.28: snd-soc-dummy-dai <-> 2034000.asrc ma

imx-cs42888 sound-cs42888.28: cs42888 <-> 2024000.esai mapping ok

imx-spdif sound-spdif.21: snd-soc-dummy-dai <-> 2004000.spdif mappi

imx-audio-hdmi sound-hdmi.22: initialize HDMI-audio failed. load HDMI video first!

ALSA device list:

  #0: cs42888-audio

  #1: imx-spdif


In the /dev/snd we get the following :


root@sabreauto_6q:/dev/snd # ls










When I  try playing a .wav song from tinyplay we get the following output


root@sabreauto_6q:/data # tinyplay audiocheck.wav -D 0 -d 1

Playing sample: 2 ch, 44100 hz, 16 bit

The .wav file is a 16 bit, stereo 44100 Hz  file.


Still i am not able to hear anything when I connect the Speaker to Sabre Auto board using RCA to AUX connector.

I am showing my set up in the attachment.


The device tree configuration is shown:



      sound-cs42888 {

                compatible = "fsl,imx6-sabreauto-cs42888",


                model = "imx-cs42888";

                esai-controller = <&esai>;

                asrc-controller = <&asrc>;

                audio-codec = <&codec>;



        codec: cs42888@48 {

                compatible = "cirrus,cs42888";

                reg = <0x48>;

                clocks = <&codec_osc>;

                clock-names = "mclk";

                VA-supply = <&reg_audio>;

                VD-supply = <&reg_audio>;

                VLS-supply = <&reg_audio>;

                VLC-supply = <&reg_audio>;



&esai {

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_esai>;

        assigned-clocks = <&clks IMX6QDL_CLK_ESAI_SEL>,

                          <&clks IMX6QDL_CLK_ESAI_EXTAL>;

        assigned-clock-parents = <&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>;

        assigned-clock-rates = <0>, <24576000>;


Can any one help me out in this?


Thanks and Regards