我對我不能解決,又重複出現的問題感到神傷,有一種深深的挫敗與無力感。
這是我之前碰到的一個問題,INT腳電壓的問題。上週又碰到了...雖然最後器件可以工作了,但是依舊不能從技術分析上解決問題。下面是第二次出現問題的記錄與心路歷程:
[ 5.698352] <<GTP-INF>>[gt1x_ts_init:770] GTP driver installing...
[ 5.698352] <<GTP-INF>>[gt1x_ts_init:770] GTP driver installing...
[ 5.698352] <<GTP-INF>>[gt1x_ts_init:770] GTP driver installing...
[ 5.699234] <<GTP-INF>>[gt1x_ts_probe:541] GTP Driver Version: V1.4<2015/07/10>
[ 5.699234] <<GTP-INF>>[gt1x_ts_probe:541] GTP Driver Version: V1.4<2015/07/10>
[ 5.699234] <<GTP-INF>>[gt1x_ts_probe:541] GTP Driver Version: V1.4<2015/07/10>
[ 5.699236] <<GTP-INF>>[gt1x_ts_probe:542] GTP I2C Address: 0x14
[ 5.699236] <<GTP-INF>>[gt1x_ts_probe:542] GTP I2C Address: 0x14
[ 5.699236] <<GTP-INF>>[gt1x_ts_probe:542] GTP I2C Address: 0x14
[ 5.699746] <<GTP-DBG>>[gt1x_power_switch:363]GTP power on.
[ 5.699746] <<GTP-DBG>>[gt1x_power_switch:363]GTP power on.
[ 5.699746] <<GTP-DBG>>[gt1x_power_switch:363]GTP power on.
[ 5.700427] <<GTP-INF>>[gt1x_reset_guitar:810] GTP RESET!
[ 5.700427] <<GTP-INF>>[gt1x_reset_guitar:810] GTP RESET!
[ 5.700427] <<GTP-INF>>[gt1x_reset_guitar:810] GTP RESET!
[ 5.818045] <<GTP-DBG>>[gt1x_set_reset_status:700]Set reset status.
[ 5.818045] <<GTP-DBG>>[gt1x_set_reset_status:700]Set reset status.
[ 5.878291] <<GTP-INF>>[gt1x_get_chip_type:929] Chip Type: GT2X
[ 5.878291] <<GTP-INF>>[gt1x_get_chip_type:929] Chip Type: GT2X
[ 5.878291] <<GTP-INF>>[gt1x_get_chip_type:929] Chip Type: GT2X
[ 5.898514] <<GTP-INF>>[gt1x_read_version:885] IC VERSION:GT5688_000119(Patch)_0100(Mask)_02(SensorID)
[ 5.898514] <<GTP-INF>>[gt1x_read_version:885] IC VERSION:GT5688_000119(Patch)_0100(Mask)_02(SensorID)
[ 5.898514] <<GTP-INF>>[gt1x_read_version:885] IC VERSION:GT5688_000119(Patch)_0100(Mask)_02(SensorID)
[ 5.906776] <<GTP-DBG>>[gt1x_init_panel:617]Config groups length:239,0,0,0,0,0
[ 5.906776] <<GTP-DBG>>[gt1x_init_panel:617]Config groups length:239,0,0,0,0,0
[ 5.906776] <<GTP-DBG>>[gt1x_init_panel:617]Config groups length:239,0,0,0,0,0
[ 5.913995] <<GTP-INF>>[gt1x_init_panel:627] Config group0 used, length:239
[ 5.913995] <<GTP-INF>>[gt1x_init_panel:627] Config group0 used, length:239
[ 5.913995] <<GTP-INF>>[gt1x_init_panel:627] Config group0 used, length:239
[ 5.920969] <<GTP-INF>>[gt1x_init_panel:678] X_MAX=720,Y_MAX=1280,TRIGGER=0x01,WAKEUP_LEVEL=0
[ 5.920969] <<GTP-INF>>[gt1x_init_panel:678] X_MAX=720,Y_MAX=1280,TRIGGER=0x01,WAKEUP_LEVEL=0
[ 5.929449] <<GTP-DBG>>[gt1x_send_cfg:553]Driver send config, length:239
[ 5.929449] <<GTP-DBG>>[gt1x_send_cfg:553]Driver send config, length:239
[ 5.929449] <<GTP-DBG>>[gt1x_send_cfg:553]Driver send config, length:239
[ 5.936115] <<GTP-DBG>>[gt1x_send_cfg:563]Config checksum: 0xDDC7
[ 5.936115] <<GTP-DBG>>[gt1x_send_cfg:563]Config checksum: 0xDDC7
[ 6.178025] <<GTP-DBG>>[gt1x_send_cfg:573]Send config successfully!
[ 6.178025] <<GTP-DBG>>[gt1x_send_cfg:573]Send config successfully!
[ 6.183492] <<GTP-INF>>[gt1x_init_debug_node:94] Created proc entry /proc/gt1x_debug.
[ 6.183492] <<GTP-INF>>[gt1x_init_debug_node:94] Created proc entry /proc/gt1x_debug.
[ 6.183492] <<GTP-INF>>[gt1x_init_debug_node:94] Created proc entry /proc/gt1x_debug.
[ 6.191088] <<GTP-INF>>[gt1x_init_tool_node:89] Alloc memory size:512.
[ 6.191088] <<GTP-INF>>[gt1x_init_tool_node:89] Alloc memory size:512.
[ 6.197591] <<GTP-INF>>[gt1x_init_tool_node:99] Created proc entry /proc/gmnode031831.
[ 6.197591] <<GTP-INF>>[gt1x_init_tool_node:99] Created proc entry /proc/gmnode031831.
[ 6.211564] <<GTP-DBG>>[gt1x_request_irq:443]INT trigger type:0
[ 6.211564] <<GTP-DBG>>[gt1x_request_irq:443]INT trigger type:0
[ 6.217269] <<GTP-INF>>[gt1x_ts_probe:577] GTP works in interrupt mode.
[ 6.217269] <<GTP-INF>>[gt1x_ts_probe:577] GTP works in interrupt mode.
[ 6.217269] <<GTP-INF>>[gt1x_ts_probe:577] GTP works in interrupt mode.
[ 14.952868] <<GTP-DBG>>[gtp_fb_notifier_callback:649]Resume by fb notifier.
[ 14.952868] <<GTP-DBG>>[gtp_fb_notifier_callback:649]Resume by fb notifier.
[ 14.952872] <<GTP-INF>>[gt1x_resume:2276] Resume start...
[ 14.952872] <<GTP-INF>>[gt1x_resume:2276] Resume start...
驅動在之前的平臺跑通,移到另一個平臺,log也是正常的。但是INT腳有0.4v電壓,cat proc/interrupts看觸發不了中斷。正常INT腳是低電平0v,Rissing觸發。
先記着。後面看什麼原因
----------------------------------------------續-------------------------------------
過了一個週末,週一上班。
我實在不知道怎麼分析這個INT腳是0.4v的問題。
1. 我換了一個Himax的TP調試,中斷腳是可以報點的,這說明板子是沒問題的。
2.我全刷了一個QFIL版本,這次碰敲裏面的tp是個gt的TP,然後getevent看也有報點,這說明我現在的TP驅動可能有點問題。
我看下了全刷版本的log。我驚呆了。。。。
[ 5.892885] goodix_parse_dt ########### 0
[ 5.892950] ############## 0
[ 5.893006] Goodix-TS 3-005d: Regulator get failed avdd ret=-19
[ 5.894920] Goodix-TS 3-005d: Can not lookup pmx_ts_release pinstate -19
[ 6.008484] i2c-msm-v2 78b7000.i2c: msm_bus_scale_register_client(mstr-id:86):0xf (ok)
[ 6.009220] Goodix-TS 3-005d: Goodix Product ID = 5688
[ 6.009604] Goodix-TS 3-005d: Sensor ID selected: 0
[ 6.009988] Goodix-TS 3-005d: Ic fixed config with config version(164, 0xA4)
[ 6.038714] input: Goodix-CTP as /devices/virtual/input/input1
[ 6.039615] Goodix-TS 3-005d: GTP works in interrupt mode.
[ 6.041012] goodix_parse_dt ########### -2
[ 6.041116] Goodix_sec-TS 2-005d: Regulator get failed avdd ret=-19
[ 6.041125] Goodix_sec-TS 2-005d: Regulator get failed vdd ret=-19
[ 6.042084] Goodix_sec-TS 2-005d: Can not lookup pmx_ts_sec_release pinstate -19
[ 6.158422] i2c-msm-v2 78b6000.i2c: msm_bus_scale_register_client(mstr-id:86):0x10 (ok)
[ 6.165513] i2c-msm-v2 78b6000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:4) mode:FIFO slv_addr:0x5d MSTR_STS:0x0d1343c8 OPER:0x00000090
[ 6.181182] i2c-msm-v2 78b6000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:4) mode:FIFO slv_addr:0x5d MSTR_STS:0x091343c8 OPER:0x00000090
[ 6.196890] i2c-msm-v2 78b6000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:4) mode:FIFO slv_addr:0x5d MSTR_STS:0x091343c8 OPER:0x00000090
[ 6.212602] i2c-msm-v2 78b6000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:4) mode:FIFO slv_addr:0x5d MSTR_STS:0x091343c8 OPER:0x00000090
[ 6.228313] i2c-msm-v2 78b6000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:4) mode:FIFO slv_addr:0x5d MSTR_STS:0x091343c8 OPER:0x00000090
這裏顯示TP是掛在78b7000上的,tp-2上的設備沒有上電,也就是實際沒有掛硬件。所以dtsi上i2c_3掛載是沒問題的。
然後我在驅動裏面搜了下Goodix-TS,疑問就在這兒了,這是一個gt9的驅動,而我的TP硬件是gt5688。而我調試用的驅動是gt1xx,按道理gt1xx這個驅動在android5.1上面調通了,在android7.1上驅動的怎麼中斷腳電壓都不正常。根據驅動移植文檔,gt5688使用的驅動應該是gt1xx啊,怎麼在gt9xx上才能通???
-------------------------