Re: [v2,2/4] Input: mt-matrix-keypad: Add Bosch mt matrix keypad driver

From: Gireesh.Hiremath
Date: Mon Jun 13 2022 - 04:07:47 EST


From: Gireesh Hiremath <Gireesh.Hiremath@xxxxxxxxxxxx>

Hi Krzysztof,

>You wrote pretty long message explaining how the device works, but I
>still do not see the answer to questions - why it cannot be part of
>matrix keypad?

Following are the difference between matrix keypad and Bosch keypad
make us to add another keypad driver.

matrix keypad:
- By hardware schematic, a column GPIO line will intersect only
with row GPIO lines, not with the other column GPIO lines
- so, row and column GPIO property are fixed, because of this
- key scanning work based on interrupt mode
- and key press is determined based on setting column as output,
row GPIO as input and set interrupt to monitor the changes in state,
serve the key pressed in ISR

Bosch keypad:
- By hardware schematic column GPIO line can intersect with row GPIO line
as well as other column GPIO lines
- so, all GPIO act as row as well as column, because of this
- key scanning based on polling mode
- a key pressed is determined by setting one of GPIO line as output and
other as input and poll for change in the state of input GPIO lines.
Setting one of a GPIO line as output and remaining GPIO lines as input is on
round robin bases.
>
>"It looks like this driver has smaller number of features than
>matrix-keypad, so it should be integrated into the matrix-keypad.
>matrix-keypad features are superset to this one."
>
>"But anyway this should be just merged into matrix-keypad. It's a
>simpler set of that binding."

This keypad driver specific to Bosch measuring tool or similar devices.
Please let me know to send latest patch which resolves build warning
and gpiod API support.

Best regards,
Gireesh Hiremath