| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/input/ti,twl4030-keypad.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Texas Instruments TWL4030-family Keypad Controller |
| |
| maintainers: |
| - Peter Ujfalusi <peter.ujfalusi@gmail.com> |
| |
| description: |
| TWL4030'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: matrix-keymap.yaml# |
| |
| properties: |
| compatible: |
| const: ti,twl4030-keypad |
| |
| interrupts: |
| maxItems: 1 |
| |
| required: |
| - compatible |
| - interrupts |
| - keypad,num-rows |
| - keypad,num-columns |
| - linux,keymap |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/input/input.h> |
| |
| keypad { |
| compatible = "ti,twl4030-keypad"; |
| interrupts = <1>; |
| keypad,num-rows = <8>; |
| keypad,num-columns = <8>; |
| linux,keymap = < |
| /* row 0 */ |
| MATRIX_KEY(0, 0, KEY_1) |
| MATRIX_KEY(0, 1, KEY_2) |
| MATRIX_KEY(0, 2, KEY_3) |
| |
| /* ...and so on for a full 8x8 matrix... */ |
| |
| /* row 7 */ |
| MATRIX_KEY(7, 6, KEY_Y) |
| MATRIX_KEY(7, 7, KEY_Z) |
| >; |
| }; |