您的位置:首页 > 其它

[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为 高速模式,标准模式,快速模式


 

3. 初始化完成后即可进行读写操作:调用mt_i2c_read_new();mt_i2c_write_new()等接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: