* [PATCH v2 1/2] dt-bindings: input: Convert TI Keypad Controller to DT schema
2026-07-19 13:37 [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema Eduard Bostina
@ 2026-07-19 13:37 ` Eduard Bostina
2026-07-21 13:48 ` Rob Herring (Arm)
2026-07-19 13:37 ` [PATCH v2 2/2] ARM: dts: ti: omap: Disable keypad and enable it on the boards that use it Eduard Bostina
2026-08-31 18:11 ` [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema Kevin Hilman
2 siblings, 1 reply; 6+ messages in thread
From: Eduard Bostina @ 2026-07-19 13:37 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Conor Dooley, devicetree,
Dmitry Torokhov, Eduard Bostina, Kevin Hilman,
Krzysztof Kozlowski, linux-input, linux-kernel, linux-omap,
Rob Herring, Roger Quadros, Tony Lindgren
Cc: daniel.baluta, simona.toaca, goledhruva, m-chawdhry
Convert the Texas Instruments Keypad Controller bindings
to DT schema.
During the conversion, the following updates were made:
- Corrected the documented property 'linux,keypad-no-autorepeat'
to 'linux,input-no-autorepeat'. The old text binding documented
the property incorrectly. The standard input subsystem property is
'linux,input-no-autorepeat', which is actively used in device
trees and parsed by the kernel.
- Added the 'reg-names' property ("mpu"), which was omitted from
the original text binding but is actively used in device trees.
Signed-off-by: Eduard Bostina <egbostina@gmail.com>
---
.../devicetree/bindings/input/omap-keypad.txt | 28 ---------
.../bindings/input/ti,omap4-keypad.yaml | 63 +++++++++++++++++++
2 files changed, 63 insertions(+), 28 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/omap-keypad.txt
create mode 100644 Documentation/devicetree/bindings/input/ti,omap4-keypad.yaml
diff --git a/Documentation/devicetree/bindings/input/omap-keypad.txt b/Documentation/devicetree/bindings/input/omap-keypad.txt
deleted file mode 100644
index 34ed1c60ff95..000000000000
--- a/Documentation/devicetree/bindings/input/omap-keypad.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-* TI's Keypad Controller device tree bindings
-
-TI's Keypad controller is used to interface a SoC with a matrix-type
-keypad device. The keypad controller supports multiple row and column lines.
-A key can be placed at each intersection of a unique row and a unique column.
-The keypad controller can sense a key-press and key-release and report the
-event using a interrupt to the cpu.
-
-This binding is based on the matrix-keymap binding with the following
-changes:
-
-keypad,num-rows and keypad,num-columns are required.
-
-Required SoC Specific Properties:
-- compatible: should be one of the following
- - "ti,omap4-keypad": For controllers compatible with omap4 keypad
- controller.
-
-Optional Properties specific to linux:
-- linux,keypad-no-autorepeat: do no enable autorepeat feature.
-
-Example:
- keypad@4ae1c000{
- compatible = "ti,omap4-keypad";
- keypad,num-rows = <2>;
- keypad,num-columns = <8>;
- linux,keypad-no-autorepeat;
- };
diff --git a/Documentation/devicetree/bindings/input/ti,omap4-keypad.yaml b/Documentation/devicetree/bindings/input/ti,omap4-keypad.yaml
new file mode 100644
index 000000000000..5e0c101f9ba0
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,omap4-keypad.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/ti,omap4-keypad.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments Keypad Controller
+
+maintainers:
+ - Eduard Bostina <egbostina@gmail.com>
+
+description:
+ TI's Keypad controller is used to interface a SoC with a matrix-type
+ keypad device. The keypad controller supports multiple row and column lines.
+ A key can be placed at each intersection of a unique row and a unique column.
+ The keypad controller can sense a key-press and key-release and report the
+ event using a interrupt to the cpu.
+
+allOf:
+ - $ref: /schemas/input/matrix-keymap.yaml#
+
+properties:
+ compatible:
+ const: ti,omap4-keypad
+
+ reg:
+ maxItems: 1
+
+ reg-names:
+ const: mpu
+
+ interrupts:
+ maxItems: 1
+
+ linux,input-no-autorepeat:
+ type: boolean
+ description: Do not enable autorepeat feature.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - keypad,num-rows
+ - keypad,num-columns
+ - linux,keymap
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ keypad@4ae1c000 {
+ compatible = "ti,omap4-keypad";
+ reg = <0x4ae1c000 0x400>;
+ reg-names = "mpu";
+ interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+ keypad,num-rows = <2>;
+ keypad,num-columns = <8>;
+ linux,keymap = <0x00000011 /* KEY_W */
+ 0x0001001f>; /* KEY_S */
+ linux,input-no-autorepeat;
+ };
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 1/2] dt-bindings: input: Convert TI Keypad Controller to DT schema
2026-07-19 13:37 ` [PATCH v2 1/2] " Eduard Bostina
@ 2026-07-21 13:48 ` Rob Herring (Arm)
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2026-07-21 13:48 UTC (permalink / raw)
To: Eduard Bostina
Cc: Andreas Kemnade, Dmitry Torokhov, Krzysztof Kozlowski,
linux-kernel, Aaro Koskinen, Tony Lindgren, linux-omap,
daniel.baluta, goledhruva, m-chawdhry, Conor Dooley, devicetree,
linux-input, Kevin Hilman, simona.toaca, Roger Quadros
On Sun, 19 Jul 2026 13:37:29 +0000, Eduard Bostina wrote:
> Convert the Texas Instruments Keypad Controller bindings
> to DT schema.
>
> During the conversion, the following updates were made:
> - Corrected the documented property 'linux,keypad-no-autorepeat'
> to 'linux,input-no-autorepeat'. The old text binding documented
> the property incorrectly. The standard input subsystem property is
> 'linux,input-no-autorepeat', which is actively used in device
> trees and parsed by the kernel.
> - Added the 'reg-names' property ("mpu"), which was omitted from
> the original text binding but is actively used in device trees.
>
> Signed-off-by: Eduard Bostina <egbostina@gmail.com>
> ---
> .../devicetree/bindings/input/omap-keypad.txt | 28 ---------
> .../bindings/input/ti,omap4-keypad.yaml | 63 +++++++++++++++++++
> 2 files changed, 63 insertions(+), 28 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/omap-keypad.txt
> create mode 100644 Documentation/devicetree/bindings/input/ti,omap4-keypad.yaml
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] ARM: dts: ti: omap: Disable keypad and enable it on the boards that use it
2026-07-19 13:37 [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema Eduard Bostina
2026-07-19 13:37 ` [PATCH v2 1/2] " Eduard Bostina
@ 2026-07-19 13:37 ` Eduard Bostina
2026-08-12 6:09 ` Andreas Kemnade
2026-08-31 18:11 ` [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema Kevin Hilman
2 siblings, 1 reply; 6+ messages in thread
From: Eduard Bostina @ 2026-07-19 13:37 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Conor Dooley, devicetree,
Dmitry Torokhov, Eduard Bostina, Kevin Hilman,
Krzysztof Kozlowski, linux-input, linux-kernel, linux-omap,
Rob Herring, Roger Quadros, Tony Lindgren
Cc: daniel.baluta, simona.toaca, goledhruva, m-chawdhry
The keypad node in omap4-l4.dtsi and omap5-l4.dtsi lacks the matrix keymap,
which is board specific. The binding requires the matrix properties, so the
incomplete template nodes fail dtbs_check.
Mark the keypad disabled in the SoC files and enable it on the boards
that actually complete the node with a keymap.
Signed-off-by: Eduard Bostina <egbostina@gmail.com>
---
arch/arm/boot/dts/ti/omap/motorola-mapphone-mz607-mz617.dtsi | 2 ++
arch/arm/boot/dts/ti/omap/omap4-droid-bionic-xt875.dts | 2 ++
arch/arm/boot/dts/ti/omap/omap4-droid4-xt894.dts | 2 ++
arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts | 2 ++
arch/arm/boot/dts/ti/omap/omap4-l4.dtsi | 1 +
arch/arm/boot/dts/ti/omap/omap4-sdp.dts | 2 ++
arch/arm/boot/dts/ti/omap/omap5-l4.dtsi | 1 +
7 files changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/ti/omap/motorola-mapphone-mz607-mz617.dtsi b/arch/arm/boot/dts/ti/omap/motorola-mapphone-mz607-mz617.dtsi
index a356b3a2f24e..b97ab2906950 100644
--- a/arch/arm/boot/dts/ti/omap/motorola-mapphone-mz607-mz617.dtsi
+++ b/arch/arm/boot/dts/ti/omap/motorola-mapphone-mz607-mz617.dtsi
@@ -4,6 +4,8 @@
#include "motorola-mapphone-common.dtsi"
&keypad {
+ status = "okay";
+
keypad,num-rows = <8>;
keypad,num-columns = <8>;
linux,keymap = <MATRIX_KEY(5, 0, KEY_VOLUMEUP)>,
diff --git a/arch/arm/boot/dts/ti/omap/omap4-droid-bionic-xt875.dts b/arch/arm/boot/dts/ti/omap/omap4-droid-bionic-xt875.dts
index 1d9000f84f1b..e72ac17fdd96 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-droid-bionic-xt875.dts
+++ b/arch/arm/boot/dts/ti/omap/omap4-droid-bionic-xt875.dts
@@ -18,6 +18,8 @@ aliases {
};
&keypad {
+ status = "okay";
+
keypad,num-rows = <8>;
keypad,num-columns = <8>;
linux,keymap = <
diff --git a/arch/arm/boot/dts/ti/omap/omap4-droid4-xt894.dts b/arch/arm/boot/dts/ti/omap/omap4-droid4-xt894.dts
index cc3f3e1b65ea..62f87cf95f74 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-droid4-xt894.dts
+++ b/arch/arm/boot/dts/ti/omap/omap4-droid4-xt894.dts
@@ -46,6 +46,8 @@ slider {
};
&keypad {
+ status = "okay";
+
keypad,num-rows = <8>;
keypad,num-columns = <8>;
linux,keymap = <
diff --git a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
index e11d1931c42a..d51913620f06 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
+++ b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
@@ -428,6 +428,8 @@ mpu9150: imu@68 {
};
&keypad {
+ status = "okay";
+
pinctrl-names = "default";
pinctrl-0 = <&keypad_pins>;
keypad,num-rows = <2>;
diff --git a/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi b/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi
index c1afc49f456c..00f98991cc5c 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap4-l4.dtsi
@@ -1200,6 +1200,7 @@ keypad: keypad@0 {
reg = <0x0 0x80>;
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
reg-names = "mpu";
+ status = "disabled";
};
};
diff --git a/arch/arm/boot/dts/ti/omap/omap4-sdp.dts b/arch/arm/boot/dts/ti/omap/omap4-sdp.dts
index b550105585a1..a04234b3be2a 100644
--- a/arch/arm/boot/dts/ti/omap/omap4-sdp.dts
+++ b/arch/arm/boot/dts/ti/omap/omap4-sdp.dts
@@ -531,6 +531,8 @@ &emif2 {
};
&keypad {
+ status = "okay";
+
keypad,num-rows = <8>;
keypad,num-columns = <8>;
linux,keymap = <0x00000012 /* KEY_E */
diff --git a/arch/arm/boot/dts/ti/omap/omap5-l4.dtsi b/arch/arm/boot/dts/ti/omap/omap5-l4.dtsi
index 72849e1c95b0..af32ca329930 100644
--- a/arch/arm/boot/dts/ti/omap/omap5-l4.dtsi
+++ b/arch/arm/boot/dts/ti/omap/omap5-l4.dtsi
@@ -2449,6 +2449,7 @@ target-module@c000 { /* 0x4ae1c000, ap 11 1c.0 */
keypad: keypad@0 {
compatible = "ti,omap4-keypad";
reg = <0x0 0x400>;
+ status = "disabled";
};
};
};
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/2] ARM: dts: ti: omap: Disable keypad and enable it on the boards that use it
2026-07-19 13:37 ` [PATCH v2 2/2] ARM: dts: ti: omap: Disable keypad and enable it on the boards that use it Eduard Bostina
@ 2026-08-12 6:09 ` Andreas Kemnade
0 siblings, 0 replies; 6+ messages in thread
From: Andreas Kemnade @ 2026-08-12 6:09 UTC (permalink / raw)
To: Eduard Bostina
Cc: Aaro Koskinen, Conor Dooley, devicetree, Dmitry Torokhov,
Kevin Hilman, Krzysztof Kozlowski, linux-input, linux-kernel,
linux-omap, Rob Herring, Roger Quadros, Tony Lindgren,
daniel.baluta, simona.toaca, goledhruva, m-chawdhry
On Sun, 19 Jul 2026 13:37:30 +0000
Eduard Bostina <egbostina@gmail.com> wrote:
> The keypad node in omap4-l4.dtsi and omap5-l4.dtsi lacks the matrix keymap,
> which is board specific. The binding requires the matrix properties, so the
> incomplete template nodes fail dtbs_check.
>
> Mark the keypad disabled in the SoC files and enable it on the boards
> that actually complete the node with a keymap.
>
> Signed-off-by: Eduard Bostina <egbostina@gmail.com>
the ti-sysc stuff will properly disable these things. While a bit anti-pattern
in the OMAP world, it is a more common pattern overall and for the sake
of correct bindings, it is fine. So
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema
2026-07-19 13:37 [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema Eduard Bostina
2026-07-19 13:37 ` [PATCH v2 1/2] " Eduard Bostina
2026-07-19 13:37 ` [PATCH v2 2/2] ARM: dts: ti: omap: Disable keypad and enable it on the boards that use it Eduard Bostina
@ 2026-08-31 18:11 ` Kevin Hilman
2 siblings, 0 replies; 6+ messages in thread
From: Kevin Hilman @ 2026-08-31 18:11 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Conor Dooley, devicetree,
Dmitry Torokhov, Krzysztof Kozlowski, linux-input, linux-kernel,
linux-omap, Rob Herring, Roger Quadros, Tony Lindgren,
Eduard Bostina
Cc: daniel.baluta, simona.toaca, goledhruva, m-chawdhry
On Sun, 19 Jul 2026 13:37:28 +0000, Eduard Bostina wrote:
> The first patch converts the TI Keypad Controller binding to DT schema.
> The second patch updates the OMAP4 and OMAP5 device trees, which is
> needed because the schema requires the matrix properties.
>
> Changes in v2:
> - Added 'interrupts', 'keypad,num-rows', 'keypad,num-columns' and
> 'linux,keymap' to the required list.
> - Dropped the '|' from the description.
> - Added the DTS patch, so the OMAP4 and OMAP5 boards still pass
> dtbs_check with the required properties in place.
>
> [...]
Applied, thanks!
[1/2] dt-bindings: input: Convert TI Keypad Controller to DT schema
commit: 6980da9a69f59b3d061c317ed12d11fe4aa90386
[2/2] ARM: dts: ti: omap: Disable keypad and enable it on the boards that use it
commit: 8d36324171f982c8e1d7f2df428faa5b05e7b1d4
Best regards,
--
Kevin Hilman (TI) <khilman@baylibre.com>
^ permalink raw reply [flat|nested] 6+ messages in thread