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 | 88 +++++++++++++++++++
.../bindings/power/wakeup-source.txt | 2 +-
3 files changed, 89 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..0f348b9
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml
@@ -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>;
+ };
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
On Fri, Jan 10, 2025 at 06:49:02AM +0100, Markus Burri wrote: > Convert the gpio-matrix-keypad bindings from text to DT schema. > > Signed-off-by: Markus Burri <markus.burri@mt.com> > Applied, thank you. -- Dmitry
On Fri, Jan 10, 2025 at 06:49:02AM +0100, Markus Burri wrote: > Convert the gpio-matrix-keypad bindings from text to DT schema. > > Signed-off-by: Markus Burri <markus.burri@mt.com> Reviewed-by: Manuel Traut <manuel.traut@mt.com> > --- > .../bindings/input/gpio-matrix-keypad.txt | 49 ----------- > .../bindings/input/gpio-matrix-keypad.yaml | 88 +++++++++++++++++++ > .../bindings/power/wakeup-source.txt | 2 +- > 3 files changed, 89 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..0f348b9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml > @@ -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>; > + }; > 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 >
On Fri, 10 Jan 2025 06:49:02 +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 | 88 +++++++++++++++++++ > .../bindings/power/wakeup-source.txt | 2 +- > 3 files changed, 89 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 > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
© 2016 - 2025 Red Hat, Inc.