xref: /linux/Documentation/devicetree/bindings/input/ti,tca8418.yaml (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*1b7d2e17SFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*1b7d2e17SFrank Li%YAML 1.2
3*1b7d2e17SFrank Li---
4*1b7d2e17SFrank Li$id: http://devicetree.org/schemas/input/ti,tca8418.yaml#
5*1b7d2e17SFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml#
6*1b7d2e17SFrank Li
7*1b7d2e17SFrank Lititle: TI TCA8418 I2C/SMBus keypad scanner
8*1b7d2e17SFrank Li
9*1b7d2e17SFrank Limaintainers:
10*1b7d2e17SFrank Li  - Frank Li <Frank.Li@nxp.com>
11*1b7d2e17SFrank Li
12*1b7d2e17SFrank Liproperties:
13*1b7d2e17SFrank Li  compatible:
14*1b7d2e17SFrank Li    enum:
15*1b7d2e17SFrank Li      - ti,tca8418
16*1b7d2e17SFrank Li
17*1b7d2e17SFrank Li  reg:
18*1b7d2e17SFrank Li    maxItems: 1
19*1b7d2e17SFrank Li
20*1b7d2e17SFrank Li  interrupts:
21*1b7d2e17SFrank Li    maxItems: 1
22*1b7d2e17SFrank Li
23*1b7d2e17SFrank Lirequired:
24*1b7d2e17SFrank Li  - compatible
25*1b7d2e17SFrank Li  - reg
26*1b7d2e17SFrank Li  - interrupts
27*1b7d2e17SFrank Li
28*1b7d2e17SFrank LiallOf:
29*1b7d2e17SFrank Li  - $ref: matrix-keymap.yaml#
30*1b7d2e17SFrank Li
31*1b7d2e17SFrank LiunevaluatedProperties: false
32*1b7d2e17SFrank Li
33*1b7d2e17SFrank Liexamples:
34*1b7d2e17SFrank Li  - |
35*1b7d2e17SFrank Li    #include <dt-bindings/input/input.h>
36*1b7d2e17SFrank Li    #include <dt-bindings/interrupt-controller/irq.h>
37*1b7d2e17SFrank Li
38*1b7d2e17SFrank Li    i2c {
39*1b7d2e17SFrank Li        #address-cells = <1>;
40*1b7d2e17SFrank Li        #size-cells = <0>;
41*1b7d2e17SFrank Li
42*1b7d2e17SFrank Li        keypad@34 {
43*1b7d2e17SFrank Li            compatible = "ti,tca8418";
44*1b7d2e17SFrank Li            reg = <0x34>;
45*1b7d2e17SFrank Li            interrupt-parent = <&gpio5>;
46*1b7d2e17SFrank Li            interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
47*1b7d2e17SFrank Li            keypad,num-rows = <4>;
48*1b7d2e17SFrank Li            keypad,num-columns = <4>;
49*1b7d2e17SFrank Li            linux,keymap = < MATRIX_KEY(0x00, 0x01, BTN_0)
50*1b7d2e17SFrank Li                             MATRIX_KEY(0x00, 0x00, BTN_1)
51*1b7d2e17SFrank Li                             MATRIX_KEY(0x01, 0x01, BTN_2)
52*1b7d2e17SFrank Li                             MATRIX_KEY(0x01, 0x00, BTN_3)
53*1b7d2e17SFrank Li                             MATRIX_KEY(0x02, 0x00, BTN_4)
54*1b7d2e17SFrank Li                             MATRIX_KEY(0x00, 0x03, BTN_5)
55*1b7d2e17SFrank Li                             MATRIX_KEY(0x00, 0x02, BTN_6)
56*1b7d2e17SFrank Li                             MATRIX_KEY(0x01, 0x03, BTN_7)
57*1b7d2e17SFrank Li                             MATRIX_KEY(0x01, 0x02, BTN_8)
58*1b7d2e17SFrank Li                             MATRIX_KEY(0x02, 0x02, BTN_9)
59*1b7d2e17SFrank Li            >;
60*1b7d2e17SFrank Li        };
61*1b7d2e17SFrank Li    };
62