Rockchip平台TP驱动详解(5)

2019-01-26 14:30

return rc; } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

? ? ? ? ? ? ? ? ? ? ? ?

85 86 87 88 89 90 91 92 93 94 95 96

在gslX680_ts_init()中主要做了如下工作:

配置获取坐标信息

每次当中断来了之后,就要求通过i2c去读取坐标的信息,至于从哪里读取以及读取多少个,都是通过ts->dd来决定的。

为存储坐标信息申请空间

坐标信息放在ts->touch_data中。

申请及初始化input_dev设备,向input子系统注册该设备

这里面的内容涉及到input子系统,我还没有做过深入的了解。

初始化工作 ts->work

ts->work对应的操作为gslX680_ts_worker(),在中断来了之后,会

queue_work(ts->wq, &ts->work);让ts->work工作起来,就会去读取坐标等信

息,然后通过input子系统上报给Android系统。

(6)、获取属性信息

通过of_接口获取revert_x和revert_y的信息,以此来决定坐标是否要翻转。

(7)、初始化ic

初始化的内容会放到一个全局的数组之中,这项工作一般都要FAE来完成。

(8)、申请中断号以及中断服务子程序 通过devm_request_threaded_irq接口为设备申请一个中断服务子程序gsl_ts_irq(),触发方式为irq_flags即IRQ_TYPE_LEVEL_HIGH高电平触发。 (9)、配置休眠唤醒 在前面说过,tp的休眠唤醒是通过LCD亮暗屏来决定的,这个动作由tp_register_fb()来实现。 ts->tp.tp_resume = gsl_ts_late_resume; ts->tp.tp_suspend = gsl_ts_early_suspend; tp_register_fb(&ts->tp); ? ? ? 1 2 3 注:如果申请资源出错的话一定要记得释放资源以及前面的资源。比如说这里为ts申请的内核空间、申请的中断号、申请的input设备、申请的工作队列。 上述probe()配置完成之后就是等待中断,如果中断到来,关闭中断,启动工作去读取坐标等信息并通过input子系统上报,之后再使能中断。如此反复。 4、中断服务子程序 static irqreturn_t gsl_ts_irq(int irq, void *dev_id) { struct gsl_ts *ts = dev_id; print_info(\======\\n\ disable_irq_nosync(ts->irq); if (!work_pending(&ts->work)) { queue_work(ts->wq, &ts->work); } return IRQ_HANDLED; } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

一旦有中断到来,立马调用gsl_ts_irq(),在这个中断服务子程序中先判断

ts->work是否挂起,如果没有挂起就启动工作队列ts->wq的工作ts->work。ts->work与gslX680_ts_worker()对应,主要用来读取坐标信息。

5、休眠唤醒

关于休眠和唤醒的内容根据ic的特性设置。如休眠的时候需要关闭中断、配置进入休眠模式、拉低wake引脚。唤醒的时候唤醒ic,使能wake引脚、使能中断等。


Rockchip平台TP驱动详解(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年湖北省荆州市中考化学试卷(附解析)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: