"); //-->
为什么这里要使用宏定义 SEL_HDA 呢,因为在 BSP 的 Targets/LS2K/ls2k/pai2.c 文件的 pai2_init 函数中使
用宏定义 SEL_HDA 来对 HDA 的管脚进行了初始化,如下图所示:
第 8 行代码*(volatile int *)0xbfe10420 &= ~(7<<4);先对寄存器的第 4,5,6 位清零,然后第 9 行代码
*(volatile int *)0xbfe10420 |= (1<<4);将第 4 位置 1,置 1 就是将管脚的复用设置为 HDA,为什么要先清零然后
在置 1 呢?我们来看下数据手册,如下图所示:
通过数据手册我们可以看出,bit4 和 bit6 不能同时为 1,所以这里先清零然后在将 bit4 置 1 是为了避免
同时为 1 的情况。
接着我们要在定义这个宏定义来打开对HDA的初始化,打开Targets/LS2K/conf/ls2k文件,添加代码option
SEL_HDA,如下图所示:
这样,我们就成功配置完了声卡。我们将 pmon 烧写到开发板并启动文件系统,输入命令 aplay -l,可
以看到已经成功识别到了声卡,如下图所示:
更多内容关注迅为龙芯2K1000开发板
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。