RK28 Linux I2C驱动使用指南

需积分: 5 0 下载量 192 浏览量 更新于2024-08-05 收藏 188KB DOC 举报
"RK28Linux-I2C 使用说明文档主要介绍了如何在 RK28 平台上基于 Linux 操作系统使用 I2C 总线驱动。文档覆盖了版本信息、模块功能、设计思路、流程、资源占用、目录结构、接口函数、注意事项以及遗留问题。通过阅读这份文档,开发者可以了解如何添加设备描述符、注册驱动、设备探测以及初始化客户端数据,以实现对 I2C 设备的有效控制。" 本文档提供了在 Linux 环境下针对 RK28 平台进行 I2C 驱动使用的详细指南。首先,版本号和版本说明部分提到这是一个 0.91 版本的文档,创建于2009年7月20日,旨在简要介绍如何在 I2C 总线上挂载设备驱动。 模块功能描述指出,文档不深入探讨 I2C 总线驱动的复杂结构,而是关注如何在 I2C 总线上挂载设备驱动的基本步骤。为了实现这一目标,需要执行以下操作: 1. 添加设备描述符:在 `board-rk28.c` 文件的 `board_i2c_devices` 结构中定义设备信息,包括驱动名和设备类别,确保驱动名与驱动代码中的名称匹配。 2. 注册驱动:使用 `i2c_add_driver` 函数将设备驱动加载到 I2C 总线上,并提供初始化信息。示例中以 asb100 设备驱动为例,展示了如何定义驱动描述和相关初始化函数。 3. 驱动描述:定义的驱动描述包括驱动名、初始化函数(如 attach 和 detach 函数)等,这些函数用于设备的探测、初始化和私有数据管理。 4. 设备探测:`attach_adapter` 函数用于设备探测,它包含设备地址和私有探测函数。探测函数可以根据设备地址进行初始化和私有数据的设置。 5. 初始化客户端数据:在初始化 `client` 数据时,重点关注三个关键成员:地址段、访问模式和通道。地址段有多种类型,例如7位地址8位数据或10位地址16位数据等,根据实际设备特性选择合适的方式。 通过以上步骤,开发者可以在 RK28 Linux 平台上有效地利用 I2C 总线驱动与 I2C 设备进行通信。这份文档虽然没有涵盖所有细节,但对于理解基本的驱动注册和设备探测过程非常有帮助,是开发基于 RK28 的 I2C 应用的重要参考资料。