I2C系统框架:I2C核心层、I2C总线驱动、I2C设备驱动

--------------------------------------------------------------------------------

【I2C核心层】

代码在driver/i2c/i2c-core.c中

【I2C总线驱动】也叫I2C适配器驱动

1、每个适配器视为一个字符设备文件

代码在drivers/i2c/i2c-dev.c中

2、具体适配器的驱动

代码在driver/i2c/busses中,

如TI的I2c-omap.o,三星s3c系列的i2c-s3c2410.c等

3、使用struct i2c_adapter 描述适配器

使用struct i2c_algorithm来描述具体通信方法

【I2C设备驱动】

使用struct i2c_client 描述

【I2C适配器的设备接口】

在drivers/i2c/i2c-dev.c中实现

【IPNC中的i2c】

1、ipnc中的i2c设备:/sys/bus/i2c/devices/

1.1 1-0018(name=tlv320aic3104)

1.2 1-002d(name=tps65911)

1.3 i2c-1(name=OMAP I2C aadapter)

2、ipnc中的i2c驱动:/sys/bus/i2c/drivers/

1.1 tlv320aic3x-codec

1.2 tps65910

3、设备文件:/dev/i2c-1

4、在整个系统的位置:/sys/devices/platform/omap/omap_i2c.1

======================================================================

【I2C设备——音频】

1、硬件原理图

2、手册

TI官网http://www.ti.com.cn/product/cn/TLV320AIC3104/technicaldocuments

手册tlv320aic3104[1]中41页可见i2c地址为7位001 1000(0x18)

linux驱动:i2c驱动(一)相关推荐

  1. 【驱动】linux下I2C驱动架构全面分析

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  2. linux下I2C驱动发送IO时序,I2C驱动情景分析——怎样控制I2C时序

    内核版本:linux-3.4.2 源程序:    linux-3.4.2\drivers\i2c\busses\I2c-s3c2410.c 这次要解决的问题是:如何配置soc的I2C模块,输出想要的时 ...

  3. linux powerpc i2c驱动 之 i2c设备层的注册过程

    Linux下i2c驱动的加载过程,分为i2c设备层.i2c adapter层与i2c核心层 i2c设备驱动层也就是我们为特定i2c设备编写的驱动,下面是我自己理解的i2c驱动的注册过程 在我们写的i2 ...

  4. linux下I2C驱动架构全面分析

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  5. linux下I2C驱动体系结构及在FL2440开发板上的具体实现

    最近一段时间,我在网上看了一些关于linux下i2c的文档,对i2c有了一些较浅层次了解.写这篇博客,主要是对现在已经掌握知识的巩固. Linux下I2C驱动体系结构 Linux下I2C驱动体系结构由 ...

  6. linux下I2C驱动

    linux下I2C驱动(-) by good02xaut 最近的一段时间,总结一下linux下开发I2C设备驱动的要点.内容随想,没有多加整理. I2C协议规定了主机和从机的概念,在驱动中采用的多是适 ...

  7. linux驱动--i2c驱动学习

    转至:http://blog.csdn.net/ghostyu/article/details/8094049 预备知识 在阅读本文最好先熟悉一种i2c设备的驱动程序,并且浏览一下i2c-core.c ...

  8. Linux下I2C驱动框架全面解析

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  9. Zynq linux的I2C驱动学习笔记

    最近在用米尔的Z-TURN BOARD单板做小项目.顺便也加强学习I2C驱动,记一篇做记录.  I2C总线知识非常简单,SDA,SCL,他们的时序规则是:I2C总线是由数据线SDA和时钟SCL构成的串 ...

  10. linux下I2C驱动发送IO时序,Linux I2C 驱动阅读的碰到的一些网上没有提到的东西

    # re: Linux I2C 驱动阅读的碰到的一些网上没有提到的东西  回复  更多评论 2009-04-11 13:39 by 初学都 楼主,你好.我看了你那篇<Linux I2C核心.总线 ...

最新文章

  1. TMSScripter演示
  2. am82.top 1.php,Droppy v2.1.3 – PHP在线网盘系统
  3. 为什么选择springcloud
  4. 95-090-024-源码-bin脚本-CLI提交Job-Run详解
  5. 栈帧与操作数栈剖析及符号引用与直接引用的转换
  6. Linux学习笔记016---CentOS7虚拟机设置使用静态IP上网_配置集群的时候可以用
  7. 网络中最常用的网络命令(5)-完整参数
  8. 10通信端口感叹号_开源企业级微信小程序实时通信聊天室技术架构演练
  9. C# 使用 NPOI操作excle文件(读取与新建重写)
  10. PS2022新增功能简介
  11. Xiaojie雷达之路---车载雷达信号处理流程
  12. Cryengine渲染引擎剖析(转)
  13. 松翰单片机--SN8F5702学习笔记(四)ADC
  14. win10系统安装到服务器失败怎么解决,windows10安装失败怎么办?解决win10安装失败的方法教程[多图]...
  15. Docker安装教程(超详细)
  16. 教师资格证查询成绩网站服务器,教师资格证考试成绩查询系统
  17. 【leetcode 993】【二叉树的堂兄弟节点】
  18. 手机号码段简介以及最新手机号段归属地数据库(2018年7月1日)
  19. Android 淡出效果手写板
  20. Godot游戏开发实践之一:使用High Level Multiplayer API制作多人游戏(上)

热门文章

  1. 【MediaPipe】(3) AI视觉,人脸识别,附python完整代码
  2. 深度学习——数据预处理篇
  3. 光耦p621引脚图_开关电源中光耦电路的设计与优点
  4. Blender中的大师级3D环境场景制作学习教程
  5. C++中 public,protected, private 访问标号小结
  6. 轻量级git服务器 Gogs git 服务器搭建
  7. 在Vue的webpack中结合runder函数
  8. BZOJ 4595 SHOI2015 激光发生器 射线,线段,偏转
  9. codevs 1203 判断浮点数是否相等
  10. leetcode第一刷_Recover Binary Search Tree