[MTK软件原创] [I2C]如何在lk和preloader阶段进行i2c通讯

[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为 高速模式,标准模式,快速模式
[MTK软件原创] [I2C]如何在lk和preloader阶段进行i2c通讯_第1张图片 
3. 初始化完成后即可进行读写操作:调用mt_i2c_read_new();mt_i2c_write_new()等接口

你可能感兴趣的:(MTK6735)