高通平台手机开发之TP

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没有拉高。

你可能感兴趣的:(手机开发)