文件说明
本文以SC826为例使用MSM8953,并使用Android7来说明如何移植FM芯片RDA5807M驱动。
迁移修复
1)rdafm_drvcrdafm_drvh位于内核下的目录中。驱动源码在文章最后。
patch:sc826-音频/内核/msm-318/声音/i2c
如图所示
2)修改sc826-audio/kernel/msm-318/sound/i2c下面的Makefile。
添加fm驱动编译obj-m:=rdafm_drvo如下所示。
3):将编译好的rdafm_drvko推送到板上的/data。
31):adbPushC:UsersadminDesktopimage
dafm_drvko/数据/
C:用户管理桌面映像
将dafm_drvko替换为您的rdafm_drvko路径。
32):adb根
33):adb重新安装
34):亚行外壳
35)chmod777/数据/rdafm_drvko
36)insmod/数据/rdafm_drvko
37)dmesg
4)驱动函数接口
41):写入寄存器staticintRDAFM_writestructi2c_clientclient,uint8_taddr,uint16_tval;
42):读取寄存器staticintRDAFM_readstructi2c_clientclient,uint8_taddr,uint16_tval;
43):设置固定频率测试函数staticvoidfm_test_tuneintmode,intfreq;
5)驱动程序被挂载到设备树中,内核设置dtsi,如下所示。
路径arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-sc826-evkdtsi
改变
---a/arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-sc826-evkdtsi+++b/arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-sc826-evkdtsi-193,9+193,17i2c_8;
注意1)不要忘记连接FM天线。
2)PA功放的音频入口必须调整到FM对应的入口。它的工作原理如下
21):cdsys/bus/i2c/devices/8-0040//进入目录sys/bus/i2c/devices/8-0040
22)控制音量界面
echow0x200x8agt;com_test//语音增益控制
echow0x060x03gt;com_test//输入增益控制
23)将声音切换至FM。
echow0x050x00gt;com_test//切换输入频道为FM
24)将声音切换回系统。
echow0x050x02gt;com_test//切换输入通道到系统
3)RDA5807M驱动源码
No Comment