在linux内核启动的时候最先执行的和I2C子系统相关的函数应该是driver/i2c/i2c-core.c文件中的i2c_init()函数。 1.bus_register(&i2c_bus_type)注册i2c总线 该函数执行完会在/sys/bus目录下创建i2c子目录,并在i2c子目录下创建de ...
分类:
其他好文 时间:
2016-12-25 01:19:29
阅读次数:
257
设备和CPU连接方式1)gpio连接设备(LED按键)2)ram-like会使用到数据线,地址线,控制线nandDDRAMDM90003)协议类型接口i2cspiusbuart按照总线设备来完成AT24C02的驱动程序1,总线i2c总线也是设备该设备也应该实现驱动程序,该驱动程序完成的功能就是按照i2c协议的要求收发数..
分类:
其他好文 时间:
2016-12-08 12:03:18
阅读次数:
176
rx-8025是片外I2C实时时钟,其应用于9260板卡方法如下。总体思想是配置内核添加驱动(I2C驱动,内核已提供的很完备),板级文件添加设备,添加设备文件以应用程序操作。 1. 配置内核 1)I2C支持(可选择debug信息)。 2)I2Chw选择gpio作为I2C硬件。 3)不选择片上RTT, ...
分类:
其他好文 时间:
2016-10-23 18:14:31
阅读次数:
377
1. 框架1.1 硬件协议简介1.2 驱动框架1.3 bus-drv-dev模型及写程序a. 设备的4种构建方法a.1 定义一个i2c_board_info, 里面有:名字, 设备地址 然后i2c_register_board_info(busnum, ...) (把它们放入__i2c_board_ ...
分类:
其他好文 时间:
2016-09-02 20:28:35
阅读次数:
226
i2c_add_driver i2c_register_driver driver->driver.bus = &i2c_bus_type; driver_register(&driver->driver); list_for_each_entry(adapter, &adapters, list) ...
分类:
其他好文 时间:
2016-09-02 20:19:18
阅读次数:
286
v4l2-common.h 对一个I2C驱动添加v4l2_subdev支持的建议方式是将v4l2_subdev嵌入到每一个I2C设备实例的state struct。如果设备非常简单,可以直接创建v4l2_subdev。 典型的state struct类似如下: v4l2_subdev结构体的初始化: ...
分类:
其他好文 时间:
2016-08-17 15:25:19
阅读次数:
625
include/linux/i2c.h struct i2c_msg;struct i2c_algorithm;struct i2c_adapter;struct i2c_client;struct i2c_driver;union i2c_smbus_data; I2C驱动主要包含三部分:I2C核 ...
分类:
系统相关 时间:
2016-08-15 00:02:47
阅读次数:
358
1. 添加I2C 设备 TP 一般采用的是I2C 作为数据和命令接口,所以TP 驱动也可以归类为I2C 驱动。TP驱动的主要逻辑不在这里,但是了解了Linux 的I2C 体系架构,就可以对整个驱动流程有了 更加清晰的认识,但这里不详细展开讨论I2C 的体系架构,只围绕怎么移植开发TP 驱动展开讨论。 ...
分类:
移动开发 时间:
2016-07-25 14:37:46
阅读次数:
509
内核版本:linux2.6.32.2
硬件资源:s3c2440
参考: 韦东山SPI视频教程
内容概括:
1、I2C 驱动框架回顾
2、SPI 框架简单介绍
3、master 驱动框架
3.1 驱动侧
3.2 设备侧
4、SPI 设备驱动框架
4.1 设备层
4.2 驱动层
5、设备...
分类:
其他好文 时间:
2016-06-24 15:36:24
阅读次数:
436
开发板:mini2440
内核版本:linux2.6.32.2
内容概括:
1、adapter client 简介
2、adapter 驱动框架
2.1 设备侧
2.2 驱动侧
2.2.1 probe 函数
2.2.1.1 注册adapter
new_device de...
分类:
其他好文 时间:
2016-06-21 07:53:37
阅读次数:
243