• Ahmet Inan's avatar
    Input: add I2C attached EETI EXC3000 multi touch driver · 7e577a17
    Ahmet Inan authored
    The 3000 series have a new protocol which allows to report up to 5 points
    in a single 66 byte frame. One must always read in 66 byte frames.
    To support up to 10 points, two consecutive frames need to be read:
    The first frame says how many points until sync.
    The second frame must say zero points or both frames must be discarded.
    
    To be able to work with the higher 400KHz I2C bus rate, one must
    successfully send a special package prior _each_ read or the controller
    will refuse to cooperate.
    
    This is a minimal implementation based on egalax_i2c.c (which can be found
    on the internet) and egalax_ts.c but without the vendor interface and no
    power management support.
    Signed-off-by: default avatarAhmet Inan <inan@distec.de>
    Acked-by: Rob Herring's avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    7e577a17
exc3000.c 5.08 KB