[PATCH] input:cyapa: Add new I2C-based input touchpad driver forCypress I2C touchpad devices

From: Dudley Du
Date: Thu Aug 25 2011 - 05:53:13 EST


Dear Linux-Input Maintainers,

Attached patch files are used to add new I2C-based input touchpad device driver for Cypress I2C touchpad devices.
Please help review them.

This Cypress I2C touchpad device uses standard I2C bus interface and supports slave to host interrupt.
This Cypress I2C touchpad device is a multi-touch trackpad device, it supports max 5 fingers' touch simultaneity.
When have fingers touched, it will report absolute X/Y coordinate,
finger touch contact pressure value and finger tracking ID value for each detected finger.

e.g: when 2 fingers touched this touchpad, the 2 finger's X/Y coordinate will be detected,
and also the finger touch pressure value and tracking ID will be calculated,
then it asserts the slave to host interrupt to notify host cyapa driver to read data from it.
When cyapa driver received the interrupt, it will start a thread to read all finger touched raw data from the touchpad device one time,
Then convert the raw data to multitouch MT-B protocol complied format data, and reports to input subsystem.

So this cyapa driver is mainly responsible for reading raw data from the touchpad device, convert and report MT-B protocol complied data.
And also this cyapa driver will export some useful interfaces through sysfs system and /dev/cyapa device interface.
Through sysfs system, users can get some basic information of this driver and device quickly, such as driver version, firmware version and so on.
Through the /dev/cyapa device interface, applications can get raw data from touchpad device directly and
also can update firmware image for touchpad device in user space.

This driver and touchpad device has been fully tested that working with X11 multitouch module on tegre2 seaboard platform.

Thanks.

Best Wishes,
Dudley Du
Cypress Semiconductor, Inc.
Direct Line: 86-21-61648950
Address: Building#50, No.1387 Zhang Dong Road, Shanghai,P.R. of China (Postcode: 201203)

Attachment: 0001-input-cyapa-add-input-device-driver-for-Cypress-I2C-.patch
Description: 0001-input-cyapa-add-input-device-driver-for-Cypress-I2C-.patch

Attachment: 0002-input-cyapa-add-sysfs-interface-supported.patch
Description: 0002-input-cyapa-add-sysfs-interface-supported.patch

Attachment: 0003-input-cyapa-add-firmware-update-interfaces-for-cyapa.patch
Description: 0003-input-cyapa-add-firmware-update-interfaces-for-cyapa.patch

Attachment: 0004-input-cyapa-add-Cypress-I2C-touchpad-board-configura.patch
Description: 0004-input-cyapa-add-Cypress-I2C-touchpad-board-configura.patch