linux内核的I2C子系统详解4——i2c-s3c2410.c文件中的adapter、algorithm

来源:互联网 发布:软件的demo片 编辑:程序博客网 时间:2024/05/16 17:58

以下内容源于朱有鹏《物联网大讲堂》课程的学习,如有侵权,请告知删除。

主要分析i2c-s3c2410.c文件。

8、adapter模块的注册

(1)平台总线方式注册

  • 因为I2C控制器属于内部外设。

(2)找到driver和device,并且确认其配对过程(在platform.c中由匹配函数来匹配);




(3)probe函数

9、probe函数分析

(1)填充一个i2c_adapter结构体,并且调用接口去注册之;

(2)从platform_device接收硬件信息,做必要的处理(request_mem_region & ioremap、request_irq等);

(3)对硬件做初始化(直接操作210内部I2C控制器的寄存器)


10、i2c_algorithm

(1)probe函数中有代码:i2c->adap.algo    = &s3c24xx_i2c_algorithm;


(2)s3c24xx_i2c_doxfer

  • 信息传输函数



(3)functionality:表明I2C接口支持哪些特性。