Hi Dmitry,
Thank you for your review,
On dim., mai 15, 2022 at 22:23, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
On Fri, May 13, 2022 at 05:18:44PM +0200, Mattijs Korpershoek wrote:That's not supported, in hardware, according to the datasheet.
In mt6779_keypad_irq_handler(), we
1. Read a hardware code from KPD_MEM1 -> KPD_MEM5
2. Use that hardware code to compute columns/rows for the standard
keyboard matrix.
According to the (non-public) datasheet, the
map between the hardware code and the cols/rows is:
|(0) |(1) |(2)
----*-----*-----*-----
| | |
|(9) |(10) |(11)
----*-----*-----*-----
| | |
|(18) |(19) |(20)
----*-----*-----*-----
| | |
This brings us to another formula:
-> row = code / 9;
-> col = code % 3;
What if there are more than 3 columns?
The datasheet I have states that "The interface of MT6763 only supports
3*3 single or 2*2 double, but internal ASIC still detects keys in the
manner of 8*8 single, and 3*3 double. The registers and key codes still
follows the legacy naming".
Should I add another patch in this series to add that limitation in the
probe? There are no checks done in the probe() right now.