Hi,
I am trying to interface capacitive touch screen to our product.The driver for the capacitive touch screen controller (GT927) attached for your reference. Cross compiled the driver and insmod in to the kernel successfully. Getting the corresponding co-ordinate in debug terminal window whenever touched the capacitive screen as follows
root@Toucan /$ insmod gt9xx.ko
[ 53.530000] <<-GTP-INFO->> GTP driver install.
[ 53.540000] <<-GTP-INFO->> GTP Driver Version:V1.4<2012/12/12>
[ 53.540000] <<-GTP-INFO->> GTP Driver build@14:12:47,Jun 10 2013
[ 53.550000] <<-GTP-INFO->> GTP I2C Address:0x5d
[ 53.680000] <<-GTP-DEBUG->> [664]len1=228,len2=0,len3=0,send_len:228
[ 53.680000] <<-GTP-DEBUG->> [681]SENSOR ID:0
[ 53.710000] <<-GTP-DEBUG->> [743]X_MAX = 480,Y_MAX = 800,TRIGGER = 0x00
[ 53.740000] input: Goodix Capacitive TouchScreen as /devices/virtual/input/in
put1
[ 53.760000] <<-GTP-DEBUG->> [886]INT trigger type:0
[ 53.760000] <<-GTP-INFO->> GTP works in interrupt mode.
[ 53.770000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
[ 53.780000] <<-GTP-INFO->> IC VERSION:9270_1030
[ 53.800000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
root@Toucan /$ [ 53.820000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
[ 56.930000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:81.
[ 56.940000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22
[ 56.960000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.
[ 56.960000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22
[ 56.980000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.
[ 56.990000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22
[ 57.010000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.
[ 57.010000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22
[ 57.030000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.
[ 57.040000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22
[ 57.060000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.
[ 57.060000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22
[ 57.080000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:80.
[ 57.090000] <<-GTP-DEBUG->> [433]Touch Release!
[ 57.090000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
[ 57.110000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
[ 90.480000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:83.
[ 90.490000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29
[ 90.490000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41
[ 90.500000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38
[ 90.520000] <<-GTP-DEBUG->> [377]pre_touch:03, finger:84.
[ 90.530000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29
[ 90.530000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41
[ 90.540000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38
[ 90.540000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19
[ 90.560000] <<-GTP-DEBUG->> [377]pre_touch:04, finger:85.
[ 90.570000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29
[ 90.570000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41
[ 90.580000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38
[ 90.580000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19
[ 90.590000] <<-GTP-DEBUG->> [273]ID:4, X:168, Y:142, W:21
[ 90.610000] <<-GTP-DEBUG->> [377]pre_touch:05, finger:85.
[ 90.620000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29
[ 90.620000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41
[ 90.630000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38
[ 90.630000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19
[ 90.640000] <<-GTP-DEBUG->> [273]ID:4, X:168, Y:142, W:21
[ 90.660000] <<-GTP-DEBUG->> [377]pre_touch:05, finger:85.
[ 90.660000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29
[ 90.670000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41
[ 90.680000] <<-GTP-DEBUG->> [273]ID:2, X:409, Y:320, W:38
[ 90.680000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19
[ 90.690000] <<-GTP-DEBUG->> [273]ID:4, X:173, Y:152, W:21
[ 90.700000] <<-GTP-DEBUG->> [377]pre_touch:05, finger:81.
[ 90.710000] <<-GTP-DEBUG->> [273]ID:4, X:166, Y:145, W:21
[ 90.730000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:80.
[ 90.730000] <<-GTP-DEBUG->> [433]Touch Release!
[ 90.740000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
[ 90.750000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.
Now i am facing problem of interfacing the driver in to multitouch protocol of the kernel. I cannot calibrate the touch screen using ts_calibrate. I tried by replacing all the occurrences of ABS_X / Y with ABS_MT_POSITION_X / Y in tslib (plugin/input-raw.c) but it's showing segment fault. How can i implement multi touch protocol for touch screen driver? I followed this link to interface multitouch with QT
http://www.ptrackapp.com/apclassys-notes/embedded-linux-multitouch/
But i can't able to calibrate (ts_calibrate) the touch screen, it gives the "Segment fault"
Please kindly give some suggestion to solve this problem.
Thanks,
Harish Ramasamy
Solved! Go to Solution.
I Solved the problem by disabling the tslib in ltib package.
thanks.
RAM
Hi Ram,
I should use a goodix gt9xx chip, but I haven't found any drivers yet. You said you attached it for reference, but I cannot find it.
Where did you find yours?
Thanks in advance.
Hi Ieio,
Are you using gt9xx chip ?? Have you found drivers ?
I Solved the problem by disabling the tslib in ltib package.
thanks.
RAM