| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # 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";
- };
- };
|