# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/input/mediatek,mt6779-keypad.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Mediatek's Keypad Controller maintainers: - Mattijs Korpershoek <mkorpershoek@baylibre.com> allOf: - $ref: /schemas/input/matrix-keymap.yaml# description: | Mediatek's Keypad controller is used to interface a SoC with a matrix-type keypad device. The keypad controller supports multiple row and column lines. A key can be placed at each intersection of a unique row and a unique column. The keypad controller can sense a key-press and key-release and report the event using a interrupt to the cpu. properties: compatible: oneOf: - const: mediatek,mt6779-keypad - items: - enum: - mediatek,mt6873-keypad - const: mediatek,mt6779-keypad reg: maxItems: 1 interrupts: maxItems: 1 clocks: maxItems: 1 clock-names: items: - const: kpd wakeup-source: description: use any event on keypad as wakeup event type: boolean debounce-delay-ms: maximum: 256 default: 16 mediatek,keys-per-group: description: each (row, column) group has multiple keys $ref: /schemas/types.yaml#/definitions/uint32 default: 1 maximum: 2 required: - compatible - reg - interrupts - clocks - clock-names unevaluatedProperties: false examples: - | #include <dt-bindings/input/input.h> #include <dt-bindings/interrupt-controller/arm-gic.h> soc { #address-cells = <2>; #size-cells = <2>; keyboard@10010000 { compatible = "mediatek,mt6779-keypad"; reg = <0 0x10010000 0 0x1000>; interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>; clocks = <&clk26m>; clock-names = "kpd"; }; };