Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml
26308 views
1
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/input/mediatek,mt6779-keypad.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Mediatek's Keypad Controller
8
9
maintainers:
10
- Mattijs Korpershoek <mkorpershoek@kernel.org>
11
12
allOf:
13
- $ref: /schemas/input/matrix-keymap.yaml#
14
15
description: |
16
Mediatek's Keypad controller is used to interface a SoC with a matrix-type
17
keypad device. The keypad controller supports multiple row and column lines.
18
A key can be placed at each intersection of a unique row and a unique column.
19
The keypad controller can sense a key-press and key-release and report the
20
event using a interrupt to the cpu.
21
22
properties:
23
compatible:
24
oneOf:
25
- const: mediatek,mt6779-keypad
26
- items:
27
- enum:
28
- mediatek,mt6873-keypad
29
- mediatek,mt8183-keypad
30
- mediatek,mt8365-keypad
31
- mediatek,mt8516-keypad
32
- const: mediatek,mt6779-keypad
33
34
reg:
35
maxItems: 1
36
37
interrupts:
38
maxItems: 1
39
40
clocks:
41
maxItems: 1
42
43
clock-names:
44
items:
45
- const: kpd
46
47
wakeup-source:
48
description: use any event on keypad as wakeup event
49
type: boolean
50
51
debounce-delay-ms:
52
maximum: 256
53
default: 16
54
55
mediatek,keys-per-group:
56
description: each (row, column) group has multiple keys
57
$ref: /schemas/types.yaml#/definitions/uint32
58
default: 1
59
maximum: 2
60
61
required:
62
- compatible
63
- reg
64
- interrupts
65
- clocks
66
- clock-names
67
68
unevaluatedProperties: false
69
70
examples:
71
- |
72
#include <dt-bindings/input/input.h>
73
#include <dt-bindings/interrupt-controller/arm-gic.h>
74
75
soc {
76
#address-cells = <2>;
77
#size-cells = <2>;
78
79
keyboard@10010000 {
80
compatible = "mediatek,mt6779-keypad";
81
reg = <0 0x10010000 0 0x1000>;
82
interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>;
83
clocks = <&clk26m>;
84
clock-names = "kpd";
85
};
86
};
87
88