msm7227平台Linux I2C驱动分析(2.6.29)(6)

9. 数据传输框架

I2C架构的读写支持两种类型,默认实现的操作是smbus协议,该协议与i2c协议类似,如果控制器不支持smbus,框架层可以用i2c_transfer模拟smbus的实现,系统默认的i2c传输函数一般都是基于i2c模拟的smbus方法传输的,如i2c_smbus_write_byte_data,i2c_smbus_read_byte_data等。

I2C协议的总线实现应该是I2C控制器,而不是SMBUS控制器, I2C协议和SMBUS协议不完成等同,SMBUS是I2C的子集,smbus由I2C衍生而来。smbus总线上传输的数据一定是I2C的格式的,但是SMBUS上传输的数据不一定能满足具体某个I2C从设备的通信要求(数据序列)。

下图以i2c_smbus_write_byte_data介绍数据流程:

msm7227平台Linux I2C驱动分析(2.6.29)

10. References

[1].

[2]. 《msm7227-I2C设备驱动实现要点.doc》 滕景东

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwswys.html