The MediaTek keypad controller has multiple operating modes: * single key detection (currently implemented) * double key detection With double key detection, each (row,column) is a group that can detect two keys in the key matrix. This minimizes the overall pin counts for cost reduction. However, pressing multiple keys in the same group will not be detected properly. On some boards, like mt8183-pumpkin, double key detection is used. Signed-off-by: Mattijs Korpershoek <mkorpershoek@xxxxxxxxxxxx> --- Changes in v2: - bindings: add matrix-keymap justification in commit message (Krzysztof) - bindings: switch from double-keys(boolean) to keys-per-group(uint32) (Krzysztof) - driver: add a function pointer for row/column calculation (Angelo) - Link to v1: https://lore.kernel.org/r/20220720-mt8183-keypad-v1-0-ef9fc29dbff4@xxxxxxxxxxxx --- Fabien Parent (2): arm64: dts: mediatek: mt8183: add keyboard node arm64: dts: mediatek: mt8183-pumpkin: add keypad support Mattijs Korpershoek (5): MAINTAINERS: input: add mattijs for mt6779-keypad dt-bindings: mediatek,mt6779-keypad: use unevaluatedProperties dt-bindings: mediatek,mt6779-keypad: add mediatek,keys-per-group Input: mt6779-keypad - prepare double keys support with calc_row_col Input: mt6779-keypad - support double keys matrix .../bindings/input/mediatek,mt6779-keypad.yaml | 8 ++++- MAINTAINERS | 6 ++++ arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts | 21 +++++++++++ arch/arm64/boot/dts/mediatek/mt8183.dtsi | 9 +++++ drivers/input/keyboard/mt6779-keypad.c | 41 ++++++++++++++++++++-- 5 files changed, 82 insertions(+), 3 deletions(-) --- base-commit: 668af1b6548837b44a2bfe65dcbae6b250adbf63 change-id: 20220720-mt8183-keypad-20aa77106ff0 Best regards, -- Mattijs Korpershoek <mkorpershoek@xxxxxxxxxxxx>