RK3288 GT9XX驱动调试

1.打开menuconfig里gt9xx驱动            
 -> Device Drivers                                                                     
   -> Input device support                                                             
     -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])             
       -> Touchscreens (INPUT_TOUCHSCREEN [=y])     Goodix touch screen gt9xx support for rockchip based platform                                   

2.设备树里添加gt9xx节点            

我这里用i2c3连接触摸          
&i2c3 {            
    status = "disabled";            
    [email protected] {            
        compatible = "goodix,gt9xx";            
        reg = <0x14>;            /*触摸IC地址,不同的芯片地址不一样 */
        touch-gpio = <&gpio4 GPIO_A7 IRQ_TYPE_LEVEL_LOW>;            
        reset-gpio = <&gpio5 GPIO_B2 GPIO_ACTIVE_HIGH>;            
        max-x = <800>;            
        max-y = <1280>;            
        //tp-size = <89>;            
    };            
};  

RK3288 GT9XX驱动调试          

 

3.在驱动源码文件里面:

gt9xx.c

下图源码用于调节触摸xy轴,val是读取设备树里的tp-size来获取的,由于我的触摸IC本身就烧写了正确的程序,所以设备树里我并没有设置tp-size值。

RK3288 GT9XX驱动调试

 

在这里加了个return,原因是因为执行tp_register_fb(&ts->tp);函数后会死机,具体原因还未查

RK3288 GT9XX驱动调试

 

关闭下放固件,使用触摸自带的固件:

gt9xx.h

下面这些宏定义全为0

RK3288 GT9XX驱动调试