18c2ecf20Sopenharmony_ciEDT ft5x06 based Polytouch devices
28c2ecf20Sopenharmony_ci----------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThe edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
58c2ecf20Sopenharmony_citouch screens. Note that it is *not* suitable for other devices based on the
68c2ecf20Sopenharmony_cifocaltec ft5x06 devices, since they contain vendor-specific firmware. In
78c2ecf20Sopenharmony_ciparticular this driver is not suitable for the Nook tablet.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciIt has been tested with the following devices:
108c2ecf20Sopenharmony_ci  * EP0350M06
118c2ecf20Sopenharmony_ci  * EP0430M06
128c2ecf20Sopenharmony_ci  * EP0570M06
138c2ecf20Sopenharmony_ci  * EP0700M06
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciThe driver allows configuration of the touch screen via a set of sysfs files:
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/sys/class/input/eventX/device/device/threshold:
188c2ecf20Sopenharmony_ci    allows setting the "click"-threshold in the range from 0 to 80.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci/sys/class/input/eventX/device/device/gain:
218c2ecf20Sopenharmony_ci    allows setting the sensitivity in the range from 0 to 31. Note that
228c2ecf20Sopenharmony_ci    lower values indicate higher sensitivity.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci/sys/class/input/eventX/device/device/offset:
258c2ecf20Sopenharmony_ci    allows setting the edge compensation in the range from 0 to 31.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci/sys/class/input/eventX/device/device/report_rate:
288c2ecf20Sopenharmony_ci    allows setting the report rate in the range from 3 to 14.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciFor debugging purposes the driver provides a few files in the debug
328c2ecf20Sopenharmony_cifilesystem (if available in the kernel). In /sys/kernel/debug/edt_ft5x06
338c2ecf20Sopenharmony_ciyou'll find the following files:
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_cinum_x, num_y:
368c2ecf20Sopenharmony_ci    (readonly) contains the number of sensor fields in X- and
378c2ecf20Sopenharmony_ci    Y-direction.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_cimode:
408c2ecf20Sopenharmony_ci    allows switching the sensor between "factory mode" and "operation
418c2ecf20Sopenharmony_ci    mode" by writing "1" or "0" to it. In factory mode (1) it is
428c2ecf20Sopenharmony_ci    possible to get the raw data from the sensor. Note that in factory
438c2ecf20Sopenharmony_ci    mode regular events don't get delivered and the options described
448c2ecf20Sopenharmony_ci    above are unavailable.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciraw_data:
478c2ecf20Sopenharmony_ci    contains num_x * num_y big endian 16 bit values describing the raw
488c2ecf20Sopenharmony_ci    values for each sensor field. Note that each read() call on this
498c2ecf20Sopenharmony_ci    files triggers a new readout. It is recommended to provide a buffer
508c2ecf20Sopenharmony_ci    big enough to contain num_x * num_y * 2 bytes.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciNote that reading raw_data gives a I/O error when the device is not in factory
538c2ecf20Sopenharmony_cimode. The same happens when reading/writing to the parameter files when the
548c2ecf20Sopenharmony_cidevice is not in regular operation mode.
55