嵌入式爱好者

查看: 1336|回复: 0

[已解决] A40i通过TWI1驱动GT911触摸屏

[复制链接]

10

主题

38

帖子

86

积分

A40i/T3/T507通行证FCU2401通行证

扫一扫,手机访问本帖
发表于 2022-10-21 21:59:27 | 显示全部楼层 |阅读模式
之前使用USB免驱板,驱动GOODIX的GT911触摸IC,后续发现系统不是特别兼容,在多指滑动屏幕几次后,屏幕就失灵了, 软件是正常运行的,重新插拔USB就恢复正常,此问题实在无从下手解决,瞎鼓捣了几天也没搞明白一二,后来直接去掉免驱板,使用TWI总线直接驱动,看飞凌手册,默认配置是使用TWI3驱动gt911,但奈何引脚都被占用,所以更换TWI1和其他RST与INT引脚。
本文也是分享一下配置方式,提供各位需要的朋友,少走弯路,修改sys_config文件要注意TWI的id是否选择,TWI是否使能
  1. [twi1]
  2. twi1_used        = 1
  3. twi1_scl         = port:PB18<2><default><default><default>
  4. twi1_sda         = port:PB19<2><default><default><default>
复制代码
  1. ;----------------------------------------------------------------------------------
  2. ;capacitor tp configuration电容触摸
  3. ;external int function
  4. ;wakeup output function
  5. ;notice ---    tp_int_port &  tp_io_port use the same port
  6. ;compatible       设备名字
  7. ;ctp_used                  是否使用
  8. ;ctp_name                  用作区别gd系列,适配屏幕分辨率
  9. ;ctp_twi_id                  用作选择iic的adapter,可选1,2
  10. ;ctp_twi_addr     指明iic设备地址,与硬件相关
  11. ;ctp_screen_max_x 触摸板x最大坐标
  12. ;ctp_screen_max_y 触摸板y最大坐标
  13. ;ctp_touch_panel_max_x
  14. ;ctp_touch_panel_max_y
  15. ;ctp_revert_x_flag是否需要反转x坐标,需要置1,反之置0
  16. ;ctp_revert_y_flag是否需要反转y坐标,需要置1,反之置0
  17. ;ctp_exchange_x_y_flag是否需要xy坐标对换
  18. ;ctp_power_ldo          触摸屏电源配置
  19. ;ctp_power_ldo_vol触摸屏电压配置
  20. ;ctp_int_port          电容屏中断信号GPIO配置
  21. ;ctp_wakeup                  电容屏唤醒信号GPIO配置
  22. ;----------------------------------------------------------------------------------
  23. [ctp]
  24. compatible          = "allwinner,sun50i-ctp-para"
  25. ctp_used            = 1
  26. ctp_name            = "gt9xx_ts"
  27. ctp_twi_id          = 1
  28. ctp_twi_addr        = 0x14
  29. ctp_screen_max_x    = 800
  30. ctp_screen_max_y    = 480
  31. ctp_touch_panel_max_x  = 800
  32. ctp_touch_panel_max_y  = 480
  33. ctp_revert_x_flag   = 0
  34. ctp_revert_y_flag   = 0
  35. ctp_exchange_x_y_flag = 0
  36. ctp_power_ldo       = "vcc-ctp"
  37. ctp_power_ldo_vol   = 3300

  38. ctp_int_port        = port:PH02<6><default><default><default>
  39. ctp_wakeup          = port:PH05<1><default><default><0>

  40. ;----------------------------------------------------------------------------------
  41. ;compatible配置名称
  42. ;ctp_list_used 支持触摸屏list
  43. ;ft5x_ts       是否支持ft5x_ts模组
  44. ;gt82x               同上
  45. ;gt9xx_ts      同上
  46. ;gt9xxnew_ts   同上
  47. ;gt811               同上
  48. ;zet622x       同上
  49. ;aw5306_ts     同上
  50. ;----------------------------------------------------------------------------------
  51. [ctp_list]
  52. compatible          = "allwinner,sun50i-ctp-list"
  53. ctp_list_used            = 1
  54. ft5x_ts             = 1
  55. gt82x               = 1
  56. gt9xx_ts            = 1
  57. gt9xxnew_ts         = 1
  58. gt811               = 1
  59. zet622x             = 1
  60. aw5306_ts            = 1
复制代码
我之前就是这两个总是差一个条件,最坑的是我把TWI1的引脚模式改了, 后来恢复才发现好使,置于xy方向镜像都是小问题, 修改对应反向即可。
在就是看一下系统中是否编译了GT9xx的触摸驱动,是否自动加载了,官方默认源码好像是没有打开,需要修改sun8iw11p1smp_oka40i_c_defconfig文件
将CONFIG_TOUCHSCREEN_GT9XXNEW_TS=y设置y,y就是开机自动加载,m就是编译出ko文件,需要人工手动加载。
最后,放上我修改的相关文件在附件中。祝大家一次成功。

GT911电容屏驱动方式.rar

761.5 KB, 下载次数: 9, 下载积分: 贡献 1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-3-29 10:38

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表