I2C3挂载wm8960音频芯片 | 飞凌干货笔记

飞凌嵌入式的okmx8mm-c开发板预留了i2c3和sai引脚接口,分别位于p18和p7插针引脚上,板载音频芯片挂载到了i2c2和sai2。今天小编为大家列举并说明如何在i2c3挂载wm8960音频芯片并通过sai1连接传输音频数据。
设备树和设备树头文件路径如下:
ok8mm-linux-sdk/ok8mm-linux-kernel/arch/arm64/boot/dts/freescale/ok8mm-evk.dts
ok8mm-linux-sdk/ok8mm-linux-kernel/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi
1、修改结果1、打开设备树修改sound节点,驱动从这里获取设备信息。
(1)修改sound节点cpu-dai =,改为cpu-dai= 。
将wm8960挂载到sai1实现音频数据流的收发,同理也可挂载到sai3,修改硬件连接即可。
(2)修改 hp-det-gpios= , 改为 hp-det-gpios= 。
默认使用耳机输出,使插拔检测失效。
2、注释i2c2下的wm8960节点,因为在设备树中不能存在一模一样的设备节点,所以要注释掉原来的wm8960节点。
在i2c3下添加wm8960节点,挂载到哪个i2c就把设备节点放到对应i2c下,修改clocks= ,在i2c3下有了设备节点,但是时钟需要改成sai1的。
3、修改pinctrl_sai1并注释pinctrl_sai1_dsd,i.mx8mm的默认设备树已经写好了sai1的pinctrl。
4、修改sai1节点,如下图所示,复制sai2节点替换sai1,修改成sai1的参数。
2、修改思路我们在修改音频芯片挂载路径时的思路是这样的:
1. 屏蔽默认的挂载路径;
2. 将音频设备的节点添加到要挂载的i2c和sai下;
3. 修改pinctrl引脚复用;
4. 屏蔽默认wm8960的引脚配置。
本文介绍的wm8960挂载方式与板载默认音频芯片属于同一型号,如果需要挂载其他型号音频芯片,则需要在sound节点指定驱动路径。
cpu-dai 表示要使用的sai通道,默认为sai2本文使用sai1就修改成sai1即可; audio-codec 属性就是i2c3下的wm8960节点。
设备树sound节点:
imx-wm8960.c驱动文件的.compatible属性:
3、总结设备树sound节点下compatible属性对应音频驱动文件imx-wm8960.c里的.compatible,由此设备与驱动便有了联系,驱动就可以在设备节点获取关键字model,cpu-dai等信息。
当换成其他音频芯片时,修改设备树compatible属性值即可修改音频设备的配置也变得简单起来,这也是linux分离出设备树的主要原因。
本文提供的方法是在屏蔽默认音频设备的前提下进行的,想要实现双路音频输出还需要在其他环节进行配置。以上就是在okmx8mm-c开发板的i2c3挂载wm8960音频芯片并通过sai1连接传输音频数据的操作过程,希望能够对屏幕前的各位工程师小伙伴有所帮助。

智能音箱热度不减 阿里百度继续发布新品
电容器的直标法
运算放大器的可用输出摆幅范围计算及跨阻放大器的设计
恒讯科技分析:Linux VPS服务器之CentOS和Ubuntu的区别
采用高压背光逆变器改善液晶电视性能
I2C3挂载wm8960音频芯片 | 飞凌干货笔记
6G通讯将5G+卫星网络模式来实现全球覆盖
快讯:Keep回应将冲刺IPO Cree将更名Wolfspeed 蔚来毛利率持续提升
在应用系统中实现多个ADC通道的利弊
LT8610降压型稳压器的性能特点及应用分析
基于NV040D-SOP8语音芯片的防狼报警器方案
网络安全资金对于企业是个怎样的存在
通过PLC远程监控来实现智能家居,未来生活将更加智能
如何将数据驱动下的机器学习应用于算法交易
应对老龄化和残疾人的护理 家用服务机器人市场份额将进一步上升
低噪声高速差分放大器ADA4927的性能特点及应用范围
我们常用的无刷电机里面究竟有些什么技术?
怎样启动PLCSIM软件呢?
徐樑华:坚守碳纤维基础研究,打破国产高性能碳纤维对标困境
T-Box市场研究:市场规模将达百亿,集成化趋势日益明显