GNU Linux-libre 5.19-rc6-gnu
[releases.git] / Documentation / devicetree / bindings / input / mediatek,mt6779-keypad.yaml
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     };