linuxidc.com/linux/2011-02/32496.htm" target="_blank">http://www.linuxidc.com/linux/2011-02/32496.htm
目录
1. 摘要 3
2. 简介 3
3. i2c架构 3
4. i2c总线初始化 4
5. i2c适配器驱动 5
6. i2c设备驱动 9
7. 用户空间驱动支持 12
8. 数据传输框架 16
9. References 16
1. 摘要
主要介绍Msm7227平台上i2c驱动原理,多数部分是29内核标准架构。...
最近在看linux 2.6.21内核的i2c驱动,也在网上查了一下资料,有错也有对,有些心得,记录下来吧。里面认识或许多有不当之处,还恳请指正。 1. i2c 协议 1.1 i2c总线工作原理 i2c总线是由数据线SDA和时钟SCL构成的串行总线,各种被控制器件均并联在这条总线上,每个器件都有一个唯一的地址识别,可以作为总线上的一个发送器件或接收器件(具体由器件的功能决定) 1.2 i2c总线的几种信号状态 1. 空闲状态:SDA...
/************************************************
i2c驱动组成有三部分: A.i2c 核心驱动 B. i2c总线驱动 C. i2c设备驱动 i2c驱动相关的重要结构: 1. /** * struct i2c_driver - represent an i2c device driver * @class: What kind of i2c device we instantiate (for detect) * @attach_adapter: Callback for bus addition (deprecated) * @detach_adapter: Callback for bus removal (deprecated) * @probe: Callback for device binding * @remove: Callback for...
最近因为工作需要涉及到了i2c总线。虽然我过去用过i2c,但看了 linux kernel 后才发现,一个 layer 能被做到这样完...
1. i2c-dev interface i2c dev-interface 通常,i2c设备由某个内核驱动控制。但是在用户空间,也可以访问某个i2c设备:你需要 加载i2c-dev模块。 每个被注册的i2c适配器(控制器)会获得一个数字号,从0开始。你可以检查 /sys/class/i2c-dev,来查看适配器对应哪个数字号。你也可以通过命令"i2cdetect -l"获 取你的当前系统的所有i2c适配器的列表。i2cdetct是i2c-tool包中的一个工具。 i2c设备文件是字符设备,主设备号是89,次设...
一:前言
i2c是philips提出的外设总线.i2c只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员
的布线.另外,i2c是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而
i2c 是基于multi master机制.一同总线上可允许多个master.关于i2c协议的知识,这里不再赘述.可自行下载spec阅读即可.
二:i2c架构概述
在linux中,i2c驱动架构如下所示:
<...
我的朋友eric的一篇文章分析 [color="#295200"] [color="#295200"]他的网站还有许多有意思的技术文章 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/110888/showart_2156650.html
一:前言 i2c是philips提出的外设总线.i2c只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线.另外,i2c是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而i2c是基于multi master机制.一同总线上可允许多个master.关于i2c协议的知识,这里不再赘述.可自行下载spec阅读即可. 二:i2c架构概述 在linux中,i2c驱动架构如下所示: 如上图所示,每一条...