一、背景概述
系统进行OTA升级的时候,会启动一个小系统,但是进行UI操作时出现了触摸屏无法使用的情况。因为之前用的Linux Driver的方式去配置的触摸屏,而OTA升级的时候,上层适配的是HDF版本的触摸屏驱动。因此需要在RK3568平台上适配HDF TouchScreen Driver。下文引出HDF和传统Linux驱动在TouchScreen方面配置的细节和区别,供大家学习和参考。
基于HDF驱动框架的Input驱动模型图
分析原因
触摸屏之前走的传统Linux驱动,没有配置HDF驱动,因此当系统进入到Updater的时候,就会出现上下层不匹配的问题。从ChipOps结构体中可以看到,HDF的GT9xx驱动会实现一个UpdaterFirmware的回调函数,来匹配上层的Updater应用,进行固件升级;而传统的Linux GT9xx Driver是没有实现相关功能函数的。
static struct TouchChipOps g_gt911ChipOps = {
.Init = ChipInit,
.Detect = ChipDetect,