本文介绍一下linux驱动代码中i2c子系统的驱动代码结构和使用方法,示例平台文件为高通msmXXXX平台
一,i2c子系统代码结构
3,将操作逻辑通过EXPORT_SYMBOL导出到整个内核,供其他基于i2c的设备驱动调用
i2c-dev.c
实现i2c基本read、write功能,创建/dev/i2c-x节点
bus文件夹中的i2c-msm-v2.c
对i2c_core中物理层相关的操作进行实现,如clk配置、收发函数等等
二,i2c-dev中对i2c-croe的使用
一,i2c子系统代码结构
i2c-core.c
1,使用bus_register进行总线注册
2,提供与具体硬件无关的操作逻辑供i2c-dev.c中使用3,将操作逻辑通过EXPORT_SYMBOL导出到整个内核,供其他基于i2c的设备驱动调用
i2c-dev.c
实现i2c基本read、write功能,创建/dev/i2c-x节点
bus文件夹中的i2c-msm-v2.c
对i2c_core中物理层相关的操作进行实现,如clk配置、收发函数等等
二,i2c-dev中对i2c-croe的使用