capacitive touchscreen in tiny210 w. linux

Alejandro de Sangenis

After successful experiences over mini2440, 7 and 5 inchs LCDs and
resistive touchscreens, we hopefully bought a tiny210, due to its Cortex A8
processor, PowerVR SGX540 graphics engine, memory and a great capacitive

But testing the different systems contained in the BSP we have not been
able to recover, even in the original Android 4, the capacitive touchscreen
functionality. ("skipcali=yes ctp=1" added to each commandline)

Following error appears at boot time and in system log while trying to
reload the goodix_touch module

gt80x-ts 2-0055: Warning: I2C connection might be something wrong!
gt80x-ts: probe of 2-0055 failed with error -1

Also source code for goodix_touch is not contained in the BSP. 

Does anybody can contribute with some information?



Alejandro de Sangenis
Thanks Reggie, but after spend a lot of time with the Goodix module and its
persistent I2C error, finally I decided to sniff the I2C communication with
a logic analyzer. When I put hands on in the panel and opened it in order
to extract two wires with the I2C signals I could observe that capacitive
touchscreen controller is not Goodix but a Focaltech FT5406. Extracting the
module ft5x06_ts.ko from the android rootfs  and loading it in linux 3.0.8
kernel works like a charm.

Alejandro, that's fantastic, well done :-)

so now that you've identified the controller, the source code should be
relatively easy to find, in fact:

I know it's not from the 3.0.8 kernel source but it's a start.

BTW. I don't know if you're using the hdmi output on the 210 but it would
appear that there is a samsung s5p-tv driver in 3.1.x kernel sources,
perhaps we need to push friendlyArm for an update?

Alejandro de Sangenis
Hi Reggie: Thanks for your encouraging words, but for me is inexcusable
spend so much time before decide to open the LCD panel. So obvious! 
Thanks also for the link to the Focaltech's source code. 

Now, once got output in /dev/input/eventX, I'm trying to link it to tslib +

And in respect to the HDMI output, at the present is not a priority for our
work. The target is a capture/control panel for a biomedical appliance. But
FYI, I compiled the 3.0.8 kernel with HDMI support and in fact I can see in
the boot process "s5p-tvout s5p-tvout: hpd status is cable removed", so,
after read your post I held out a cable to an external monitor and it
really works :)

tslib and qt4.8.3 should be pretty simple, I've recently messed around with
buildroot/qemu and a mini2440 kernel/rootfs, it really was pretty simple,
the pain was adding mysql as well, which is where buildroot came in very
handy indeed.

There are actually quite a few tutorials around for qt4/tslib, I can't see
there being much difference between a 2440 and a 210, just march/cpu.

That's interesting about the 3.0.8 kernel, I couldn't see the hdmi s5p-tv
driver, that puts a completely different complexion on things.

Can somebody who got the capacitive touchscreen of H43 LCD to work with
Linux on the min210s share the steps.
I built the 3.0.8 kernel and built the ft5x06_ts module.
I loaded the module doing "cat /dev/input/event2" shows something when I
touch the screen.
I have the following the /etc/init.d/rcS file:

export QWS_MOUSE_PROTO=TSLIB:/dev/input/event2

export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_TSDEVICE=/dev/touchscreen-1wire

/opt/Qtopia/bin/led-testing -qws &

the led-testing app shows up, but I see the error:
" Mouse type TSLIB:/dev/input/event2 unsupported "
and the touches have no effect

Any help is appreciated


Alejandro de Sangenis, how did you extract the module?
Please Help



I finally solved the problem like this: (I Have a mini210s with captouch)

i exported everything like ali but before i edited the first line of the
file /etc/ts.conf

module_raw friendlyarm-ts-input
module pthres pmin=1
module variance delta=30
module dejitter delta=10000
module linear


module_raw friendlyarm-ts-mtinput

with my configuration and qt4 it worked.

ps: you have to calibrate the touchscreen before with ts_calib otherwise
the mouse will disappear when you touch the screen.

weeeeeeeee i can start Xorg with cataptive touch

Hi NeoChapay, which board are you using?
Can I run ubuntu with the touch screen on my Tiny210v2?

When you want to run your board with a capacitive LCD you need to specify
“skipcali=yes” and “ctp=n”. The value “n” can be either 0 or 1, 2, and 3.
If n=0 it means no capacitive LCD will be connected. If n=1 it means a
GT80X based 7’ capacitve touch panel will be connected. If n=2 it means a
FT5206 based 7” capacitive touch panel will be connected. If n=3 it means a
FT5406 based 7” capacitive touch panel will be connected.