1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Cirrus ep93xx keypad 8 9maintainers: 10 - Alexander Sverdlin <alexander.sverdlin@gmail.com> 11 12allOf: 13 - $ref: /schemas/input/matrix-keymap.yaml# 14 15description: 16 The KPP is designed to interface with a keypad matrix with 2-point contact 17 or 3-point contact keys. The KPP is designed to simplify the software task 18 of scanning a keypad matrix. The KPP is capable of detecting, debouncing, 19 and decoding one or multiple keys pressed simultaneously on a keypad. 20 21properties: 22 compatible: 23 oneOf: 24 - const: cirrus,ep9307-keypad 25 - items: 26 - enum: 27 - cirrus,ep9312-keypad 28 - cirrus,ep9315-keypad 29 - const: cirrus,ep9307-keypad 30 31 reg: 32 maxItems: 1 33 34 interrupts: 35 maxItems: 1 36 37 clocks: 38 maxItems: 1 39 40 debounce-delay-ms: 41 description: | 42 Time in microseconds that key must be pressed or 43 released for state change interrupt to trigger. 44 45 cirrus,prescale: 46 description: row/column counter pre-scaler load value 47 $ref: /schemas/types.yaml#/definitions/uint16 48 maximum: 1023 49 50required: 51 - compatible 52 - reg 53 - interrupts 54 - clocks 55 - linux,keymap 56 57unevaluatedProperties: false 58 59examples: 60 - | 61 #include <dt-bindings/input/input.h> 62 #include <dt-bindings/clock/cirrus,ep9301-syscon.h> 63 keypad@800f0000 { 64 compatible = "cirrus,ep9307-keypad"; 65 reg = <0x800f0000 0x0c>; 66 interrupt-parent = <&vic0>; 67 interrupts = <29>; 68 clocks = <&eclk EP93XX_CLK_KEYPAD>; 69 pinctrl-names = "default"; 70 pinctrl-0 = <&keypad_default_pins>; 71 linux,keymap = <KEY_UP>, 72 <KEY_DOWN>, 73 <KEY_VOLUMEDOWN>, 74 <KEY_HOME>, 75 <KEY_RIGHT>, 76 <KEY_LEFT>, 77 <KEY_ENTER>, 78 <KEY_VOLUMEUP>, 79 <KEY_F6>, 80 <KEY_F8>, 81 <KEY_F9>, 82 <KEY_F10>, 83 <KEY_F1>, 84 <KEY_F2>, 85 <KEY_F3>, 86 <KEY_POWER>; 87 }; 88