Hello @geopaxpvtltd,
I was able to get the MAX98357a codec to work with the Verdin iMX8MM.
Using the SD_MODE
pin was required, but there may be a configuration where it is optional.
One thing that is incorrect from the schematics you provided is that I2S_1_D_IN
is connected to DIN
of the codec, however I2S_1_D_OUT
should be connected to DIN
.
Here is my configuration:
Hardware
Components
- 0055 Verdin iMX8M Mini Quad 2GB WB IT
- 0156 Verdin Development Board
- MAX98357A Codec Board
Connections
With SoM → Codec:
- GND → GND
- V3.3_SW → VDD (Other supported voltages should work as well)
- GPIO_3 (SODIMM_210) → SD#MODE#
- I2S_1_BCLK (SODIMM_30) → BCLK
- I2S_1_SYNC (SODIMM_32) → LRCLK
- I2S_1_D_OUT (SODIMM_34) → DIN
- GND → GAIN (Other values for a different gain should work as well)
Software
The monthly release of Torizon OS 6.7.0-devel-202405+build.23 was used.
Device Tree
The Verdin Development Board Device tree was used.
Only the following device tree overlay was used:
verdin-imx8mm_max98357a_overlay.dts (1.6 KB)
Other files
/etc/asound.conf:
asound.conf (2.8 KB)
/home/torizon/.asoundrc [Optional]:
.asoundrc (255 Bytes)
The .asoundrc
file allows for software control of the output volume using alsamixer
, so it is not stricly required for the codec to work. You can add it in a test container to change the volume with alsamixer
.
The recommended way to use such a configuration in production is to configure a SoM and capture its changes using TorizonCore Builder.
Best Regards,
Bruno