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!