mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
Input: tsc2007 - reduce I2C transactions for Z2 read
The current implementation sends a separate power-down command after reading the Z2 value, resulting in an extra I2C transaction per measurement cycle. The TSC2007 command byte contains a 2-bit power-down mode selection field. By selecting the power-down state in the Z2 measurement command, the device powers down after the Z2 A/D conversion completes, eliminating the subsequent power-down transaction. This reduces the number of I2C transactions by one per touch measurement cycle, decreasing I2C bus overhead and improving touch sampling performance. Signed-off-by: Yuki Horii <yuuki198708@gmail.com> Tested-by: Andreas Kemnade <andreas@kemnade.info> # GTA04 Link: https://patch.msgid.link/20260410074100.1660-1-horiiyuk@ishida.co.jp Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
e7b91b2175
commit
7b9b6b34a6
|
|
@ -61,10 +61,8 @@ static void tsc2007_read_values(struct tsc2007 *tsc, struct ts_event *tc)
|
|||
|
||||
/* turn y+ off, x- on; we'll use formula #1 */
|
||||
tc->z1 = tsc2007_xfer(tsc, READ_Z1);
|
||||
tc->z2 = tsc2007_xfer(tsc, READ_Z2);
|
||||
|
||||
/* Prepare for next touch reading - power down ADC, enable PENIRQ */
|
||||
tsc2007_xfer(tsc, PWRDOWN);
|
||||
/* Read Z2 and power down ADC after A/D conversion, enable PENIRQ */
|
||||
tc->z2 = tsc2007_xfer(tsc, (TSC2007_POWER_OFF_IRQ_EN | TSC2007_MEASURE_Z2));
|
||||
}
|
||||
|
||||
u32 tsc2007_calculate_resistance(struct tsc2007 *tsc, struct ts_event *tc)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user