andorid6.0 mtk6737平台 ctp调试方法

article/2025/11/3 15:20:34

mtk平台上ctp调试很简单:搞定6根线就可以了,分别是地线,中断线,电源线,I2C线(2根),reset复位线。




这里地线就不讨论了。从原理图可以知道CTP是i2c 设备,保证I2C通讯正常前提是CTP上电正常,I2C通讯正常后,就要初始化ctp了(TP若本身就带rom,里面有参数,不用写参数,你的TP只要供电正常+中断正常,就可以工作),最后就是保证触摸功能的中断信号正常工作。

从上面可以看出:基本上就是围绕那6跟线做的


TP攻略:

1.把驱动添加到代码里面去   

2.供电OK,I2C就通讯正常 

3.在1 跟2的基础上,看log初始化是否成功 

4.若初始化成功了,就看TP是否正常工作 

5.若4不工作,量取中断信号是否对的



关于TP分辨率和坐标设置:andorid6.0这些客制化的东西都在设备树种配置

void tpd_get_dts_info(void)
{
struct device_node *node1 = NULL;
int key_dim_local[16], i;


node1 = of_find_matching_node(node1, touch_of_match);
if (node1) {
of_property_read_u32(node1, "tpd-key-dim-local", &tpd_dts_data.touch_max_num);
of_property_read_u32(node1, "use-tpd-button", &tpd_dts_data.use_tpd_button);
pr_info("[tpd]use-tpd-button = %d\n", tpd_dts_data.use_tpd_button);
of_property_read_u32_array(node1, "tpd-resolution",
tpd_dts_data.tpd_resolution, ARRAY_SIZE(tpd_dts_data.tpd_resolution));
if (tpd_dts_data.use_tpd_button) {
of_property_read_u32(node1, "tpd-key-num", &tpd_dts_data.tpd_key_num);
of_property_read_u32_array(node1, "tpd-key-local",
tpd_dts_data.tpd_key_local, ARRAY_SIZE(tpd_dts_data.tpd_key_local));
of_property_read_u32_array(node1, "tpd-key-dim-local",
key_dim_local, ARRAY_SIZE(key_dim_local));
memcpy(tpd_dts_data.tpd_key_dim_local, key_dim_local, sizeof(key_dim_local));
for (i = 0; i < 4; i++) {
pr_info("[tpd]key[%d].key_x = %d\n", i, tpd_dts_data.tpd_key_dim_local[i].key_x);
pr_info("[tpd]key[%d].key_y = %d\n", i, tpd_dts_data.tpd_key_dim_local[i].key_y);
pr_info("[tpd]key[%d].key_W = %d\n", i, tpd_dts_data.tpd_key_dim_local[i].key_width);
pr_info("[tpd]key[%d].key_H = %d\n", i, tpd_dts_data.tpd_key_dim_local[i].key_height);
}
}
of_property_read_u32(node1, "tpd-filter-enable", &tpd_dts_data.touch_filter.enable);
if (tpd_dts_data.touch_filter.enable) {
of_property_read_u32(node1, "tpd-filter-pixel-density",
&tpd_dts_data.touch_filter.pixel_density);
of_property_read_u32_array(node1, "tpd-filter-custom-prameters",
(u32 *)tpd_dts_data.touch_filter.W_W, ARRAY_SIZE(tpd_dts_data.touch_filter.W_W));
of_property_read_u32_array(node1, "tpd-filter-custom-speed",
tpd_dts_data.touch_filter.VECLOCITY_THRESHOLD,
ARRAY_SIZE(tpd_dts_data.touch_filter.VECLOCITY_THRESHOLD));
}
memcpy(&tpd_filter, &tpd_dts_data.touch_filter, sizeof(tpd_filter));
pr_info("[tpd]tpd-filter-enable = %d, pixel_density = %d\n",
tpd_filter.enable, tpd_filter.pixel_density);
} else {
pr_err("[tpd]%s can't find touch compatible custom node\n", __func__);
}
}

跟你LCD的分辨率是一样的(这个要求是你的LCD跟TP都是横屏或者竖屏)
若lcd 是横屏且TP是竖屏(若LCD是竖屏,TP是横屏),就把TP的 XY对应LCD的yx


中断若有问题  为何有问题?

中断信号没有出来:可在串口log中搜关键字debounce,要求debounce跟对应的中断号一致;

若查出不一致,肯定还有那些地方没设置对,或者哪个地方漏了修改;






若中断信号没问题 ,再考虑TP 固件问题

屏出现重启问题:
1)当配了lk没有配置好kernel的lcm时,会出现重启。
2)添加了tp但是i2c没用通,会出现重启的可能。
上述导致重启的原因是:i2c报错挂死出现野指针,导致看门狗直接使系统重启。
3)tp报点不灵敏,宽高设置没有效果,可能是固件数据不准导致。



相关的修改文件(供参考):

CTP 6.0移植:
vendor/mediatek/proprietary/custom/joya6737m_65_m0/kernel/dct/dct/codegen.dws 
vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/joya6737m_65_m0/dct/dct/codegen.dws 
vendor/mediatek/proprietary/bootable/bootloader/lk/target/joya6737m_65_m0/dct/dct/codegen.dws 
kernel-3.18/drivers/misc/mediatek/mach/mt6735/joya6737m_65_m0/dct/dct/codegen.dws 
kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config2/gt1x_config.h 
kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_tpd.c 
kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_generic.c 
kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/Kconfig 
kernel-3.18/arch/arm64/configs/joya6737m_65_m0_defconfig 
kernel-3.18/arch/arm64/configs/joya6737m_65_m0_debug_defconfig 
kernel-3.18/arch/arm64/boot/dts/cust_eint.dtsi
kernel-3.18/arch/arm64/boot/dts/joya6737m_65_m0.dts


CTP 7.0移植
D    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config10
D    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config8
D    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config9
D    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/firmware2
D    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/firmware3
M    kernel-3.18/arch/arm64/boot/dts/cust_eint.dtsi
M    kernel-3.18/arch/arm64/boot/dts/neostra8735_tb_n.dts
M    kernel-3.18/arch/arm64/configs/neostra8735_tb_n_debug_defconfig
M    kernel-3.18/arch/arm64/configs/neostra8735_tb_n_defconfig
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/Kconfig
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/Makefile
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_extents.c
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_generic.c
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_tools.c
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_tpd.c
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/gt1x_update.c
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config1/gt1x_config.h
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config2/gt1x_config.h
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config6/gt1x_config.h
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/config7/gt1x_config.h
M    kernel-3.18/drivers/input/touchscreen/mediatek/GT1151/include/gt1x_tpd_common.h
M    kernel-3.18/drivers/input/touchscreen/mediatek/Kconfig
M    kernel-3.18/drivers/input/touchscreen/mediatek/Makefile
M    kernel-3.18/drivers/input/touchscreen/mediatek/mtk_tpd.c
M    kernel-3.18/drivers/misc/mediatek/dws/mt6735/neostra8735_tb_n.dws
M    vendor/mediatek/proprietary/bootable/bootloader/lk/target/neostra8735_tb_n/dct/dct/codegen.dws
M    vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/neostra8735_tb_n/dct/dct/codegen.dws
M    vendor/mediatek/proprietary/custom/neostra8735_tb_n/kernel/dct/dct/codegen.dws




http://chatgpt.dhexx.cn/article/fTRTCsON.shtml

相关文章

MTK 6737 android6.0 user版本打开root权限(adb root权限和 apk root权限)

系列文章 MTK 6735/6739/6755/6763 android8.1 user版本打开root权限(adb root权限和 apk root权限) 相比较 android8.1 而言,6.0 的要简单很多 1、首先 6.0 不需要关闭 DM-verity,只需开发 adb root 后就能成功 remount,对 system 分区 rw 操作 2、6.0 无需添加在 init…

android studio无法识别mtk,Android6.0 MTK6737 长按 Power 没有真正关机 (MTK IPO 功能) · Younix’s Studio...

8种机械键盘轴体对比 本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f; Hardware:MT6737 DeviceOS:Android6.0 Kernel: Linux3.18 HostOS: Ubuntu16.04 正常开机 45s. 长按 Power 键进行关机后, 在 5s 内立即按住 Power 键进行开机 虽…

mtk android高级工具,Android6.0 MTK6737 DCT 工具介绍 · Younix’s Studio

8种机械键盘轴体对比 本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f; OS:Android6.0 Hardware:MTK6737 [TOC] MTK 的 DCT Driver Customization Tool MTK 为 GPIO、I2C 等配置制作了一个工具叫做 DCT &#xff0c; 可以直接在 UI 里…

[Android6.0][MTK6737] 启动流程分析

OS:Android6.0 Hardware:MTK6737 一、启动流程概览 1. BootRom2. Preloader3. LK4. Kernel5. Android 二、Bootloader 引导 2.1 preloader 启动过程 2.1.1 preloader 的功能preloader 中的硬件部分2.1.2 preloader 启动代码 2.2 LK 启动过程 2.2.1 LK 中的上电情景2.2.2 LK 中…

