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 v3 3/7] dt-bindings: input: matrix_keypad - convert to YAML
Date: Tue, 7 Jan 2025 13:09:34 -0600 [thread overview]
Message-ID: <20250107190934.GA1320081-robh@kernel.org> (raw)
In-Reply-To: <20250107135659.185293-4-markus.burri@mt.com>
On Tue, Jan 07, 2025 at 02:56:55PM +0100, Markus Burri wrote:
> Convert the gpio-matrix-keypad bindings from text to DT schema.
>
> Signed-off-by: Markus Burri <markus.burri@mt.com>
>
> ---
> .../bindings/input/gpio-matrix-keypad.txt | 49 -----------
> .../bindings/input/gpio-matrix-keypad.yaml | 86 +++++++++++++++++++
> .../bindings/power/wakeup-source.txt | 2 +-
> 3 files changed, 87 insertions(+), 50 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..75975a1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
> @@ -0,0 +1,86 @@
> +# 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
> +
> +maintainers:
> + - Marek Vasut <marek.vasut@gmail.com>
> +
> +description:
> + 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.
> +
> +properties:
> + compatible:
> + const: gpio-matrix-keypad
> +
> + row-gpios:
> + description:
> + 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:
> + 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.
> +
> + linux,keymap:
> + $ref: /schemas/input/matrix-keymap.yaml#/properties/linux,keymap
We generally don't reference individual properties. Instead, at the
top-level you need:
allOf:
- $ref: matrix-keymap.yaml#
And then here just: "linux,keymap: true"
> +
> + linux,no-autorepeat:
> + type: boolean
> + description: Do not enable autorepeat feature.
> +
> +
> + 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.
> +
> +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>;
> + };
> diff --git a/Documentation/devicetree/bindings/power/wakeup-source.txt b/Documentation/devicetree/bindings/power/wakeup-source.txt
> index 27f1797..66bb016 100644
> --- a/Documentation/devicetree/bindings/power/wakeup-source.txt
> +++ b/Documentation/devicetree/bindings/power/wakeup-source.txt
> @@ -23,7 +23,7 @@ List of legacy properties and respective binding document
>
> 1. "gpio-key,wakeup" Documentation/devicetree/bindings/input/gpio-keys{,-polled}.txt
> 2. "has-tpo" Documentation/devicetree/bindings/rtc/rtc-opal.txt
> -3. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
> +3. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
> Documentation/devicetree/bindings/mfd/tc3589x.txt
> Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
> 4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml
> --
> 2.39.5
>
next prev parent reply other threads:[~2025-01-07 19:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-07 13:56 [PATCH v3 0/7] Input: matrix-keypad: Various performance improvements Markus Burri
2025-01-07 13:56 ` [PATCH v3 1/7] Input: matrix_keypad - use fsleep for variable delay duration Markus Burri
2025-01-07 19:33 ` Thomas Weißschuh
2025-01-07 13:56 ` [PATCH v3 2/7] Input: matrix_keypad - add function for reading row state Markus Burri
2025-01-07 13:56 ` [PATCH v3 3/7] dt-bindings: input: matrix_keypad - convert to YAML Markus Burri
2025-01-07 19:09 ` Rob Herring [this message]
2025-01-07 13:56 ` [PATCH v3 4/7] dt-bindings: input: matrix_keypad - add missing property Markus Burri
2025-01-07 19:27 ` Rob Herring
2025-01-09 6:04 ` Dmitry Torokhov
2025-01-09 7:53 ` EXTERNAL - " Markus Burri
2025-01-08 8:34 ` Krzysztof Kozlowski
2025-01-07 13:56 ` [PATCH v3 5/7] dt-bindings: input: matrix_keypad - add settle time after enable all columns Markus Burri
2025-01-07 19:27 ` Rob Herring (Arm)
2025-01-07 13:56 ` [PATCH v3 6/7] Input: " Markus Burri
2025-01-07 13:56 ` [PATCH v3 7/7] Input: matrix_keypad - detect change during scan Markus Burri
-- strict thread matches above, loose matches on Subject: below --
2025-01-09 15:22 [PATCH v3 3/7] dt-bindings: input: matrix_keypad - convert to YAML kernel test robot
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=20250107190934.GA1320081-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.