| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/input/ti,nspire-keypad.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: TI-NSPIRE Keypad |
| |
| maintainers: |
| - Andrew Davis <afd@ti.com> |
| |
| allOf: |
| - $ref: input.yaml# |
| - $ref: matrix-keymap.yaml# |
| |
| properties: |
| compatible: |
| enum: |
| - ti,nspire-keypad |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| scan-interval: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: How often to scan in us. Based on a APB speed of 33MHz, the |
| maximum and minimum delay time is ~2000us and ~500us respectively |
| |
| row-delay: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: How long to wait between scanning each row in us. |
| |
| active-low: |
| description: Specify that the keypad is active low. |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| - scan-interval |
| - row-delay |
| - linux,keymap |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/input/input.h> |
| keypad@900e0000 { |
| compatible = "ti,nspire-keypad"; |
| reg = <0x900e0000 0x1000>; |
| interrupts = <16>; |
| |
| clocks = <&apb_pclk>; |
| |
| scan-interval = <1000>; |
| row-delay = <200>; |
| |
| linux,keymap = < |
| MATRIX_KEY(0, 0, KEY_ENTER) |
| MATRIX_KEY(0, 1, KEY_ENTER) |
| MATRIX_KEY(0, 4, KEY_SPACE) |
| MATRIX_KEY(0, 5, KEY_Z) |
| MATRIX_KEY(0, 6, KEY_Y) |
| MATRIX_KEY(0, 7, KEY_0) |
| >; |
| }; |