Message ID | 20220720-mt8183-keypad-v1-3-ef9fc29dbff4@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Input: mt6779-keypad - double keys support | expand |
On 20/07/2022 16:48, Mattijs Korpershoek wrote: > MediaTek keypad has 2 modes of detecting key events: > - single key: each (row, column) can detect one key > - double key: each (row, column) is a group of 2 keys > > Currently, only single key detection is supported (by default) > Add an optional property, mediatek,double-keys to support double > key detection. You focus here on driver implementation and behavior, but should rather focus on hardware, like - in such setup two keys are physically wired to one (row,column) pin. > > Double key support exists to minimize cost, since it reduces the number > of pins required for physical keys. > > Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> > > diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > index ca8ae40a73f7..03c9555849e5 100644 > --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > @@ -49,6 +49,12 @@ properties: > maximum: 256 > default: 16 > > + mediatek,double-keys: Do you think there could be another MT keypad version with triple-keys? > + description: | > + use double key matrix instead of single key > + when set, each (row,column) is a group that can detect 2 keys > + type: boolean > + > required: > - compatible > - reg > Best regards, Krzysztof
Il 20/07/22 16:48, Mattijs Korpershoek ha scritto: > MediaTek keypad has 2 modes of detecting key events: > - single key: each (row, column) can detect one key > - double key: each (row, column) is a group of 2 keys > > Currently, only single key detection is supported (by default) > Add an optional property, mediatek,double-keys to support double > key detection. > > Double key support exists to minimize cost, since it reduces the number > of pins required for physical keys. > > Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> > > diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > index ca8ae40a73f7..03c9555849e5 100644 > --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml > @@ -49,6 +49,12 @@ properties: > maximum: 256 > default: 16 > > + mediatek,double-keys: > + description: | > + use double key matrix instead of single key > + when set, each (row,column) is a group that can detect 2 keys We can make it shorter and (imo) easier to understand, like: mediatek,double-keys: description: Each (row, column) group has two keys ...also because, if we say that the group "can detect" two keys, it may be creating a misunderstandment such as "if I press one key, it gives me two different input events for two different keys.", which is something that wouldn't make a lot of sense, would it? :-) > + type: boolean > + > required: > - compatible > - reg
On Wed, Jul 20, 2022 at 19:26, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 20/07/2022 16:48, Mattijs Korpershoek wrote: >> MediaTek keypad has 2 modes of detecting key events: >> - single key: each (row, column) can detect one key >> - double key: each (row, column) is a group of 2 keys >> >> Currently, only single key detection is supported (by default) >> Add an optional property, mediatek,double-keys to support double >> key detection. > > You focus here on driver implementation and behavior, but should rather > focus on hardware, like - in such setup two keys are physically wired to > one (row,column) pin. Understood. Will reword in v2 to reflect that this is hardware description, not a software feature. > >> >> Double key support exists to minimize cost, since it reduces the number >> of pins required for physical keys. >> >> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> >> >> diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >> index ca8ae40a73f7..03c9555849e5 100644 >> --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >> +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >> @@ -49,6 +49,12 @@ properties: >> maximum: 256 >> default: 16 >> >> + mediatek,double-keys: > > Do you think there could be another MT keypad version with triple-keys? Of all the SoC's i've worked on (MT8167, MT8183, MT8365, MT8195) I've never seen a "triple-keys" keypad. > >> + description: | >> + use double key matrix instead of single key >> + when set, each (row,column) is a group that can detect 2 keys >> + type: boolean >> + >> required: >> - compatible >> - reg >> > > > Best regards, > Krzysztof
On Thu, Jul 21, 2022 at 10:40, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > Il 20/07/22 16:48, Mattijs Korpershoek ha scritto: >> MediaTek keypad has 2 modes of detecting key events: >> - single key: each (row, column) can detect one key >> - double key: each (row, column) is a group of 2 keys >> >> Currently, only single key detection is supported (by default) >> Add an optional property, mediatek,double-keys to support double >> key detection. >> >> Double key support exists to minimize cost, since it reduces the number >> of pins required for physical keys. >> >> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> >> >> diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >> index ca8ae40a73f7..03c9555849e5 100644 >> --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >> +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >> @@ -49,6 +49,12 @@ properties: >> maximum: 256 >> default: 16 >> >> + mediatek,double-keys: >> + description: | >> + use double key matrix instead of single key >> + when set, each (row,column) is a group that can detect 2 keys > > We can make it shorter and (imo) easier to understand, like: > > mediatek,double-keys: > > description: Each (row, column) group has two keys > > ...also because, if we say that the group "can detect" two keys, it may be > creating a misunderstandment such as "if I press one key, it gives me two > different input events for two different keys.", which is something that > wouldn't make a lot of sense, would it? :-) Hi AngeloGioacchino, Thank you for the suggestion. I like your description better as well :) Will use it in v2. > >> + type: boolean >> + >> required: >> - compatible >> - reg
On 21/07/2022 15:32, Mattijs Korpershoek wrote: >>> diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >>> index ca8ae40a73f7..03c9555849e5 100644 >>> --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >>> +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >>> @@ -49,6 +49,12 @@ properties: >>> maximum: 256 >>> default: 16 >>> >>> + mediatek,double-keys: >> >> Do you think there could be another MT keypad version with triple-keys? > > Of all the SoC's i've worked on (MT8167, MT8183, MT8365, MT8195) I've > never seen a "triple-keys" keypad. OK, but the binding you create now would be poor if MT comes with such tripe-key feature later... Best regards, Krzysztof
On Thu, Jul 21, 2022 at 15:51, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > On 21/07/2022 15:32, Mattijs Korpershoek wrote: >>>> diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >>>> index ca8ae40a73f7..03c9555849e5 100644 >>>> --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >>>> +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml >>>> @@ -49,6 +49,12 @@ properties: >>>> maximum: 256 >>>> default: 16 >>>> >>>> + mediatek,double-keys: >>> >>> Do you think there could be another MT keypad version with triple-keys? >> >> Of all the SoC's i've worked on (MT8167, MT8183, MT8365, MT8195) I've >> never seen a "triple-keys" keypad. > > OK, but the binding you create now would be poor if MT comes with such > tripe-key feature later... ACK, I'll send a v2 to transform this into a uint32 property named mediatek,keys-per-group Thanks, Mattijs > > > Best regards, > Krzysztof
diff --git a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml index ca8ae40a73f7..03c9555849e5 100644 --- a/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml +++ b/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml @@ -49,6 +49,12 @@ properties: maximum: 256 default: 16 + mediatek,double-keys: + description: | + use double key matrix instead of single key + when set, each (row,column) is a group that can detect 2 keys + type: boolean + required: - compatible - reg
MediaTek keypad has 2 modes of detecting key events: - single key: each (row, column) can detect one key - double key: each (row, column) is a group of 2 keys Currently, only single key detection is supported (by default) Add an optional property, mediatek,double-keys to support double key detection. Double key support exists to minimize cost, since it reduces the number of pins required for physical keys. Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>