arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  512 随笔 :: 0 文章 :: 48 评论 :: 115万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Linux I2C 子系统

摘要:1 Linux I2C驱动架构Linux下I2C驱动的架构图如下:图1.1 Linux下I2C驱动架构 如上图所示,每条I2C总线会对应一个adapter,而每条I2C总线上则可以有多个client,在linux kernel中,通过I2C core层将I2C client与I2C adapter关联起来,Linux 中I2C驱动代码位于drivers/i2c目录。 Linux中I2C可以分为三个层次,分别为I2C core层、I2C adapter driver层、I2C device driver层。1.1 I2C core层 I2C core是用于维护Linux的I2C核心部分,提供了核 阅读全文
posted @ 2011-12-15 23:18 arm-linux 阅读(1963) 评论(0) 推荐(0) 编辑

摘要:------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线.另外,I2C是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而I2C是基于multi master机制.一同总线上可允许 阅读全文
posted @ 2011-01-19 13:06 arm-linux 阅读(2426) 评论(0) 推荐(0) 编辑

摘要:i2c-s3c2410.c======================module_init(12c_adap_s2c_init)module_init申明函数static int __init i2c_adap_s3c_init(void){int ret;ret = platform_driver_register(&s3c2410_i2c_driver);if (ret == 0) { ret = platform_driver_register(&s3c2440_i2c_driver); if (ret) platform_driver_unregister(& 阅读全文
posted @ 2011-01-18 21:07 arm-linux 阅读(2471) 评论(0) 推荐(0) 编辑

摘要:在目录/sys/bus/i2c/devices下能发现系统中的I2C设备,如下:view plaincopy to clipboardprint?# ls 0-0034 0-0030 0-0011 0-0058 # ls0-00340-00300-00110-0058 这些设备就是系统中存在的设备。这些设备是怎么来的?在你对应的machine配置里会执行“i2c_register_board_info”一个函数,它会将一个i2c_board_info的结构体注册进系统,这个i2c_board_info的结构体里就描述了板载的所有I2C设备信息,如下例:view plaincopy to cli 阅读全文
posted @ 2011-01-14 16:51 arm-linux 阅读(6611) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示