1*e8ec34edSJihed Chaibi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*e8ec34edSJihed Chaibi%YAML 1.2 3*e8ec34edSJihed Chaibi--- 4*e8ec34edSJihed Chaibi$id: http://devicetree.org/schemas/input/ti,twl4030-keypad.yaml# 5*e8ec34edSJihed Chaibi$schema: http://devicetree.org/meta-schemas/core.yaml# 6*e8ec34edSJihed Chaibi 7*e8ec34edSJihed Chaibititle: Texas Instruments TWL4030-family Keypad Controller 8*e8ec34edSJihed Chaibi 9*e8ec34edSJihed Chaibimaintainers: 10*e8ec34edSJihed Chaibi - Peter Ujfalusi <peter.ujfalusi@gmail.com> 11*e8ec34edSJihed Chaibi 12*e8ec34edSJihed Chaibidescription: 13*e8ec34edSJihed Chaibi TWL4030's Keypad controller is used to interface a SoC with a matrix-type 14*e8ec34edSJihed Chaibi keypad device. The keypad controller supports multiple row and column lines. 15*e8ec34edSJihed Chaibi A key can be placed at each intersection of a unique row and a unique column. 16*e8ec34edSJihed Chaibi The keypad controller can sense a key-press and key-release and report the 17*e8ec34edSJihed Chaibi event using a interrupt to the cpu. 18*e8ec34edSJihed Chaibi 19*e8ec34edSJihed ChaibiallOf: 20*e8ec34edSJihed Chaibi - $ref: matrix-keymap.yaml# 21*e8ec34edSJihed Chaibi 22*e8ec34edSJihed Chaibiproperties: 23*e8ec34edSJihed Chaibi compatible: 24*e8ec34edSJihed Chaibi const: ti,twl4030-keypad 25*e8ec34edSJihed Chaibi 26*e8ec34edSJihed Chaibi interrupts: 27*e8ec34edSJihed Chaibi maxItems: 1 28*e8ec34edSJihed Chaibi 29*e8ec34edSJihed Chaibirequired: 30*e8ec34edSJihed Chaibi - compatible 31*e8ec34edSJihed Chaibi - interrupts 32*e8ec34edSJihed Chaibi - keypad,num-rows 33*e8ec34edSJihed Chaibi - keypad,num-columns 34*e8ec34edSJihed Chaibi - linux,keymap 35*e8ec34edSJihed Chaibi 36*e8ec34edSJihed ChaibiunevaluatedProperties: false 37*e8ec34edSJihed Chaibi 38*e8ec34edSJihed Chaibiexamples: 39*e8ec34edSJihed Chaibi - | 40*e8ec34edSJihed Chaibi #include <dt-bindings/input/input.h> 41*e8ec34edSJihed Chaibi 42*e8ec34edSJihed Chaibi keypad { 43*e8ec34edSJihed Chaibi compatible = "ti,twl4030-keypad"; 44*e8ec34edSJihed Chaibi interrupts = <1>; 45*e8ec34edSJihed Chaibi keypad,num-rows = <8>; 46*e8ec34edSJihed Chaibi keypad,num-columns = <8>; 47*e8ec34edSJihed Chaibi linux,keymap = < 48*e8ec34edSJihed Chaibi /* row 0 */ 49*e8ec34edSJihed Chaibi MATRIX_KEY(0, 0, KEY_1) 50*e8ec34edSJihed Chaibi MATRIX_KEY(0, 1, KEY_2) 51*e8ec34edSJihed Chaibi MATRIX_KEY(0, 2, KEY_3) 52*e8ec34edSJihed Chaibi 53*e8ec34edSJihed Chaibi /* ...and so on for a full 8x8 matrix... */ 54*e8ec34edSJihed Chaibi 55*e8ec34edSJihed Chaibi /* row 7 */ 56*e8ec34edSJihed Chaibi MATRIX_KEY(7, 6, KEY_Y) 57*e8ec34edSJihed Chaibi MATRIX_KEY(7, 7, KEY_Z) 58*e8ec34edSJihed Chaibi >; 59*e8ec34edSJihed Chaibi }; 60