MTK 触摸屏驱动总结
5星 · 超过95%的资源 需积分: 50 178 浏览量
更新于2024-09-10
2
收藏 3KB TXT 举报
"MTK TP总结"
MTK TP(Touch Panel)是MTK(MediaTek)公司处理器平台中关于触摸屏驱动的一部分。在Android系统中,触摸屏驱动通常基于I2C(Inter-Integrated Circuit)总线通信协议,因为许多触摸控制器芯片通过I2C接口与主处理器连接。本文档主要总结了MTK平台上关于I2C驱动和TP驱动的相关结构体、函数以及配置方法。
首先,`struct i2c_board_info` 是定义I2C设备信息的结构体,包含了以下字段:
1. `type`: 设备类型,用于标识I2C设备的名称,大小限制为`I2C_NAME_SIZE`个字符。
2. `flags`: 设备标志,如是否需要重试传输等。
3. `addr`: I2C设备的7位地址。
4. `platform_data`: 用于传递特定平台的数据到驱动程序。
5. `archdata`: 设备的架构相关数据。
6. `of_node` 和 `acpi_node`: 分别用于设备树和ACPI(Advanced Configuration and Power Interface)描述设备的节点。
接着,`struct i2c_devinfo` 结构体扩展了 `struct i2c_board_info`,增加了`busnum`字段,表示设备所在的I2C总线号。
在文档中,`tpd_device_driver` 和 `tpd_i2c_driver` 是两个驱动程序的结构体实例,分别代表TPD(Touch Panel Device)驱动和I2C驱动。它们定义了驱动的相关操作函数,例如:
- `tpd_local_init`: TPD设备的本地初始化函数。
- `tpd_suspend` 和 `tpd_resume`: 分别对应设备的挂起和恢复操作,用于电源管理。
- `tpd_i2c_probe` 和 `tpd_i2c_remove`: 分别在检测到设备时调用的探测函数和在设备移除时调用的函数。
- `tpd_i2c_detect`: 设备检测函数,用于自动检测I2C总线上的设备。
此外,`tpd_i2c_driver` 结构体中的 `.driver` 字段包含驱动的名称、所有者(在某些情况下是 `THIS_MODULE`,表示当前模块),以及`probe`、`remove`等函数指针。
`#define I2C_BOARD_INFO(dev_type, dev_addr)` 宏定义用于创建 `struct i2c_board_info` 的便捷方式,它将设备类型和地址赋值给结构体。
最后,`static struct i2c_board_info __initdata gslX680_i2c_tpd` 使用上述宏定义了一个具体的I2C设备实例,类型为GSLX680,这通常是触摸控制器的型号。
这个文档涵盖了MTK平台中触摸屏驱动的I2C配置和驱动程序的实现细节,包括结构体定义、函数指针以及设备注册和操作的方法。这些内容对于理解和调试基于MTK平台的触摸屏驱动至关重要。
231 浏览量
114 浏览量
2012-02-23 上传
102 浏览量
471 浏览量
526 浏览量
1440 浏览量
724 浏览量
qq_31246191
- 粉丝: 0
- 资源: 3
最新资源
- hi-nest:通过制作适合企业使用的API来学习NestJS
- codethesaur.us:该网站可帮助您从已经知道的语言中学习一种新的语言! 代码库
- RestoApp:餐厅管理应用程序-管理订单,菜单,预订,座位表可用性,计费等!
- Nanomsg是现代消息传递库,它是ZeroMQ的后继者-Rust开发
- 四信通信 F2X03 IP Modem参数配置软件.zip
- 行业文档-设计装置-高仿真胃镜教学模型.zip
- dotfiles:配置文件和相关设置
- core-renderer-R8pre1.jar
- spring-boot-grpc-example
- 视觉锻炼计划者数据库
- Windows开发实用工具包
- MethodOverloading
- 华为EC5805无线上网终端使用说明.rar
- 小米mix4 一键安装 twrp
- 用于Rust的强类型YAML库-Rust开发
- JAudiotagger:从https分叉