Hi @rikte , I tested on our latest downstream multimedia bsp v6.3. And the kernel branch is toradex_5.15-2.1.x-imx.
root@verdin-imx8mp-06849221:~# cat /etc/os-release
ID=tdx-xwayland
NAME="TDX Wayland with XWayland"
VERSION="6.3.0-devel-202306+build.11 (kirkstone)"
VERSION_ID=6.3.0-devel-202306-build.11
PRETTY_NAME="TDX Wayland with XWayland 6.3.0-devel-202306+build.11 (kirkstone)"
DISTRO_CODENAME="kirkstone"
On V6.3 BSP, max98357 has been enabled as a kernel module by default. So one doesn’t have to recompile the kernel and kernel modules. The device tree is the only thing to modify.
root@verdin-imx8mp-06849221:~# zcat /proc/config.gz |grep CONFIG_SND_SOC_MAX98357A
CONFIG_SND_SOC_MAX98357A=m
root@verdin-imx8mp-06849221:~# find /lib/modules/ -name *98357*
/lib/modules/5.15.77-6.3.0-devel+git.3592e06b1bda/kernel/sound/soc/codecs/snd-soc-max98357a.ko
And
max98357.patch (3.6 KB)
is the patch.
With the new device tree applied, the audio can be played via max98357a decoder.
root@verdin-imx8mp-06849221:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: max98357a [max98357a], device 0: 30c10000.sai-HiFi HiFi-0 [30c10000.sai-HiFi HiFi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: audiohdmi [audio-hdmi], device 0: i.MX HDMI i2s-hifi-0 [i.MX HDMI i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@verdin-imx8mp-06849221:~# aplay -D sysdefault:CARD=max98357a LRMonoPhase4.wav
Playing WAVE 'LRMonoPhase4.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo