20 May, 2009

1 commit


12 Apr, 2009

1 commit


18 Sep, 2008

1 commit


02 Apr, 2008

1 commit


18 Jul, 2007

2 commits

  • Pendown status from the PENIRQ pin is currently read only at the beginning
    of a sample set. If the pen is lifted just after sampling has began then
    sampled values become wrong.

    This patch adds an optional platform penirq_recheck_delay attribute. If
    non-zero, samples are only reported to the input subsystem if PENIRQ is
    still active that long after the samples taken.

    Signed-off-by: Semih Hazar
    Signed-off-by: David Brownell
    Signed-off-by: Dmitry Torokhov

    Semih Hazar
     
  • The ads7846 driver has support for filtering, but when the chip gets
    deselected between samples this causes noise. This patch adds support
    for an optional settling delay time, so that two consecutive samples
    will be taken with the specified delay time apart. This ensures that
    the chip won't be deselected, so the noise won't appear.

    Filtering can still be done, but will have less work to do since each
    time a new sample is taken the same delay applies.

    Signed-off-by: Semih Hazar
    Signed-off-by: David Brownell
    Signed-off-by: Dmitry Torokhov

    Semih Hazar
     

18 Jan, 2007

2 commits


26 Apr, 2006

1 commit

  • Providing more accurate coordinates for thumb press requires additional
    steps in the filtering logic:

    - Ignore samples found invalid by the debouncing logic, or the ones that
    have out of bound pressure value.
    - Add a parameter to repeat debouncing, so that more then two consecutive
    good readings are required for a valid sample.

    Signed-off-by: Imre Deak
    Acked-by: Juha Yrjola
    Signed-off-by: Dmitry Torokhov

    Imre Deak
     

12 Apr, 2006

2 commits

  • The pen down IRQ will toggle during each X,Y,Z measurement cycle.
    Even though the IRQ is disabled it will be latched and delivered
    when after enable_irq. Thus in the IRQ handler we must avoid
    starting a new measurement cycle when such an "unwanted" IRQ happens.
    Add a get_pendown_state platform function, which will probably
    determine this by reading the current GPIO level of the pen IRQ pin.

    Move the IRQ reenabling from the SPI RX function to the timer. After
    the last power down message the pen IRQ pin is still active for a
    while and get_pendown_state would report incorrectly a pen down state.

    When suspending we should check the ts->pending flag instead of
    ts->pendown, since the timer can be pending regardless of ts->pendown.
    Also if ts->pending is set we can be sure that the timer is running,
    so no need to rearm it. Similarly if ts->pending is not set we can
    be sure that the IRQ is enabled (and the timer is not).

    Signed-off-by: Imre Deak
    Signed-off-by: David Brownell
    Signed-off-by: Dmitry Torokhov

    Imre Deak
     
  • Some touchscreens seem to oscillate heavily for a while after touching
    the screen.  Implement support for sampling the screen until we get two
    consecutive values that are close enough.

    Signed-off-by: Imre Deak
    Signed-off-by: Juha Yrjola
    Signed-off-by: David Brownell
    Signed-off-by: Dmitry Torokhov

    Imre Deak
     

14 Jan, 2006

2 commits

  • This updates the ads7864 driver to use the new "spi_driver" struct, and
    includes some minor unrelated cleanup.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This is a driver for the ADS7846 touchscreen sensor, derived from
    the corgi_ts and omap_ts drivers. Key differences from those two:

    - Uses the new SPI framework (minimalist version)
    - abstracts board-specific touchscreen info
    - Sysfs attributes for the temperature and voltage sensors
    - Uses fewer ARM-specific IRQ primitives

    The temperature and voltage sensors show up in sysfs like this:

    $ pwd
    /sys/devices/platform/omap-uwire/spi2.0
    $ ls
    bus@ input:event0@ power/ temp1 vbatt
    driver@ modalias temp0 vaux
    $ cat modalias
    ads7846
    $ cat temp0
    991
    $ cat temp1
    1177
    $

    So far only basic testing has been done. There's a fair amount of hardware
    that uses this sensor, and which also runs Linux, which should eventually
    be able to use this driver.

    One portability note may be of special interest. It turns out that not all
    SPI controllers are happy issuing requests that do things like "write 8 bit
    command, read 12 bit response". Most of them seem happy to handle various
    word sizes, so the issue isn't "12 bit response" but rather "different rx
    and tx write sizes", despite that being a common MicroWire convention. So
    this version of the driver no longer reads 12 bit native-endian words; it
    reads 16-bit big-endian responses, then byteswaps them and shifts the
    results to discard the noise.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell