84 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 Controller8 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-type17 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 the20 event using a interrupt to the cpu.21 22properties:23 compatible:24 oneOf:25 - const: mediatek,mt6779-keypad26 - items:27 - enum:28 - mediatek,mt6873-keypad29 - const: mediatek,mt6779-keypad30 31 reg:32 maxItems: 133 34 interrupts:35 maxItems: 136 37 clocks:38 maxItems: 139 40 clock-names:41 items:42 - const: kpd43 44 wakeup-source:45 description: use any event on keypad as wakeup event46 type: boolean47 48 debounce-delay-ms:49 maximum: 25650 default: 1651 52 mediatek,keys-per-group:53 description: each (row, column) group has multiple keys54 $ref: /schemas/types.yaml#/definitions/uint3255 default: 156 maximum: 257 58required:59 - compatible60 - reg61 - interrupts62 - clocks63 - clock-names64 65unevaluatedProperties: false66 67examples:68 - |69 #include <dt-bindings/input/input.h>70 #include <dt-bindings/interrupt-controller/arm-gic.h>71 72 soc {73 #address-cells = <2>;74 #size-cells = <2>;75 76 keyboard@10010000 {77 compatible = "mediatek,mt6779-keypad";78 reg = <0 0x10010000 0 0x1000>;79 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>;80 clocks = <&clk26m>;81 clock-names = "kpd";82 };83 };84