Linux on ARM based TI OMAP SoCs
 help / color / mirror / Atom feed
* [PATCH v2 0/2] dt-bindings: input: Convert TI Keypad Controller to DT schema
@ 2026-07-19 13:37 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
  0 siblings, 2 replies; 5+ 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 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.

v1:
https://lore.kernel.org/all/20260708123252.1768355-1-egbostina@gmail.com/

Eduard Bostina (2):
  dt-bindings: input: Convert TI Keypad Controller to DT schema
  ARM: dts: ti: omap: Disable keypad and enable it on the boards that
    use it

 .../devicetree/bindings/input/omap-keypad.txt | 28 ---------
 .../bindings/input/ti,omap4-keypad.yaml       | 63 +++++++++++++++++++
 .../omap/motorola-mapphone-mz607-mz617.dtsi   |  2 +
 .../dts/ti/omap/omap4-droid-bionic-xt875.dts  |  2 +
 .../boot/dts/ti/omap/omap4-droid4-xt894.dts   |  2 +
 .../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 +
 9 files changed, 75 insertions(+), 28 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/omap-keypad.txt
 create mode 100644 Documentation/devicetree/bindings/input/ti,omap4-keypad.yaml


base-commit: 0718283ab28bc3907e10b61a6b4be6fefa1cbb2f
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [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
  1 sibling, 1 reply; 5+ 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 related	[flat|nested] 5+ 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
  1 sibling, 1 reply; 5+ 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 related	[flat|nested] 5+ 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; 5+ 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] 5+ 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; 5+ 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] 5+ messages in thread

end of thread, other threads:[~2026-08-12  6:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-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-12  6:09   ` Andreas Kemnade

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox