Resistive touchscreen - pressure value goes to 0

Hi,

I’ve been using a 4 wires resistive touchscreen for a 10.1" LCD on a Beaglebone black with kernel 4.1.16. I’ve got a problem when getting the pressure value, either from tslib or from evtest. The Z value comes correctly but i get a “0” value randomly every couple of measure, even if I keep my finger on the screen.

ts_test output (time - xabs - yabs - zabs):

1455185513.504536: 480 302 63
1455185513.506526: 480 302 63
1455185513.508427: 481 302 0
1455185513.512350: 483 302 63
1455185513.514351: 483 302 0
1455185513.556991: 482 301 63
1455185513.560917: 482 301 0
1455185513.593729: 483 302 63
1455185513.595683: 483 302 0
1455185513.726991: 487 305 57
1455185513.728921: 487 305 0
1455185513.746334: 488 305 57
1455185513.748301: 488 305 0

evtest output:

Event: time 1455185664.339576, -------------- EV_SYN ------------
Event: time 1455185664.341506, type 3 (EV_ABS), code 0 (ABS_X), value 2969
Event: time 1455185664.341506, type 3 (EV_ABS), code 1 (ABS_Y), value 2008
Event: time 1455185664.341506, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 109
Event: time 1455185664.341506, -------------- EV_SYN ------------
Event: time 1455185664.343436, type 3 (EV_ABS), code 0 (ABS_X), value 2960
Event: time 1455185664.343436, type 3 (EV_ABS), code 1 (ABS_Y), value 2007
Event: time 1455185664.343436, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1455185664.343436, -------------- EV_SYN ------------
Event: time 1455185664.345368, type 3 (EV_ABS), code 0 (ABS_X), value 2969

Here is the dts config:

fragment@4 {
target = <&tscadc>;
overlay {

status = “okay”;
tsc {
ti,wires = <4>;
ti,x-plate-resistance = <1200>;
ti,coordinate-readouts = <5>;
ti,wire-config = <0x03 0x10 0x22 0x31>;

};

adc {
ti,adc-channels = <4 5 6 7>;
};
};
};

The touch is okay, but when I go in a drawing app, it only gives me points when I draw a line, instead of a continuous line.

Does anyone knows a way to debug this? Did I miss a configuration parameter for the Ti-TSCADC driver?

Thanks,

Matthieu