Connecting an external audio amplifier to I2SOUT0

I physically connected an external audio amplifier + speaker to the Genio 520’s I2SOUT0 lines. I can initialize the amp by sending it raw I2C commands and then send audio through it. So I know it’s electrically connected correctly.

I added the amp’s software driver to my IoT Yocto build and device tree. The driver appears in /sys/bus/i2c/drivers/ and occupies its expected address in i2cdetect -y. The driver initializes without error upon bootup. However, no audio is played when I:
amixer -c 0 cset name=‘I2SOUT0_CH1 DL1_CH1’ 1
amixer -c 0 cset name=‘I2SOUT0_CH2 DL1_CH2’ 1
amixer -c 0 cset name=‘I2S_OUT0_Mux’ 1
aplay -D i2s_out0 /usr/share/sounds/alsa/Front_Center.wav

When I added the codec’s DAI link to the device tree via…
dai-link-6 {
link-name = "I2SOUT0_BE";

codec {
sound-dai = <&audio_codec>;
};
};
dmesg reports “No soundcards found” and the above amixer and aplay commands error. aplay -l reports nothing.

Any suggestions on how I can integrate the amp’s driver into IoT Yocto?

Thank you!

It turns out the error was due to the amp’s driver. The DAI link did successfully connect the driver to the I2SOUT0 audio path.

Sorry for the false alarm.

Hi David,

Glad to hear the issue is resolved!
Feel free to let us know if you have any questions.