慢行者
发布时间:2013-05-10 20:11:40
i2c子系统驱动(一)一、i2c体系结构 linux的i2c体系结构分为3个组成部分:i2c核心、i2c总线驱动、i2c设备驱动,如下图所示。i2c核心提供总线驱动和设备驱动的注册、注销方法,algorithm;i2c总线驱动对硬件体系结构中适配器的实现,主要包括适配器i2c_adapter、适配器通信算法i2c_al.........【阅读全文】
发布时间:2013-05-10 16:18:10
6 总结下图根据之前的分析丰富的架构图tips:i2c适配器驱动不一定是基于platform实现,这里是以s3c-i2c为例。i2c_driver、i2c_client与i2c_adapteri2c_driver与i2c_client是一对多的关系,一个i2c_driver上可以支持多个同等类型的i2c_client。调用i2c_add_driver函数将i2c_driver注册到i2c总线上.........【阅读全文】
发布时间:2013-05-10 16:17:19
5 客户驱动5.1 概述i2c客户驱动是对i2c从设备的实现,一个具体的i2c客户驱动包括两个部分:一部分是i2c_driver,用于将设备挂接于i2c总线;另一部分是设备本身的驱动。i2c客户驱动程序主要由i2c_driver和i2c_client来描述。5.2 实例源码分析好了,我们来深入了解客户驱动代码的实现,drivers/mis.........【阅读全文】
发布时间:2013-05-10 16:16:42
4 总线驱动4.1 概述i2c总线驱动是i2c适配器的软件实现,提供i2c适配器与从设备间完成数据通信的能力,比如起始,停止,应答信号和master_xfer的实现函数。i2c总线驱动由i2c_adapter和i2c_algorithm来描述4.2 s3c2440i2c控制器的硬件描述s3c2440处理器内部集成了一个i2c控制器.........【阅读全文】
发布时间:2013-05-10 16:13:52
2 i2c子系统2.1 linuxi2c子系统架构在内核中已经提供i2c子系统,所以在做i2c驱动之前,就必须要熟悉该子系统。2.2 三大组成部分1、i2c核心(i2c-core)i2c核心提供了i2c总线驱动和设备驱动的注册、注销方法,i2c通信方法(algorithm)上层的、与具体适配器无关的代码以及探测设备、检测设.........