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]