Path: blob/master/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
26308 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Cirrus ep93xx keypad78maintainers:9- Alexander Sverdlin <alexander.sverdlin@gmail.com>1011allOf:12- $ref: /schemas/input/matrix-keymap.yaml#1314description:15The KPP is designed to interface with a keypad matrix with 2-point contact16or 3-point contact keys. The KPP is designed to simplify the software task17of scanning a keypad matrix. The KPP is capable of detecting, debouncing,18and decoding one or multiple keys pressed simultaneously on a keypad.1920properties:21compatible:22oneOf:23- const: cirrus,ep9307-keypad24- items:25- enum:26- cirrus,ep9312-keypad27- cirrus,ep9315-keypad28- const: cirrus,ep9307-keypad2930reg:31maxItems: 13233interrupts:34maxItems: 13536clocks:37maxItems: 13839debounce-delay-ms:40description: |41Time in microseconds that key must be pressed or42released for state change interrupt to trigger.4344cirrus,prescale:45description: row/column counter pre-scaler load value46$ref: /schemas/types.yaml#/definitions/uint1647maximum: 10234849required:50- compatible51- reg52- interrupts53- clocks54- linux,keymap5556unevaluatedProperties: false5758examples:59- |60#include <dt-bindings/input/input.h>61#include <dt-bindings/clock/cirrus,ep9301-syscon.h>62keypad@800f0000 {63compatible = "cirrus,ep9307-keypad";64reg = <0x800f0000 0x0c>;65interrupt-parent = <&vic0>;66interrupts = <29>;67clocks = <&eclk EP93XX_CLK_KEYPAD>;68pinctrl-names = "default";69pinctrl-0 = <&keypad_default_pins>;70linux,keymap = <KEY_UP>,71<KEY_DOWN>,72<KEY_VOLUMEDOWN>,73<KEY_HOME>,74<KEY_RIGHT>,75<KEY_LEFT>,76<KEY_ENTER>,77<KEY_VOLUMEUP>,78<KEY_F6>,79<KEY_F8>,80<KEY_F9>,81<KEY_F10>,82<KEY_F1>,83<KEY_F2>,84<KEY_F3>,85<KEY_POWER>;86};878889