blob: 88764adcd6963e003baed9295c12b59ddc08cb30 [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/qcom,pm8921-keypad.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm PM8921 PMIC KeyPad
maintainers:
- Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
allOf:
- $ref: input.yaml#
- $ref: matrix-keymap.yaml#
properties:
compatible:
enum:
- qcom,pm8058-keypad
- qcom,pm8921-keypad
reg:
maxItems: 1
interrupts:
items:
- description: key sense
- description: key stuck
wakeup-source:
type: boolean
description: use any event on keypad as wakeup event
linux,keypad-wakeup:
type: boolean
deprecated: true
description: legacy version of the wakeup-source property
debounce:
description:
Time in microseconds that key must be pressed or
released for state change interrupt to trigger.
$ref: /schemas/types.yaml#/definitions/uint32
scan-delay:
$ref: /schemas/types.yaml#/definitions/uint32
description: time in microseconds to pause between successive scans of the
matrix array
row-hold:
$ref: /schemas/types.yaml#/definitions/uint32
description: time in nanoseconds to pause between scans of each row in the
matrix array.
required:
- compatible
- reg
- interrupts
- linux,keymap
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
pmic {
#address-cells = <1>;
#size-cells = <0>;
keypad@148 {
compatible = "qcom,pm8921-keypad";
reg = <0x148>;
interrupt-parent = <&pmicintc>;
interrupts = <74 IRQ_TYPE_EDGE_RISING>, <75 IRQ_TYPE_EDGE_RISING>;
linux,keymap = <
MATRIX_KEY(0, 0, KEY_VOLUMEUP)
MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
MATRIX_KEY(0, 3, KEY_CAMERA)
>;
keypad,num-rows = <1>;
keypad,num-columns = <5>;
debounce = <15>;
scan-delay = <32>;
row-hold = <91500>;
};
};
...