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


Reply via email to