Hi,
I am trying to get an lcd adapter board's touch screen controller
(tsc2046)
working on a xM, Angstrom Linux kernel 2.6.37+. When I run
ts_calibrate, I get the 'selected device is not a
touchscreen I understand' output and 'top' shows X doing 98%
processing as soon
as I tap the touchscreen in X. I use SPI4 and GPIO 157 for the pen
interrupt and the ads7846 kernel driver.
A couple of issues I have noticed (may or may not be related to
problem):
1. XOrg.0.0.log does not show /dev/input/event1 set up for the
touchscreen, but it does show all the other input device events such
as /dev/input/event3 for the mouse and keyboard etc.
2. I have added a line of debug code to the ads7846 kernel driver to
output the
result when a reading is requested. When I tap the touchscreen, I do
not see
this debug output on the serial kernel debug output.
3. If I cat /dev/input/event1 and then tap the touchscreen, I do get
binary output, but values are rubbish.
4. If I cat /sys/devices/platform/omap2_mcspi.4/spi4.0/in0_input
it hits the ads7846 kernel debug output e.g:
[ 1669.133270] ads7846 spi4.0: RESULT:0x000006AF
1044
which looks like a sane value.
5. So it looks as if things are working fine at the kernel driver
level, but not when
a user application is trying to use the touchscreen.
6. I am not sure if the OMAP3_MUX settings are correct. From the
datasheet for the tsc2046, the data is clocked when CS0 is pulled low.
7. I am not sure if I need to turn on the voltage regulator supply for
spi4.
8. A bit puzzling is that I do not get a Hz reading on the multimeter
for the SPI4 CLK line, and only a tiny voltage (52mV) when the touch
screen is tapped.
I am bit stumped as to what to try next.
ts_calibrate: (top shows X processing 98%)