On Wed, 22 Feb 2012 14:22:15 +0100, Juergen Beisert wrote:
joancarles wrote:
I've been having some issues here with regard to my custom mx25
device
and a 4-wire Chunghwa touchscreen attached. I have grabbed the
drivers
recently released by Juergen.
Attached is a debug boot output. The pointer is stable in X11
(compared
to the wobbling pointer with the original freescale imx_adc_ts
driver in
the 2.6.x kernel), however there is no way to use it. It is inverted
and
does not follow the focus given on the touch event. In general
Juergen's
new ADC-TS driver looks really promising, albeit ts_calibrate does
not
work and I have no idea why.
That is why I suggested the tool "evtest" first. It gives you an idea
what raw
values the touchdriver reports. And the raw values you sent me in the
logfile
are reasonable, aren't they?
I don't know. When I look at your touch event log, I see 4 entries for
a touch, I get between 10-30 entries with complete different readings
(evtest /dev/input/event0 | grep value):
Event: time 1297832817.822499, type 3 (Absolute), code 1 (Y), value
2841
Event: time 1297832817.826296, type 3 (Absolute), code 0 (X), value
2443
Event: time 1297832817.826309, type 3 (Absolute), code 1 (Y), value
2997
Event: time 1297832817.830112, type 3 (Absolute), code 0 (X), value
2005
Event: time 1297832817.830126, type 3 (Absolute), code 1 (Y), value
2870
Event: time 1297832817.833942, type 3 (Absolute), code 0 (X), value
2095
Event: time 1297832817.833954, type 3 (Absolute), code 1 (Y), value
2897
Event: time 1297832817.837774, type 3 (Absolute), code 0 (X), value
2058
Event: time 1297832817.837788, type 3 (Absolute), code 1 (Y), value
2898
Event: time 1297832817.841602, type 3 (Absolute), code 0 (X), value
2071
Event: time 1297832817.841614, type 3 (Absolute), code 1 (Y), value
2869
Event: time 1297832817.845462, type 3 (Absolute), code 0 (X), value
1142
Event: time 1297832817.849283, type 3 (Absolute), code 0 (X), value
2505
Event: time 1297832817.849296, type 3 (Absolute), code 1 (Y), value
3002
Event: time 1297832817.853212, type 3 (Absolute), code 0 (X), value
1658
Event: time 1297832817.853224, type 3 (Absolute), code 1 (Y), value
2926
Event: time 1297832817.857041, type 3 (Absolute), code 0 (X), value
1789
Event: time 1297832817.857054, type 3 (Absolute), code 1 (Y), value
2798
Event: time 1297832817.868910, type 1 (Key), code 330 (Touch), value 0
Event: time 1297832820.444357, type 3 (Absolute), code 0 (X), value
1921
Event: time 1297832820.444369, type 3 (Absolute), code 1 (Y), value
2775
Event: time 1297832820.444378, type 1 (Key), code 330 (Touch), value 1
Event: time 1297832820.448183, type 3 (Absolute), code 0 (X), value 816
Event: time 1297832820.448195, type 3 (Absolute), code 1 (Y), value
2802
Event: time 1297832820.452010, type 3 (Absolute), code 0 (X), value
1623
Event: time 1297832820.452023, type 3 (Absolute), code 1 (Y), value
2742
Event: time 1297832820.456085, type 3 (Absolute), code 0 (X), value 900
Event: time 1297832820.456098, type 3 (Absolute), code 1 (Y), value
2823
Event: time 1297832820.459918, type 3 (Absolute), code 0 (X), value
1710
Event: time 1297832820.459932, type 3 (Absolute), code 1 (Y), value
2748
Event: time 1297832820.463786, type 3 (Absolute), code 0 (X), value 859
Event: time 1297832820.463800, type 3 (Absolute), code 1 (Y), value
2823
Event: time 1297832820.467616, type 3 (Absolute), code 0 (X), value 890
Event: time 1297832820.471538, type 3 (Absolute), code 0 (X), value
1614
Event: time 1297832820.471551, type 3 (Absolute), code 1 (Y), value
2741
Event: time 1297832820.475359, type 3 (Absolute), code 0 (X), value
1921
Event: time 1297832820.475372, type 3 (Absolute), code 1 (Y), value 277
The Y-values are seem within a max 5% error margin (200 of 4096),
however the X value go completely nuts. What's this all about?
I have tried in vain to fine-tune the parameters with regard to the
readings:
.pen_debounce = 1000000, /* 1 ms */
.repeat_wait = 15000000, /* 15 ms */
.settling_time = 200000, /* 200 us */
.pen_treshold = 500,
.sample_cnt = 3,
On the upside, at least I have found the problem with the missing LEDS
and the BEEPER. Since imx25_soc_init() calls a series of
mxc_register_gpio() with imx31-gpio's, the resulting GPIO's in our case
moved from /sys/devices/virtual/gpio to
/sys/devices/platform/mxc_aips/imx31-gpio.0/gpio.
What else has fundamentally changed between 2.6.39 and 3.3?
Cheers
--
Joan C. Abelaira