Breaking change in st1232 multitouch support

From: Matthias Schiffer
Date: Tue May 30 2023 - 10:00:02 EST


Hi everyone,

I've found that something strange has happened in the ST1232 driver:
Through Martin's patch that was supposed to add support for the ST1633
(commit 351e059 "Input: st1232 - add support for st1633") and a number
of subsequent fixes (b1a402e, 95c9ea9), the driver has come to not
actually support the ST1232 anymore, as the older ST1232/ST1332 and the
newer models (ST1633, various other) seem to have incompatible register
maps.

[1] shows the original register map, which assigns 3 registers to each
finger (0x12-0x14, 0x15-0x17), while [2] describes a different map
where 4 subsequent registers are assigned to each finger.

[2] does list "ST1x32" as a supported part though, but I'm not sure if
this is not supposed to include ST1232/ST1332, or if there was a
firmware update at some point that changed the register assignment.

If this breaking change was unintended, should the change be reverted
partially, so the code matches the ST1232/ST1332 datasheet again for
the "sitronix,st1232" compatible, and the new code is only used for
"sitronix,st1633"?

Adding Mark Brown to cc as a somewhat recent committer to a DTS that
references the "sitronix,st1232" compatible (imx6qdl-udoo), in the hope
that he has a matching display and could verify that multitouch is
indeed broken with recent kernels.

[1]
https://www.displayfuture.com/Display/datasheet/controller/ST1332.pdf
[2]
https://www.crystalfontz.com/products/document/4590/Sitronix_Touch_IC_Protocol_A_V2.7.pdf


Kind regards,
Matthias

--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/