This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x touchscreen flaky in proc sdk 2.00.01.07



The am335x touchscreen driver in processor sdk 02.00.01.07 sometimes gives bad coordinates on pen-up.   Most of the time this is filtered out by the tslib modules variance and dejitter.

Examine on am335x-evm hardware.  edit /etc/ts.conf and comment out the lines for variance and dejitter filtering.  run ts_test.  Put ts_test in draw mode.  Touch screen (pen-down, pen-up) many times on right hand side of screen.  Observe occasional line draws to far right of screen.  Example attached below.

I was able to fix this by bringing in the fifo interrupt handling code from the old kernel 3.2 driver and adjusting for the newer driver in the above mentioned sdk based on kernel 4.1.13.  Its seems the fifo somehow has bad values in it possibly as part of sampling at the pen-up interrupt?  I instrumented the driver to printk the raw fifo values.  The old driver was filtering "out of range" values.  The new driver sorts, discards high and low values, then averages.


  • Hi Bruno,

    You use the tsc_adc integrated in the am335x SoC, right?

    Have you tried lowering the x_plate resistance in your dts file? In my experience this has proven to fix such problems with the TS.

    Best Regards,
    Yordan
  • I'm using the plate resistance as specified by our screen manufacturer on our device.  It happens to have the same resistance as the one used on the am335x-evm.  Plus, simply using the old SW, with the same resistance, doesn't exhibit the problem.

    Can you try on am335x-evm with old evm sdk and new processor sdk?

    Maybe I'll look at the sys-bios driver to see how they drive the ts and adc mfd.

    <I'm not really expecting a solution, mainly documenting this here so others might avoid the time drain I experienced.>

  • I'll try this.

    Just FYI, have you tested the board behavior with ti-processor-sdk-linux-am335x-evm-02.00.02.11 (kernel 4.1.18) ?

    Best Regards,
    Yordan