启用Duo/Duo 256的内部音频编解码器并播放wav文件

本帖为转载,原贴链接为:启用Duo/Duo 256的内部音频编解码器并播放wav文件 - Duo - Milk-V Community

Duo/Duo 256内部音频codec是可用的,并且能够正常工作,但是官方没有默认开启,因此本帖来尝试一下如何启用内部音频codec

首先编辑dts文件
用自己喜欢的编辑器打开

vim duo-buildroot-sdk/build/boards/default/dts/cv180x/cv180x_base.dtsi

在第620行修改DAC的时钟源来启用DAC

        dac: dac@0300A000 {
                compatible = "cvitek,cv182xadac";
                reg = <0x0 0x0300A000 0x0 0x100>;
                clocks = <&i2s_mclk 0>;
                clock-names = "i2sclk";
                clk_source = <0x04130000>; /* MCLK source is I2S3 */
        };

其实buildroot里面是有dac的驱动,直接配置时钟源就可以了

编译,烧录,等待duo上电启动后,使用aplay/tinyALSA来查看系统信息。

就可以看见正常的输入输出设备了
由于Duo64M的音频输出引脚是LED,因此使用命令播放音频后能够看见LED闪烁变化,256M有独立输出引脚,经测试外接PAM8403功放可以正常播放声音。