From: Rob Herring <robh@kernel.org>
To: Markus Burri <markus.burri@mt.com>
Cc: linux-kernel@vger.kernel.org,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Marek Vasut <marek.vasut@gmail.com>,
linux-input@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v2 3/7] dt-bindings: input: matrix_keypad - convert to YAML
Date: Mon, 11 Nov 2024 15:37:23 -0600 [thread overview]
Message-ID: <20241111213723.GA1976774-robh@kernel.org> (raw)
In-Reply-To: <20241105130322.213623-4-markus.burri@mt.com>
On Tue, Nov 05, 2024 at 02:03:18PM +0100, Markus Burri wrote:
> Convert the gpio-matrix-keypad bindings from text to DT schema.
Please don't thread new versions to previous thread.
>
> Signed-off-by: Markus Burri <markus.burri@mt.com>
> ---
> .../bindings/input/gpio-matrix-keypad.txt | 49 ---------
> .../bindings/input/gpio-matrix-keypad.yaml | 99 +++++++++++++++++++
> 2 files changed, 99 insertions(+), 49 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
> create mode 100644 Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
> deleted file mode 100644
> index 570dc10..0000000
> --- a/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -* GPIO driven matrix keypad device tree bindings
> -
> -GPIO driven matrix keypad is used to interface a SoC with a matrix keypad.
> -The matrix keypad supports multiple row and column lines, a key can be
> -placed at each intersection of a unique row and a unique column. The matrix
> -keypad can sense a key-press and key-release by means of GPIO lines and
> -report the event using GPIO interrupts to the cpu.
> -
> -Required Properties:
> -- compatible: Should be "gpio-matrix-keypad"
> -- row-gpios: List of gpios used as row lines. The gpio specifier
> - for this property depends on the gpio controller to
> - which these row lines are connected.
> -- col-gpios: List of gpios used as column lines. The gpio specifier
> - for this property depends on the gpio controller to
> - which these column lines are connected.
> -- linux,keymap: The definition can be found at
> - bindings/input/matrix-keymap.txt
> -
> -Optional Properties:
> -- linux,no-autorepeat: do no enable autorepeat feature.
> -- wakeup-source: use any event on keypad as wakeup event.
> - (Legacy property supported: "linux,wakeup")
> -- debounce-delay-ms: debounce interval in milliseconds
> -- col-scan-delay-us: delay, measured in microseconds, that is needed
> - before we can scan keypad after activating column gpio
> -- drive-inactive-cols: drive inactive columns during scan,
> - default is to turn inactive columns into inputs.
> -
> -Example:
> - matrix-keypad {
> - compatible = "gpio-matrix-keypad";
> - debounce-delay-ms = <5>;
> - col-scan-delay-us = <2>;
> -
> - row-gpios = <&gpio2 25 0
> - &gpio2 26 0
> - &gpio2 27 0>;
> -
> - col-gpios = <&gpio2 21 0
> - &gpio2 22 0>;
> -
> - linux,keymap = <0x0000008B
> - 0x0100009E
> - 0x02000069
> - 0x0001006A
> - 0x0101001C
> - 0x0201006C>;
> - };
> diff --git a/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
> new file mode 100644
> index 0000000..745652b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
> @@ -0,0 +1,99 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +
> +$id: http://devicetree.org/schemas/input/gpio-matrix-keypad.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: GPIO matrix keypad
> +
> +description: |
Don't need '|' if no formatting.
> + GPIO driven matrix keypad is used to interface a SoC with a matrix keypad.
> + The matrix keypad supports multiple row and column lines, a key can be
> + placed at each intersection of a unique row and a unique column. The matrix
> + keypad can sense a key-press and key-release by means of GPIO lines and
> + report the event using GPIO interrupts to the cpu.
> +
> +maintainers:
> + - Marek Vasut <marek.vasut@gmail.com>
> +
> +properties:
> + compatible:
> + const: gpio-matrix-keypad
> +
> + row-gpios:
> + description: |
Ditto.
> + List of GPIOs used as row lines. The gpio specifier
> + for this property depends on the gpio controller to
> + which these row lines are connected.
Why the odd line length? Wrap at 80 char unless there's some exceptional
reason to go to 100.
> +
> + col-gpios:
> + description: |
> + List of GPIOs used as column lines. The gpio specifier
> + for this property depends on the gpio controller to
> + which these column lines are connected.
Is there some reasonable range of GPIOs? 1xN is in theory possible, but
surely no one would use N+1 GPIOs for what could be done with N GPIOs?
So 'minItems: 2'. A max is not so clear. Eventually, I guess you
couldn't scan them fast enough. 64 or 128 seems like way more than
anyone would do.
> +
> + linux,keymap:
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + description: |
> + An array of packed 1-cell entries containing the equivalent of row,
> + column and linux key-code. The 32-bit big endian cell is packed as:
> + row << 24 | column << 16 | key-code
If you are copying another schema, you are doing it wrong...
You need a $ref to matrix-keymap.yaml.
> +
> + linux,no-autorepeat:
> + type: boolean
> + description: Do not enable autorepeat feature.
> + default: false
Drop 'default'. Doesn't apply to booleans.
> +
> + wakeup-source:
> + description: |
> + Use any event on keypad as wakeup event.
> + (Legacy property supported: "linux,wakeup")
Not supported if it is not in the schema. I imagine that's been
deprecated long enough, you can just drop mentioning it.
> + default: false
Drop.
> +
> + debounce-delay-ms:
> + description: Debounce interval in milliseconds.
> + default: 0
> +
> + col-scan-delay-us:
> + description: |
> + Delay, measured in microseconds, that is needed
> + before we can scan keypad after activating column gpio.
> + default: 0
> +
> + drive-inactive-cols:
> + type: boolean
> + description: |
> + Drive inactive columns during scan,
> + default is to turn inactive columns into inputs.
> + default: false
Drop
> +
> +required:
> + - compatible
> + - row-gpios
> + - col-gpios
> + - linux,keymap
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + matrix-keypad {
> + compatible = "gpio-matrix-keypad";
> + debounce-delay-ms = <5>;
> + col-scan-delay-us = <2>;
> +
> + row-gpios = <&gpio2 25 0
> + &gpio2 26 0
> + &gpio2 27 0>;
> +
> + col-gpios = <&gpio2 21 0
> + &gpio2 22 0>;
> +
> + linux,keymap = <0x0000008B
> + 0x0100009E
> + 0x02000069
> + 0x0001006A
> + 0x0101001C
> + 0x0201006C>;
> + };
> --
> 2.39.5
>
next prev parent reply other threads:[~2024-11-11 21:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-31 6:29 [PATCH 0/6] Input: matrix-keypad: Various performance improvements Markus Burri
2024-10-31 6:29 ` [PATCH 1/6] Input: matrix_keypad - move gpio-row init to the init part Markus Burri
2024-10-31 6:30 ` [PATCH 2/6] Input: matrix_keypad - use fsleep for variable delay duration Markus Burri
2024-10-31 6:30 ` [PATCH 3/6] Input: matrix_keypad - add function for reading row state Markus Burri
2024-10-31 6:30 ` [PATCH 4/6] dt-bindings: input: matrix_keypad - add settle time after enable all columns Markus Burri
2024-10-31 8:32 ` Krzysztof Kozlowski
2024-10-31 6:30 ` [PATCH 5/6] Input: " Markus Burri
2024-10-31 6:30 ` [PATCH 6/6] Input: matrix_keypad - detect change during scan Markus Burri
2024-11-05 13:03 ` [PATCH v2 0/7] Input: matrix-keypad: Various performance improvements Markus Burri
2024-11-05 13:03 ` [PATCH v2 1/7] Input: matrix_keypad - use fsleep for variable delay duration Markus Burri
2024-11-05 19:16 ` Dmitry Torokhov
2024-11-05 13:03 ` [PATCH v2 2/7] Input: matrix_keypad - add function for reading row state Markus Burri
2024-11-05 13:03 ` [PATCH v2 3/7] dt-bindings: input: matrix_keypad - convert to YAML Markus Burri
2024-11-05 17:20 ` kernel test robot
2024-11-11 21:37 ` Rob Herring [this message]
2024-11-05 13:03 ` [PATCH v2 4/7] dt-bindings: input: matrix_keypad - add missing property Markus Burri
2024-11-05 18:22 ` Conor Dooley
2024-11-05 19:14 ` Dmitry Torokhov
2024-11-06 16:24 ` Conor Dooley
2024-11-05 13:03 ` [PATCH v2 5/7] dt-bindings: input: matrix_keypad - add settle time after enable all columns Markus Burri
2024-11-11 21:38 ` Rob Herring
2024-11-05 13:03 ` [PATCH v2 6/7] Input: " Markus Burri
2024-11-05 13:03 ` [PATCH v2 7/7] Input: matrix_keypad - detect change during scan Markus Burri
2024-11-05 19:19 ` Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241111213723.GA1976774-robh@kernel.org \
--to=robh@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marek.vasut@gmail.com \
--cc=markus.burri@mt.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.