0

What needs to be done to run an I2S DAC/Amplifier board based on MAX98357A (datasheet) that appears to be a clone of this well-documented Adafruit product with the corresponding Device Tree overlay?

Following the Adafruit instructions to modify /boot/config.txt

dtoverlay=hifiberry-dac
dtoverlay=i2s-mmap
#dtparam=audio=on

and creating the recommended /etc/asound.conf, I have audio (on left, right seems to be shut down via GPIO4).
However, the I2S interface in combination with that IC causes pops and crackle and I would like to use the shutdown pin of the chip/board.

The Device Tree Overlay specifically for this chip supports this

But this does not work (no audio, and error, see below):

dtoverlay=max98357a
dtoverlay=i2s-mmap
#dtparam=audio=on

No audio device found

pi@raspberrypi:~ $ speaker-test -c2

speaker-test 1.1.8

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory

Also:

pi@raspberrypi:~ $ aplay -l
aplay: device_list:272: no soundcards found...
pi@raspberrypi:~ $ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
speakerbonnet
dmixer
softvol
default

There does not appear to be an error in dmesg. The device tree overlay "binary" is present in:

pi@raspberrypi:~ $ ls /boot/overlays/max98357a.dtbo
/boot/overlays/max98357a.dtbo

https://github.com/raspberrypi/linux/blob/rpi-4.19.y/arch/arm/boot/dts/overlays/README#L1575

Name:   max98357a
Info:   Configures the Maxim MAX98357A I2S DAC
Load:   dtoverlay=max98357a,<param>=<val>
Params: no-sdmode               Driver does not manage the state of the DAC's
                                SD_MODE pin (i.e. chip is always on).
        sdmode-pin              integer, GPIO pin connected to the SD_MODE input
                                of the DAC (default GPIO4 if parameter omitted).

I'm assuming this would default to using SD with GPIO4!?

For comparison, the overlay for hifiberry-dac is

Additional docs:

0

The driver module (https://github.com/raspberrypi/linux/blob/rpi-4.19.y/sound/soc/codecs/max98357a.c) is currently not configured for building by default and as such is not present in Raspberry Pi OS (ex. Raspbian) at the moment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.