慢行者
发布时间:2013-05-10 20:12:54
上一篇文章讲述了i2c子系统体系结构,总线驱动、设备驱动的知识点,下面就s3c2440 i2c总线驱动的实现详细讲解,它的源码位于drivers/i2c/busses/i2c-s3c2410.c一、i2c平台设备资源 iic驱动中使用的平台设备与前面看门狗、rtc等方式原理相同,但定义路径有所不同,并且设置了额外一些.........【阅读全文】
发布时间: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控制器.........【阅读全文】