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许可证,代码没有采用模块方式,所以使用本驱动前需要重新编译内核。在编译内核

前,我们需要做好以下准备工作: