高通平台手机开发之TP

come from : https://blog.csdn.net/Winva/article/details/50739267

4.2. TP 
TP驱动芯片厂商主要有:Goodix(汇顶),FocalTech(敦泰科技),cypress(赛普拉斯),synaptics(新思)。 
TP驱动的调试主要是将接口调通。 
从TP厂商获取驱动和配置资料。 
4.2.1. 集成或者使用系统自带的TP驱动 
查找kernel/drivers/input/touchscreen,看是否有对应的驱动。如果没有,可以从高通的网站下载驱动或者找厂商要驱动。

4.2.2. 在DTS里加入配置信息 
i2c@f9924000 { 
synaptics@20 { 
compatible = “synaptics,dsx”; 
reg = <0x20>; 
interrupt-parent = <&msmgpio>; 
interrupts = <61 0x2>; 
vdd-supply = <&pm8941_l18>; 
vcc_i2c-supply = <&pm8941_lvs1>; 
// vdd_ana-supply = <&pm8941_l18>; 
synaptics,pwr-reg-name = “vdd”; 
synaptics,bus-reg-name = “vcc_i2c”; 
synaptics,reset-gpio = <&msmgpio 60 0x00>; 
synaptics,irq-gpio = <&msmgpio 61 0x00>; 
synaptics,display-coords = <0 0 1080 1920>; 
synaptics,i2c-pull-up; 
synaptics,power-down; 
synaptics,disable-gpios; 
synaptics,do-lockdown; 
synaptics,cap-button-map = <139 102 158>; 
synaptics,irq-flags = <0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */ 
synaptics,power-delay-ms = <160>; 
synaptics,reset-delay-ms = <100>; 
}; 
}; 
4.2.3. TP驱动调试 
由于TP通过I2C与处理器通信,所以只要调通I2C,TP调试工作基本就完成了。 
通过kernel log 查看类似这些probe函数:goodix_ts_probe(), cyttsp5_probe(), synaptics_rmi4_probe() 的执行情况,看看问题出在哪。 
I2C主要看地址是否正确。还要用示波器量一下I2C线上的波形。I2C是不用时拉高,传输数据时才会有拉低的信号。如果log里说I2C忙,那就有可能I2C没有拉高。
 

猜你喜欢

转载自blog.csdn.net/zmjames2000/article/details/87959202