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 7title: Mediatek's Keypad Controller device tree bindings 8 9maintainers: 10 - Mattijs Korpershoek <mkorpershoek@baylibre.com> 11 12allOf: 13 - $ref: "/schemas/input/matrix-keymap.yaml#" 14 15description: | 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 22properties: 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 52required: 53 - compatible 54 - reg 55 - interrupts 56 - clocks 57 - clock-names 58 59additionalProperties: false 60 61examples: 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 }; 78