[PATCHv5] staging/iio/adc: change the MXS touchscreen driver implementation

Jürgen Beisert jbe at pengutronix.de
Mon Sep 23 03:55:58 EDT 2013


Hi Marek,

On Monday 23 September 2013 01:55:04 Marek Vasut wrote:
> > The following series replaces the current busy loop touchscreen
> > implementation for i.MX28/i.MX23 SoCs by a fully interrupt driven
> > implementation.
> >
> > Since i.MX23 and i.MX28 silicon differs, the existing implementation can
> > be used for the i.MX28 SoC only.
> >
> > So, the first two patches of this series move the i.MX28 specific
> > definitions out of the way. The third patch simplifies the register
> > access to make it easier to add the i.MX23 support. Then the i.MX23
> > specific definitions are added, also the code to distinguish both SoCs at
> > run-time. Up to here the existing touchscreen driver will now run on an
> > i.MX23 Soc as well.
> >
> > When the i.MX23 SoC is running from battery it seems not to be a good
> > idea to run a busy loop to detect touches and their location. The fourth
> > patch adds a fully interrupt driven implementation which makes use of the
> > built-in delay and multiple sample features of the touchscreen
> > controller. This will reduce the interrupt load to a minimum.
> >
> > The next to last patch in this series just removes the existing busy loop
> > implementation.
> >
> > The last patch adds a devicetree bindings proposal (to be discussed).
> >
> > Some restrictions/questions:
> >
> > - the touchscreen part is yet tested on i.MX23 SoC only
> > - has someone a good idea how to implement a reliable pressure
> > measurement if the resistances of the touchscreen's plates are unknown?
> >
> > Changes since v4:
> >
> > - honor Jonathan's comments about function names
> > - honor Dmitry's comments about workqueue canceling and interrupts
> > - adding devicetree bindings proposal
> >
> > Changes since v3:
> >
> > - split adding register access functions and i.MX23 support into two
> > patches
> >
> > Changes since v2:
> >
> > - useless debug output removed
> >
> > Changes since v1:
> >
> > - adding register access functions to make the existing code more
> > readable - adding some functions to distinguish the SoCs at run-time to
> > avoid if-else contructs whenever differences in the register layout
> > between i.MX23 and i.MX28 must be handled
>
> Just tested this on M28EVK, the touchscreen is dead. I do not get any touch
> events when I use ts_calibrate and when I hd /dev/input/eventX , I get
> nothing either.
>
> Right now, I'm somehow on a tight schedule, but I'd like to see this
> resolved ASAP. Do you have any hint for me ?

Seems the very first touch detection does not work. A colleague just told me, 
we have an i.MX28 based hardware here and maybe a touchscreen from a different 
platform which maybe can be used with the i.MX28 platform. Stay tuned...

> btw. the touchscreen connection on M28EVK is pretty much the same as on
> MX28EVK.

I think the touchscreen connection on MX28EVK is exactly the same as on 
MX28EVK! ;) (/me needs more coffee as well)

Regards,
Juergen

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list