慢行者
发布时间: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)上层的、与具体适配器无关的代码以及探测设备、检测设.........【阅读全文】