Platform: ROCKCHIP
Chip: RK3399
OS: Android7.1.2
Kernel: 4.4.126

调试步骤

1、打开gt9xx的驱动:将 gt9xx 文件夹添加到编译中,修改 rockchip_defconfig 文件,或者在 kernel 中执行 make menuconfig 指令都可以

CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_GT9XX=y

2、1)查找原理图,查看其int rst管脚且看设备是在哪个i2c下



2)设备树里添加gt9xx节点
配置i2c通信地址、compatible属性值、中断管脚、复位管脚

/*添加触摸屏配置*/
&i2c3{status = "okay";//汇顶电容触摸屏gt9xx: gt9xx@5d {    compatible = "goodix,gt9xx";reg = <0x5d>;touch-gpio = <&gpio1 21 IRQ_TYPE_EDGE_RISING>;//gpio1_c5reset-gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>;//gpio1_c4max-x = <800>;max-y = <1280>;tp-size = <911>;status = "okay";};
};

系统初始化时会初始化总线上的设备,会根据设备节点compatible属性和驱动中of_match_table对应的值,匹配了就加载对应的驱动.
reg = <0x5d>;为GT9XX的i2c通信地址。
gt9xx i2c地址是linux代码显示的,和手册上的实际地址不一样,linux代码里面的是实际的除以2(因为最后一位是读写位),goodix的地址有两,分别是0x28,和0xba, 但是linux的地址就是14 和 5d。
波形如下时, 则设定地址:0x14(7bit),0x28/0x29(8bit)

波形如下时, 则设定地址:0x5D(7bit),0xBA/0xBB(8bit)

"tp-size” 这个参数表面看是 tp 的尺寸,实际在代码中通过这个参数来选择配置信息和触摸调整
3.在源码中根据 tp-size 设置 tp 方向是否需要镜像、切换,还有需要使用的配置参数
如果 bgt927 设置为 TRUE,其他的 bgtxxx 都要设置 FALSE
开始调试时,下面三个参数都设置为 FALSE,然后根据 bgt927 选择配置参数,编译烧录后根据实际现象再调整下面三个参数
gtp_change-x2y:x、y交换方向
gtp_x_reverse:x 方向坐标镜像
gtp_y_reverse:y 方向左边镜像
源码驱动文件gt9xx.c

 if (val == 89) {m89or101 = TRUE;gtp_change_x2y = TRUE;gtp_x_reverse = FALSE;gtp_y_reverse = TRUE;} else if (val == 101) {m89or101 = FALSE;gtp_change_x2y = TRUE;gtp_x_reverse = TRUE;gtp_y_reverse = FALSE;} else if (val == 911) {m89or101 = FALSE;bgt911 = TRUE;gtp_change_x2y = TRUE;gtp_x_reverse = FALSE;gtp_y_reverse = TRUE;} else if (val == 970) {m89or101 = FALSE;bgt911 = FALSE;bgt970 = TRUE;gtp_change_x2y = FALSE;gtp_x_reverse = FALSE;gtp_y_reverse = TRUE;} else if (val == 910) {m89or101 = FALSE;bgt911 = FALSE;bgt970 = FALSE;bgt910 = TRUE;gtp_change_x2y = TRUE;gtp_x_reverse = FALSE;gtp_y_reverse = TRUE;}

val是读取设备树里的tp-size来获取的:用于调节触摸xy轴

调试所遇到的问题

1.触摸屏出现触摸不灵敏,向上拉但画面却是向下拉

解决:x,y坐标镜像反了,修改tp-size即可

2.两台设备,一台设备触摸屏正常,一台设备触摸屏不能用,不能用的一台具体如下:

RST脚 复位2次,代码上只下拉一次;下拉的第二次:时间10.5ms;屏蔽掉dts里的rst则无下拉;
在gt9xx.c里将复位脚的下拉去掉后 则只有一次下拉 ,10.5ms。
原因:
调试GT9XX时,发现驱动把IC分为两种chip type.

typedef enum
{CHIP_TYPE_GT9 = 0,
CHIP_TYPE_GT9F = 1,
} CHIP_TYPE_T;

当读取到IC是CHIP_TYPE_GT9F类型时,才会去做如下init -> download工作.

#if GTP_COMPATIBLE_MODE
gtp_get_chip_type(ts);
if (CHIP_TYPE_GT9F == ts->chip_type)
{ret = gtp_gt9xxf_init(ts->client);
if (FAIL == ret)
{GTP_INFO("Failed to init GT9XXF.");
}
}
#endif

这两IC类型的区别在于:
CHIP_TYPE_GT9F: 内部是Nor Flash,必须每次都要download.
CHIP_TYPE_GT9: 内部是Nand Flash,除非需要更新配置文件,否则不需要每次下载.

解决:修改I2C通信的地址,我们的设备的RESET与int信号如下:粉为Reset,黄为INT,Reset上升沿时,INT为低则地址要设为0X5D,设备即正常

