MAX98089 Audio Codec No Sound on i.MX8M Mini

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MAX98089 Audio Codec No Sound on i.MX8M Mini

530 Views
embed0
Contributor I

Hello,

 

I'm working on integrating a MAX98089 audio codec with the i.MX8M Mini.  I have it so the driver is detected through 'aplay -l', alsamixer and such. It appears to work from the linux driver view, but when sound is played nothing can be heard. 

 

Capture.PNG

 

When playing a demo sound, the speaker output has the following signal.

 

Capture1.PNG

 

Any help would be appreciated.  Thank you.

 

Here is the relevant device tree.

&i2c3 {
             clock-frequency = <100000>;
             pinctrl-names = "default", "sleep";
             pinctrl-0 = <&pinctrl_i2c3>;
             pinctrl-1 = <&pinctrl_i2c3_sleep>;
             status = "okay";

             max98088: codec@10 {
                           compatible = "maxim,max98088", "maxim,max98089";
                           reg = <0x10>;
                           #sound-dai-cells = <0>;
                          clock-names = "mclk";
                          clocks = <&clk IMX8MM_CLK_SAI5_ROOT>;
                          status = "okay";
             };

};

sound-max98088 {
             compatible = "simple-audio-card";
             pinctrl-names = "default";

             simple-audio-card,name = "max98088-audio";
             simple-audio-card,format = "i2s";
             simple-audio-card,bitclock-master = <&cpu_dai>;
             simple-audio-card,frame-master = <&cpu_dai>;

             simple-audio-card,widgets =
                         "Speaker", "SPKL",
                         "Speaker", "SPKR",
                         "Headphone", "HPL",
                         "Headphone", "HPR";

             simple-audio-card,routing =
                        "SPKL", "Left SPK Mixer",
                        "SPKR", "Right SPK Mixer",
                        "HPL", "HP Left Out",
                        "HPR", "HP Right Out";

             cpu_dai: simple-audio-card,cpu {
                        sound-dai = <&sai5>;
             };

            simple-audio-card,codec {
                      sound-dai = <&max98088>;
                      clocks = <&clk IMX8MM_CLK_SAI5_ROOT>;
            };
};

&sai5 {
           pinctrl-names = "default", "sleep";
           pinctrl-0 = <&pinctrl_sai5>;
           pinctrl-1 = <&pinctrl_sai5_sleep>;
           assigned-clocks = <&clk IMX8MM_CLK_SAI5>;
           assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
           assigned-clock-rates = <12288000>;
           clocks = <&clk IMX8MM_CLK_SAI5_IPG>, <&clk IMX8MM_CLK_DUMMY>,
                         <&clk IMX8MM_CLK_SAI5_ROOT>, <&clk IMX8MM_CLK_DUMMY>,
                         <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>,
                         <&clk IMX8MM_AUDIO_PLL2_OUT>;
           clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
           status = "okay";
};

 

0 Kudos
Reply
2 Replies

476 Views
embed0
Contributor I

I've attempted to follow this:
Solved: Integrating audio codec MAX98089 on i.MX8M Plus - NXP Community

but can't get past the error:
imx-max98088 sound-max98089: ASoC: CODEC DAI max98088 not registered

0 Kudos
Reply

461 Views
jimmychan
NXP TechSupport
NXP TechSupport

Do you select the codec driver in kernel? Add the driver in defconfig file or select the driver in menuconfig.

0 Kudos
Reply