奕力触摸IC Linux I2C驱动文档 V0_0_0_7

需积分: 50 6 下载量 177 浏览量 更新于2024-08-05 收藏 752KB PDF 举报
"奕力(ILITEK)提供的Linux I2C驱动文档,适用于触摸IC,版本V0_0_0_7,详细介绍了如何在Linux系统中集成和使用ILITEK的触摸屏驱动,支持多种平台如Qcom、Rockchip、MTK、Allwinner、Amlogic等。文档包含了驱动的总体描述、头文件宏定义、代码部分说明、功能解释以及常见问题解答。" **1. 总体描述** ILITEK_LINUX_I2C_DRIVER文档主要目的是为奕力的触摸IC提供一个通用的Linux I2C驱动。该驱动程序旨在整合不同平台的特性,通过共享通用代码和区分特定平台的部分来实现跨平台兼容。在编写Makefile时,需要注意根据平台选择编译相应的文件。对于非MTK平台且采用非dts方式的,需启用MTK_UNDTS宏。在`ilitek_ts.h`头文件中,用户可以根据需要设置支持的芯片型号(如ILI230X、ILI231X、ILI251X)以及I2C设备地址(7位为0x41)。此外,驱动还支持开机自动升级,可以选择使用ili文件或bin文件进行升级,并支持Qcom、Rockchip、MTK(dts方式)、Allwinner、Amlogic等平台。 **2. 标头文件中的相关宏说明** `ilitek_ts.h`和`Ilitek_common.h`是驱动的头文件,其中包含了驱动所需的各种头文件、宏定义和函数声明。这些宏用于指定平台、芯片型号、I2C地址以及其他配置,使得驱动能够适应不同的硬件环境。 **3. 部分代码说明** - `ilitek_platform_init.c`: 这个文件负责平台的加载和初始化,处理与硬件平台相关的设置。 - `ilitek_main.c`: 驱动的主要实现文件,包括了探针(probe)功能、GPIO注册、读取触摸屏信息、输入设备注册、报点处理、休眠唤醒等功能。 - `ilitek_update.c`: 包含了驱动升级IC固件的具体实现,允许用户更新触摸IC的固件。 - `ilitek_tool.c`: 用于支持TouchUtility APK和其他工具,方便进行触摸屏的调试和维护。 **4. 相关功能说明** 驱动提供了多种功能,包括但不限于: - 平台适配:根据不同的SoC平台调整驱动行为。 - GPIO管理:注册和管理与触摸屏交互的GPIO引脚。 - TP信息读取:获取触摸屏的配置和状态信息。 - 输入设备注册:将触摸屏作为Linux系统的输入设备进行注册,以便接收和处理触摸事件。 - 报点处理:解析并处理来自触摸屏的触控点数据。 - 固件升级:通过I2C接口对触摸IC进行固件更新。 - 休眠唤醒:支持设备的休眠和唤醒操作,确保触摸功能在设备电源管理模式下正常工作。 **5. 常见问题** 文档中可能还包含了常见问题及解决方法,帮助开发者在遇到问题时快速定位和解决问题,确保驱动的正常运行。 ILITEK的Linux I2C驱动文档提供了一个全面的框架,使得开发者可以轻松地在各种Linux平台上集成和优化奕力的触摸IC,以满足不同设备的触摸输入需求。通过理解并应用文档中的内容,开发者能够有效地调试和维护触摸屏驱动,确保其在不同环境下的稳定性和性能。