文档说明

本文档以SC826为例(MSM8953平台,Android 7),描述如何移植FM芯片RDA5807M驱动。

移植修改

1):rdafm_drv.c rdafm_drv.h 放到kernel以下目录 (驱动源码在文末)

patch:sc826-audio/kernel/msm-3.18/sound/i2c

如图:

2):修改sc826-audio/kernel/msm-3.18/sound/i2c 下面的Makefile

增加 fm的驱动编译 obj-m := rdafm_drv.o 如下图

3):把编译好的rdafm_drv.ko push 到板子的/data下面

3.1):adb push C:甥敳獲adminDesktopimagedafm_drv.ko /data/

(C:甥敳獲adminDesktopimagedafm_drv.ko 换成自己 rdafm_drv.ko的路径)

3.2):adb root

3.3):adb remount

3.4):adb shell

3.5): chmod 777 /data/rdafm_drv.ko

3.6):insmod /data/rdafm_drv.ko

3.7):dmesg (有下图的打印就说明fm正常工作了)

4):驱动函数接口

4.1):写寄存器 static int RDAFM_write(struct i2c_client *client, uint8_t addr, uint16_t val);

4.2):读寄存器 static int RDAFM_read(struct i2c_client *client, uint8_t addr, uint16_t *val);

4.3):设置固定频率测试函数 static void fm_test_tune(int mode, int freq);

5):驱动在设备树上挂载,kernel 设置dtsi,如下图

路径:arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-sc826-evk.dtsi

改动:

 --- a/arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-sc826-evk.dtsi+++ b/arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-sc826-evk.dtsi@@ -193,9 +193,17 @@ &i2c_8 { /* bd37033 */ status = "okay";  + rda5807@11 { + compatible = "rda5807,fm"; + reg = <0x11>; + status = "okay"; + }; };

备注 :1):FM的天线记得接上

2):PA功放的声频的入口需要调成FM对应的入口,操作如下

2.1):cd sys/bus/i2c/devices/8-0040 //进入sys/bus/i2c/devices/8-0040目录下

2.2):控制音量接口

echo w 0x20 0x8a >com_test //语音增益控制

echo w 0x06 0x03 >com_test //输入增益控制

2.3):把声音切换到FM

echo w 0x05 0x00 >com_test //切换输入通道到fm

2.4):把声音切换回系统

echo w 0x05 0x02 >com_test //切换输入通道到系统

3):RDA5807M驱动源码

https://uploader.shimo.im/f/aNwjlxthkS8qjFI1.h?attname=rdafm_drv.h&download

https://uploader.shimo.im/f/FvcisX5tsigkWS72.c?attname=rdafm_drv.c&download

c++驱动键鼠源码_Android移植FM芯片RDA5807M驱动指导相关推荐

  1. c++驱动键鼠源码_DD驱动级虚拟键鼠套装

    [实例简介] DD驱动级虚拟键鼠套装是一款真正的驱动级硬件模拟.DD驱动级虚拟键鼠套装一键安装,即为电脑添加一对可完全编程控制的键盘鼠标,轻松自动化操作电脑.适用VB6, DELPHI, VC, BC ...

  2. c++驱动键鼠源码,C++ 驱动打印机源码

    [实例简介]新烨打印机官方SDK [实例截图] [核心代码] 芯烨动态库文件发布 └── version ├── JsPrinterDll.dll ├── JsPrinterDll_64.dll ├─ ...

  3. 驱动专题:源码编写 17 dm9000网卡设备驱动

    汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381 dm9000网卡驱动 /*dm9ks.c: Version 2.08 ...

  4. 【RTX操作系统教程】第6章 RTX操作系统源码方式移植

    原文来源:http://forum.armfly.com/forum.php?mod=viewthread&tid=16616&highlight=RTX%B2%D9%D7%F7%CF ...

  5. 第6章 RTX 操作系统源码方式移植

    以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章教程为大家将介绍 RTX 操作系统源码方式移植,移植工作比较简单,只需要用户添加需要的源码文件即可, ...

  6. FreeRTOS之Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)

    源:FreeRTOS之Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)

  7. android ctrl 左键鼠标左键直接打开xml文件夹,设置Android Studio通过Ctrl+左键查看源码...

    开始学习android的时候希望能点进系统提供的控件中查看源码,但是实际操作发现,看到的每个源文件方法都是抛出的Exception,所以想要设置成可以直接查看具体实现,记录下我自己的操作方法. 1.首 ...

  8. FreeRTOS之源码 及 移植详解

    源:FreeRTOS之源码 及 移植详解 转载于:https://www.cnblogs.com/LittleTiger/p/9117856.html

  9. Linux驱动开发 / fbtft源码速读

    哈喽,老吴又来分享学习心得啦~ 一.目标与体系 目标是关于你想要达到的结果,而体系是涉及导致这些结果的过程; 目标的意义在于确定大方向,但体系才能促进进步.完全忽略目标,只关注体系,仍然会成功. 结果 ...

最新文章

  1. 美国新规:自动驾驶车,从此不需要驾驶位了
  2. matlab 求附近的根,求近似根的算法-matlab实现 | 学步园
  3. Python监听剪切板的两种方法
  4. PHP 拓展 开发,开发php扩展
  5. python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...
  6. php下的原生ajax请求
  7. java 性能调优_Java性能调优调查结果(第一部分)
  8. wince6下usb摄像头(UVC)使用指南
  9. 从数据类型 nvarchar 转换为 numeric 时出错_JS入门篇(三):javascript的数据类型详解...
  10. POJ 2762 Going from u to v or from v to u? (判断单连通)
  11. 今天被公司安排给候选者进行初面,分享我的6道面试题
  12. 2021年深度学习哪些方向比较新颖,处于上升期或者朝阳阶段,比较有研究潜力?
  13. 计算机桌面性能4.4怎么办,台式CPU性能怎么看?桌面CPU天梯图2018年1月更新版 (全文)...
  14. Costco市值10年增长5倍的秘诀:水坝式经营
  15. 四阶龙格-库塔法求解常微分方程的初值问题
  16. 搭建网站,需要几种服务器?
  17. XML:Schema、三种编写Schema的方式
  18. 人民币为什么会贬值?
  19. Cyprss串行铁电存储器64Kbit FM25CL64B-GTR
  20. 稳健经营,龙光集团成为“中国地产上市公司财务稳健奖”获得者之一

热门文章

  1. 深度融合 | 当推荐系统遇见知识图谱(三)
  2. python中右对齐_python中如何右对齐-问答-阿里云开发者社区-阿里云
  3. 新手如何创建Facebook广告账户?
  4. 独立站现在好不好做?
  5. 机器学习-吴恩达-笔记-13-大规模机器学习
  6. 软件架构-里氏替换原则
  7. Android调用相册、相机(兼容6.0、7.0、8.0)
  8. css3 shapes是什么意思,CSS Shapes有哪些让人兴奋之处
  9. 若依如何修改数据监控登录账户密码?
  10. Spring Boot RestTemplate 忽略证书访问https