mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
dt-bindings: input: matrix_keypad: convert to YAML
Convert the gpio-matrix-keypad bindings from text to DT schema. Signed-off-by: Markus Burri <markus.burri@mt.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Manuel Traut <manuel.traut@mt.com> Link: https://lore.kernel.org/r/20250110054906.354296-4-markus.burri@mt.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
2034fe663a
commit
e51cb50f0b
3 changed files with 89 additions and 50 deletions
|
@ -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>;
|
|
||||||
};
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/input/matrix-keymap.yaml#
|
||||||
|
|
||||||
|
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: 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>;
|
||||||
|
};
|
|
@ -23,7 +23,7 @@ List of legacy properties and respective binding document
|
||||||
|
|
||||||
1. "gpio-key,wakeup" Documentation/devicetree/bindings/input/gpio-keys{,-polled}.txt
|
1. "gpio-key,wakeup" Documentation/devicetree/bindings/input/gpio-keys{,-polled}.txt
|
||||||
2. "has-tpo" Documentation/devicetree/bindings/rtc/rtc-opal.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/mfd/tc3589x.txt
|
||||||
Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
|
Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
|
||||||
4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml
|
4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml
|
||||||
|
|
Loading…
Add table
Reference in a new issue