Path: blob/master/Documentation/devicetree/bindings/input/mediatek,mt6779-keypad.yaml
26308 views
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/input/mediatek,mt6779-keypad.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Mediatek's Keypad Controller78maintainers:9- Mattijs Korpershoek <mkorpershoek@kernel.org>1011allOf:12- $ref: /schemas/input/matrix-keymap.yaml#1314description: |15Mediatek's Keypad controller is used to interface a SoC with a matrix-type16keypad device. The keypad controller supports multiple row and column lines.17A key can be placed at each intersection of a unique row and a unique column.18The keypad controller can sense a key-press and key-release and report the19event using a interrupt to the cpu.2021properties:22compatible:23oneOf:24- const: mediatek,mt6779-keypad25- items:26- enum:27- mediatek,mt6873-keypad28- mediatek,mt8183-keypad29- mediatek,mt8365-keypad30- mediatek,mt8516-keypad31- const: mediatek,mt6779-keypad3233reg:34maxItems: 13536interrupts:37maxItems: 13839clocks:40maxItems: 14142clock-names:43items:44- const: kpd4546wakeup-source:47description: use any event on keypad as wakeup event48type: boolean4950debounce-delay-ms:51maximum: 25652default: 165354mediatek,keys-per-group:55description: each (row, column) group has multiple keys56$ref: /schemas/types.yaml#/definitions/uint3257default: 158maximum: 25960required:61- compatible62- reg63- interrupts64- clocks65- clock-names6667unevaluatedProperties: false6869examples:70- |71#include <dt-bindings/input/input.h>72#include <dt-bindings/interrupt-controller/arm-gic.h>7374soc {75#address-cells = <2>;76#size-cells = <2>;7778keyboard@10010000 {79compatible = "mediatek,mt6779-keypad";80reg = <0 0x10010000 0 0x1000>;81interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_FALLING>;82clocks = <&clk26m>;83clock-names = "kpd";84};85};868788