Input: goodix - write configuration data to device
authorIrina Tirdea <irina.tirdea@intel.com>
Fri, 18 Dec 2015 00:05:42 +0000 (16:05 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 18 Dec 2015 01:11:53 +0000 (17:11 -0800)
commit68caf85881cd842b59d5e2124a236ecce0389a73
treebfe728e3da266afb0f890939f561b03616cb7f5e
parentec6e1b4082d9f5b0858ce33169a1c22a27a982f6
Input: goodix - write configuration data to device

Goodix devices can be configured by writing custom data to the device at
init. The configuration data is read with request_firmware from
"goodix_<id>_cfg.bin", where <id> is the product id read from the device
(e.g.: goodix_911_cfg.bin for Goodix GT911, goodix_9271_cfg.bin for
GT9271).

The configuration information has a specific format described in the Goodix
datasheet. It includes X/Y resolution, maximum supported touch points,
interrupt flags, various sensitivity factors and settings for advanced
features (like gesture recognition).

Before writing the firmware, it is necessary to reset the device. If
the device ACPI/DT information does not declare gpio pins (needed for
reset), writing the firmware will not be available for these devices.

This is based on Goodix datasheets for GT911 and GT9271 and on Goodix
driver gt9xx.c for Android (publicly available in Android kernel
trees for various devices).

Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Tested-by: Bastien Nocera <hadess@hadess.net>
Tested-by: Aleksei Mamlin <mamlinav@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/goodix.c