mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
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>
This commit is contained in:
committed by
Arnd Bergmann
parent
9963113e3a
commit
9cefdd1a95
@@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cirrus ep93xx keypad
|
||||
|
||||
maintainers:
|
||||
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/input/matrix-keymap.yaml#
|
||||
|
||||
description:
|
||||
The KPP is designed to interface with a keypad matrix with 2-point contact
|
||||
or 3-point contact keys. The KPP is designed to simplify the software task
|
||||
of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
|
||||
and decoding one or multiple keys pressed simultaneously on a keypad.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: cirrus,ep9307-keypad
|
||||
- items:
|
||||
- enum:
|
||||
- cirrus,ep9312-keypad
|
||||
- cirrus,ep9315-keypad
|
||||
- const: cirrus,ep9307-keypad
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
debounce-delay-ms:
|
||||
description: |
|
||||
Time in microseconds that key must be pressed or
|
||||
released for state change interrupt to trigger.
|
||||
|
||||
cirrus,prescale:
|
||||
description: row/column counter pre-scaler load value
|
||||
$ref: /schemas/types.yaml#/definitions/uint16
|
||||
maximum: 1023
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- linux,keymap
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/clock/cirrus,ep9301-syscon.h>
|
||||
keypad@800f0000 {
|
||||
compatible = "cirrus,ep9307-keypad";
|
||||
reg = <0x800f0000 0x0c>;
|
||||
interrupt-parent = <&vic0>;
|
||||
interrupts = <29>;
|
||||
clocks = <&eclk EP93XX_CLK_KEYPAD>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&keypad_default_pins>;
|
||||
linux,keymap = <KEY_UP>,
|
||||
<KEY_DOWN>,
|
||||
<KEY_VOLUMEDOWN>,
|
||||
<KEY_HOME>,
|
||||
<KEY_RIGHT>,
|
||||
<KEY_LEFT>,
|
||||
<KEY_ENTER>,
|
||||
<KEY_VOLUMEUP>,
|
||||
<KEY_F6>,
|
||||
<KEY_F8>,
|
||||
<KEY_F9>,
|
||||
<KEY_F10>,
|
||||
<KEY_F1>,
|
||||
<KEY_F2>,
|
||||
<KEY_F3>,
|
||||
<KEY_POWER>;
|
||||
};
|
||||
Reference in New Issue
Block a user