summaryrefslogtreecommitdiffstats
path: root/firmware/export/synaptics-rmi.h
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2016-05-02 22:01:22 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2016-06-01 23:08:17 +0200
commitb2afd931e2d83ce346811a68a34ee56c48be6d35 (patch)
tree58a32e570889406d0805d70054b97c99b257c8e8 /firmware/export/synaptics-rmi.h
parent4d42e3685c55a6de9d05003f8482f7fb1be022fd (diff)
downloadrockbox-b2afd931e2d83ce346811a68a34ee56c48be6d35.tar.gz
rockbox-b2afd931e2d83ce346811a68a34ee56c48be6d35.zip
fuze+: rewrite touchpad driver
The old driver was bad in many respect, it had some race conditions, it was using a thread to serialize transfers because of the legacy i2c interface. It also had huge latency (typically 50ms but delays up to 300ms can happen), thus some presses were missed. The new driver takes advantage of the new i2c driver to do everything asynchronously. It also does not need a thread anymore because queueing ensures proper serialization. It provides much better and reliable latency (typically ~2ms). Also fix the debug screen which was horribly broken. The new screen also displays the deadzones. Change-Id: I69b7f99b75053e6b1d3d56beb4453c004fd2076e
Diffstat (limited to 'firmware/export/synaptics-rmi.h')
-rw-r--r--firmware/export/synaptics-rmi.h22
1 files changed, 0 insertions, 22 deletions
diff --git a/firmware/export/synaptics-rmi.h b/firmware/export/synaptics-rmi.h
index 9d9d285fb6..e7fe14d7d5 100644
--- a/firmware/export/synaptics-rmi.h
+++ b/firmware/export/synaptics-rmi.h
@@ -123,26 +123,4 @@ struct rmi_2d_gesture_data_t
unsigned char flick;
} __attribute__((packed));
-/* Initialize the RMI driver, the i2c_bus_index is the bus index returned by
- * the generic_i2c driver; the i2c_dev_addr is the i2c address of the device.
- * NOTE: the driver automatically handles the page select mechanism used for
- * RMI over i2c and assumes a standard page select register at 0xff. */
-int rmi_init(int i2c_dev_addr);
-/* Read one or more registers.
- * WARNING: don't cross a page boundary ! */
-int rmi_read(int address, int byte_count, unsigned char *buffer);
-/* Read a single register (return -1 on error)
- * WARNING: beware of register consistency (N x read 1 byte != reads N bytes) */
-int rmi_read_single(int address); /* return byte value or <0 in case of error */
-/* Write one of more register
- * WARNING: don't cross a page boundary ! */
-int rmi_write(int address, int byte_count, const unsigned char *buffer);
-/* Write one register
- * WARNING: don't cross a page boundary ! */
-int rmi_write_single(int address, unsigned char byte);
-/* set the device to the given sleep mode */
-void rmi_set_sleep_mode(unsigned char sleep_mode);
-/* set the device's report rate to the given value */
-void rmi_set_report_rate(unsigned char report_rate);
-
#endif