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 device tree bindings
8
9 maintainers:
10 - Mattijs Korpershoek <mkorpershoek@baylibre.com>
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 - const: mediatek,mt6779-keypad
30
31 reg:
32 maxItems: 1
33
34 interrupts:
35 maxItems: 1
36
37 clocks:
38 maxItems: 1
39
40 clock-names:
41 items:
42 - const: kpd
43
44 wakeup-source:
45 description: use any event on keypad as wakeup event
46 type: boolean
47
48 debounce-delay-ms:
49 maximum: 256
50 default: 16
51
52 required:
53 - compatible
54 - reg
55 - interrupts
56 - clocks
57 - clock-names
58
59 additionalProperties: false
60
61 examples:
62 - |
63 #include <dt-bindings/input/input.h>
64 #include <dt-bindings/interrupt-controller/arm-gic.h>
65
66 soc {
67 #address-cells = <2>;
68 #size-cells = <2>;
69
70 keyboard@10010000 {
71 compatible = "mediatek,mt6779-keypad";
72 reg = <0 0x10010000 0 0x1000>;
73 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>;
74 clocks = <&clk26m>;
75 clock-names = "kpd";
76 };
77 };
Cache object: 1e5e1ece81c262f459689f4c0fe033da
|