4G全网通MTK6737开发板-安卓核心板通信LTE模块方案

新移科技的XY001开发板(安卓智能核心板评估套件)&#xff0c;主要用于新移科技3G/4G/5G智能核心板的功能开发与测试。适用&#xff1a;XY6761、XY6853、XY8735 、XY6580、 XY6762、XY6763、XY6765、XY6771、XY8788 、XY6737全系列核心板。 核心板产品介绍&#xff1a; MT6737…

MTK6737功能展示

MT6737核心板处理器: QL168(6737) 具备低功耗特色的四核系统单芯片,是一款4G LTE 主要针对移动、联通、电信版本的全网通模块,SMT 封装。其性能稳定,外形紧凑,性价比高,功能强大,拥有良好的可扩展性和设计灵活性,能适用于各种产品设计需求 模块内置64 位4 核A53 架构…

HTML+CSS做登录注册界面

在登录界面点注册会进入注册界面 登录界面代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title></head> <body><div style"width:500px;float: …

HTML+CSS 登录界面设计

一、界面源代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>登录</title><style>bo…

HTML(css+div)登录界面

&#xff08;1&#xff09;这是当时做的一个课程设计&#xff0c;很多人想要图片&#xff0c;在这里我把用到的所有图片资源分享下 &#xff08;2&#xff09;链接&#xff1a;https://pan.baidu.com/s/1nUX1DQe_aDZQMf2Zbblm_A 提取码&#xff1a;twcp <!doctype…

HTML登录界面的实现详解

前言序锦 https://blog.csdn.net/HuaCode/article/details/81413387前阵子参加学校的暑期实习&#xff0c;我作为项目负责人&#xff0c;除了进行统筹规划&#xff0c;整体运营以及进度安排等工作外呢&#xff0c;我还负责了前端模块&#xff0c;参与并编写了前端页面&#xff…

html后台登录界面网页设计界面

一款简单的html后台登录界面网页设计界面带给大家。 效果图&#xff1a; html代码&#xff1a; <!DOCTYPE html> <html> <head><title>某某公司后台登录系统</title><link rel"stylesheet" href"css/style.css">&l…

HTML 实现好看的登录注册界面(一)

1. 效果图展示 2. 代码 2.1 HTML部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" con…

HTML制作用户登录界面

1、index代码 <!doctype html> <html><head><meta charset"utf-8"><title>login</title><link rel"stylesheet" type"text/css" href"css/index.css"/></head><body><div&…

登录界面html源代码_网页制作:一个简易美观的登录界面

登录界面html源代码_网页制作&#xff1a;一个简易美观的登录界面 效果图 在我们做一个页面之前&#xff0c;要先想好他的一个整体布局&#xff0c;也就是我们这里面的login.html主页面&#xff0c;大致结构如下&#xff1a; 接下来&#xff0c;我们先上代码&#xff0c;看一…

HTML+CSS登陆界面实例

登录界面截图 项目代码仓库地址 项目的代码放在了github的代码仓库当中&#xff1a;点我 项目访问地址 将登录界面项目部署在了github上面&#xff1a;点我 项目代码解析 项目的界面简析 主要部分是Login的模块&#xff0c;包括username文本框和password文本框以及Login的…

HTML+CSS登录注册界面

目录 一、效果演示二、代码实现2.1、HTML主页面2.2、CSS代码2.3、JS代码 一、效果演示 [注]: 这里需要我们创建三个文件&#xff0c;一个是index.html文件&#xff0c;一个是style.css文件还有一个是login.js文件&#xff0c;把代码copy上去 只要路径找好就能正常运行了。 演示…

HTML+CSS登录界面

今天学习了一个HTML+CSS登录界面 效果图如下: 背景图片可以选取自己喜欢的,以下是实现代码: login.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录</title> <link rel="stylesheet&quo…

HTMLCSS登录界面及讲解

PS:该源码非原创&#xff0c;原文章来自(2条消息) HTMLCSS登录界面_桐艾的博客-CSDN博客_登录页面 这里只做源码讲解 页面效果如下&#xff1a; 首先是login.html <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>登…

好看的html登录界面,

界面效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><title>Login Page</title><style>body {background-color: #f2f2f2;font-family: Arial, sans-serif;}form {background-color: #fff;border-radius: 5px;box-shado…

HTML简单登录界面的实现

简单登录界面的实现&#xff1a; 直接一个实例上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&…