Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: input: Add Cirrus EP93xx keypad

Add YAML bindings for ep93xx SoC keypad.

Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

authored by

Nikita Shubin and committed by
Arnd Bergmann
9cefdd1a 9963113e

+87
+87
Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
··· 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 + 7 + title: Cirrus ep93xx keypad 8 + 9 + maintainers: 10 + - Alexander Sverdlin <alexander.sverdlin@gmail.com> 11 + 12 + allOf: 13 + - $ref: /schemas/input/matrix-keymap.yaml# 14 + 15 + description: 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 + 21 + properties: 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 + 50 + required: 51 + - compatible 52 + - reg 53 + - interrupts 54 + - clocks 55 + - linux,keymap 56 + 57 + unevaluatedProperties: false 58 + 59 + examples: 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 + };