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