[MTK软件原创] [I2C]如何在lk和preloader阶段进行i2c通讯
2017-06-17 12:20
253 查看
[DESCRIPTION]
kernel起来后,i2c通讯可以通过linux的标准接口进行通讯,但有时候也会在lk接单或这preloader阶段进行通讯,在此阶段mtk 提供了相关的API,可以调用进行通讯
[PLATFORM]
MT6575 MT6577 MT6589 MT6572
[SOLUTION]
以89为例,preloader和lk的文件路径如下:
alps\mediatek\platform\mt6589\preloader\src\drivers\mt_i2c.c
alps\mediatek\platform\mt6589\lk\mt_i2c.c
1.使用前先初始化:
调用mt_i2c_init(), 在此函数内调用mt_i2c_channel_init()初始化对应的i2c通道
2. 对mt_i2c_t结构初始化,设定工作参数,如下,设定好i2c通道,地址,速度和方向等,在此阶段目前暂时不支持dma传
输方式,speed为400就是400kbps,mode为 高速模式,标准模式,快速模式
![](http://bbs.16rd.com/data/attachment/forum/201605/12/153933tb6znntz6hf6ebe6.png)
3. 初始化完成后即可进行读写操作:调用mt_i2c_read_new();mt_i2c_write_new()等接口
kernel起来后,i2c通讯可以通过linux的标准接口进行通讯,但有时候也会在lk接单或这preloader阶段进行通讯,在此阶段mtk 提供了相关的API,可以调用进行通讯
[PLATFORM]
MT6575 MT6577 MT6589 MT6572
[SOLUTION]
以89为例,preloader和lk的文件路径如下:
alps\mediatek\platform\mt6589\preloader\src\drivers\mt_i2c.c
alps\mediatek\platform\mt6589\lk\mt_i2c.c
1.使用前先初始化:
调用mt_i2c_init(), 在此函数内调用mt_i2c_channel_init()初始化对应的i2c通道
2. 对mt_i2c_t结构初始化,设定工作参数,如下,设定好i2c通道,地址,速度和方向等,在此阶段目前暂时不支持dma传
输方式,speed为400就是400kbps,mode为 高速模式,标准模式,快速模式
![](http://bbs.16rd.com/data/attachment/forum/201605/12/153933tb6znntz6hf6ebe6.png)
3. 初始化完成后即可进行读写操作:调用mt_i2c_read_new();mt_i2c_write_new()等接口
相关文章推荐
- 【原创】多台电脑如何公用一个键盘鼠标进行操作 - Mouse with Borders 软件
- 【转】[MTK软件原创] [SELinux] 如何设置确认selinux模式
- Qcom LK阶段如何使用I2C介绍
- 看看别人是如何进行软件项目管理的
- 如何对软件项目团队成员进行角色和岗位的划分
- 如何在软件开发团队中进行有效沟通
- 如何有效进行软件开发团队的管理?
- 如何进行软件架构设计?
- [原创]WCF技术剖析之三:如何进行基于非HTTP的IIS服务寄宿
- [原创]如何用CruiseControl.Net来进行持续化集成
- 如何进行软件需求分析
- 如何进行软件需求分析
- [原创]如何切换VC的默认源程序控制软件
- [原创]我的WCF之旅(9):如何在WCF中使用tcpTrace来进行Soap Trace
- 如何对软件质量进行评估?
- 如何对软件项目团队成员进行角色和岗位的划分
- 软件销售:如何进行现场演示(一) 建立演示心态和准备演示环境和检查设备
- [原创]WCF后续之旅(2): 如何对Channel Layer进行扩展——创建自定义Channel
- [原创]如何在Windows下安装Jira问题跟踪及软件管理工具
- 在Oracle中如何将varchar2与nvarchar2进行互相转换?[原创]