[RK3399]触摸屏汇顶gt9xx调试相关推荐

  1. MTK8788[android 9.0]汇顶GT9XX TP触摸屏驱动流程分析

    TP 相关引脚DTS中的定义 我们这个项目TP复位引脚是GPIO158,中断引脚是GPIO1,由下图原理图知道我们的TP挂载在I2c0上,3.3v的供电电压是有PMIC 2.8V供电电压通过i2c电平 ...

  2. 汇顶gt系列触摸屏幕方向调试

    近期领导丢给了一块触摸屏,一个安卓板子.连接上以后显示没问题,但触摸左右相反,让我调一调.作为一个写PHP的,这完全超出了我的认知范围,网上的资料又少.奈何人家给钱,搞了好久终于瞎鼓捣成功了,再此记录 ...

  3. 汇顶科技【软件工程师】面经

    技术面(30min) 1.自我介绍 2.平时使用过哪些外设?简单说一下IIC的工作原理吧. 3.平时有自己做过电路吗? 4.高频电路了解吗,高频电路需要注意什么,为什么高频电路会产生影响,到底怎么影响 ...

  4. cypress离线安装_新思、敦泰、汇顶/赛普拉斯触控ICD万能脱机烧录测试工具TP-TEST...

    触摸屏脱机烧测工具TP-TESTER产品介绍TP-TESTER是深圳康协利http://www.comshare-sz.com(Comshare)针对触摸屏行业而研发的一款通用型触摸屏生产测试设备.相 ...

  5. 汇顶科技联手镭速传输,打造科技创新!

    汇顶科技是一家基于芯片设计和软件开发的整体应用解决方案提供商,目前主要面向智能移动终端市场提供领先的人机交互和生物识别解决方案,并已成为安卓阵营全球指纹识别方案第一供应商.产品和解决方案主要应用于华为 ...

  6. 汇顶2018年 IC校招笔试题目

    前言 后面,打算整理下数字ic笔试面试题目,希望以此为出发点,补充知识点! 声明:个人觉得,学习期间,基本上都是知识的搬运,所以本博客所有内容都可以被大家引用!为了大家方便引用,博客内的图片都没有加博 ...

  7. 汇顶Goodix GR5515的一些小细节

    1. 关于IO口的电压域和功能特别说明 如下表所示,汇顶这颗芯片还挺特别的,使用的时候还得特别的注意 2.关于串口 5515一共有2个串口,但只有一路支持DMA,即UART0支持,UART1不支持 3 ...

  8. 汇顶科技外包java_【汇顶科技有限公司Java面试】2020春季校招后端Java-看准网

    面试过程: 首先说一下吧,再面汇顶之前,楼主已经拿到其他几家公司的offer.但是由于薪酬或者地点的问题总是不满意,然后11月也快到了,我对找工作其实也没多大的欲望.刚好碰到了汇顶,岗位.薪酬以及地点 ...

  9. 汇顶科技外包java_汇顶科技深度分析

    $汇顶科技(SH603160)$ 主要的投资点有两点:1.指纹芯片的国产替代:2.屏下指纹解锁:具体展开给大家深度分析. 公司是基于芯片设计和软件开发的整体应用解决方案提供商,公司业务主要面向智能移动 ...

最新文章

  1. 硬盘接口的类型介绍和比较
  2. 人工智能对医疗和健康产业的冲击和革命——体外克隆
  3. .NET Core 实现定时抓取博客园首页文章信息并发送到邮箱
  4. 【转载】Elasticsearch客户端API使用Demo
  5. Lucene 3.0 Field类(自己学习)
  6. P-GCN:Graph Convolutional Networks for Temporal Action Localization 2019 ICCV
  7. matlab2018安装摄像头驱动以及如何调用摄像头
  8. druid 多数据源_SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
  9. QCA9377 QCA1023系列蓝牙WiFi二合一模块方案选型参考
  10. 国密SM2算法的只求理解不求甚解 (5/5)SM2算法签名验签协议
  11. win10操作系统使用IE8浏览器仿真环境
  12. python加密成pyc_pyc文件加密 python写的程序怎样加密
  13. 国家开放大学计算机网络技术毕业设计,精编国家开放大学毕业论文:购物网站设计...
  14. mysql explain不准确_mysql explain预估剖析
  15. Mac中Android Studio使用内存调整方法
  16. 计算机学院运动会开幕式稿,大学运动会开幕式方队解说词
  17. 2023上海国际民宿展与您相约7月5-7日,共启民宿升华之旅!
  18. BFC、IFC、GFC 和 FFC的概念
  19. linux sh : 由未实现函数引起bash读取2进制附加数据引起的报错
  20. MySQL索引相关知识

热门文章

  1. 商城后台管理系统学习日志-03
  2. 实战篇ConstraintLayout的崛起之路
  3. 学报格式和论文格式一样吗_学报和论文格式一样吗
  4. 【编程题】【Scratch三级】2019.09 打气球游戏
  5. 基于python和深度学习(语音识别、NLP)实现本地离线智能语音控制终端(带聊天功能和家居控制功能)
  6. 在HTML中制作贪吃蛇游戏
  7. 高数_向量代数_单位向量_向量与坐标轴的夹角
  8. 华为区块链白皮书(一)
  9. Unity 3D光源-Spot Light聚光灯用法详解、模拟手电筒、台灯等线性教程
  10. 微信小程序-UI控件的使用(1)