2024年3月25日发(作者:)
GT8xx多芯片模组应用于Android平台驱动移植说明书V1.5
【程序总揽】
本程序针对Android2.1系统,移植的硬件平台为华天正科技开发的Real6410(基于S3C6410)。本驱动支
持多指,通过编译宏开关能够支持三种运行方式;能够在系统支持的情况下在主控进入关屏状态时自动调整
GT8XX工作状态,达到省电的目的。
1.1 系统硬件资源使用
资源类型
外部中断(可选,建议使用)
GOODIX演示主控配置
硬件IO:S3C64XX_GPL(10)
作用
接收GT8XX的数据中断,通知系统
系统中断号:119((外部中断18),
运行相应的坐标处理;
触发类型可通过配置信息控制
IO口(Reset)(可选) 154(S3C64XX_GPF(3)),配置为输
出控制
I2C适配器(SCL、SDA)
I2C-0
在GT8XX睡眠时用作唤醒管脚
控制GT8XX运行状态,硬件复位
GT8XX(低有效)
GT8XX控制、数据传输
注:如需要支持GT8XX的睡眠功能,则INT管脚和Reset必选其一。
1.2 系统运行流程
为了便于移植,程序中采用了中断、中断+不定时查询和轮询三种方式,程序根据编译宏自动选择方式。
以边沿触发中断方式为例,系统的主运行流程如下所示:
1.
2.
创建GT8XX对应的i2c_client对象,其中完成了该适配器的相关信息设置(name,address等);
加载触摸屏驱动,注意该驱动必须在I2C总线驱动已经加载的情况下才能进行,否则I2C通信将
出错。程序中将其加载优先级设为最低;
3. 创建驱动结构体,探测GT8XX设备,并将其挂载到I2C总线驱动上;测试I2C通信,注册input
设备,申请IO口和中断资源,完成GT8XX初始化工作;
4.
5.
6.
7.
8.
开启触摸屏中断,等待数据接收;
收到触摸屏数据中断,关中断;
通过I2C传输数据,分析手指信息,;
更新按键信息,上报手指坐标、按键等信息,开中断;
重复4-7之间的循环。
开始
系统启动,创建触摸屏的
i2c_client,加载触摸屏驱动
创建i2c_driver结构体,执行
probe函数
设备探测成
功?
Y
开启触摸屏数据中断
等待
触摸屏中断
关闭中断,读取缓冲区数据,
对数据进行校验分析
有按压动作?
N
Y
N
读取触摸坐标、压力等信息
N
发送按键/松键信息,开中断
退出系统?
Y
注销设备,释放相关资源
结束
【移植指南】
1、 准备工作
本驱动采用GPL许可证,代码没有采用模块方式,所以使用本驱动前需要重新编译内核。在编译内核
前,我们需要做好以下准备工作:


发布评论