Post Go back to editing

MAX98388, not working, Device Tree

Category: Software
Product Number: MAX98388
Software Version: Linux

Hello,
I am trying to use the MAX98388 on an Embedded linux with a sam9x60 but it doesn't wok.
I think there are some mistakes on my device tree.
Here is an extract :

sound {


compatible = "simple-audio-card";
simple-audio-card,name = "max98388";
simple-audio-card,format = "i2s";
status = "okay";

simple-audio-card,bitclock-m*a*s*t*e*r = ; // I ad * to respect the Q&A policy
simple-audio-card,frame-m*a*s*t*e*r = ;
simple-audio-card,routing = "Speaker", "Speaker";

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

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

};

&i2s {status = "okay";

pinctrl-names = "default";
#sound-dai-cells = <0> ;
pinctrl-0 = <&pinctrl_i2s_default>;

};

&flx0 {


atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
status = "okay";

i2c0: i2c@600 {


dmas = <0>, <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx0_default>;
i2c-analog-filter;
i2c-digital-filter;
i2c-digital-filter-width-ns = <35>;
status = "okay";

eeprom@53 {


compatible = "atmel,24c02";
reg = <0x53>;
pagesize = <16>;


};

max98388: amplifier@39 {

compatible = "maxim,max98388";
reg = <0x39>;
#sound-dai-cells = <0>;
status = "okay";
adi,vmon-slot-no = <0>;
adi,imon-slot-no = <1>;
adi,interleave-mode;
reset-gpios = <&pioB 24 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_max98388_reset>;


};

};

};

I tried to test the chip with the following command : speaker-test -D plughw:0,0 -c 2 -twav

I think that the MAX98388 is correctly connected.
The max98388 seems to be detected.
[root@sam9x60curiosity ~]$ dmesg | grep -i max98388
[ 1.887618] max98388 0-0039: MAX98388 revisionID: 0x41
[ 2.044804] max98388 0-0039: Reset completed (retry:0)
[ 2.089222] #0: max98388
And the MAX98388 is detected by i2c at the correct adresse. 39
[root@sam9x60curiosity ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: max98388 [max98388], device 0: f001c000.i2s-max98388-aif1 max98388-aif1-0 [f001c000.i2s-max98388-aif1 max98388-aif1-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Any help would be greatly appreciated. Thanks!

Edit Notes

Some parameters between were not visible.
[edited by: hekuat at 9:59 AM (GMT -5) on 28 Jan 2026]