blob: 52dca8b64081d60640e99b37cb0ca8c65a3cdec3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/cypress,tm2-touchkey.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung TM2 touch key controller
8
9maintainers:
10 - Stephan Gerhold <stephan@gerhold.net>
11
12description: |
13 Touch key controllers similar to the TM2 can be found in a wide range of
14 Samsung devices. They are implemented using many different MCUs, but use
15 a similar I2C protocol.
16
17allOf:
18 - $ref: input.yaml#
19
20properties:
21 compatible:
22 enum:
23 - cypress,tm2-touchkey
24 - cypress,midas-touchkey
25 - cypress,aries-touchkey
26 - coreriver,tc360-touchkey
27
28 reg:
29 maxItems: 1
30
31 interrupts:
32 maxItems: 1
33
34 vdd-supply:
35 description: Optional regulator for LED voltage, 3.3V.
36
37 vcc-supply:
38 description: Optional regulator for MCU, 1.8V-3.3V (depending on MCU).
39
40 vddio-supply:
41 description: |
42 Optional regulator that provides digital I/O voltage,
43 e.g. for pulling up the interrupt line or the I2C pins.
44
45 linux,keycodes:
46 minItems: 1
47 maxItems: 4
48
49required:
50 - compatible
51 - reg
52 - interrupts
53
54additionalProperties: false
55
56examples:
57 - |
58 #include <dt-bindings/input/input.h>
59 #include <dt-bindings/interrupt-controller/irq.h>
60 i2c {
61 #address-cells = <1>;
62 #size-cells = <0>;
63
64 touchkey@20 {
65 compatible = "cypress,tm2-touchkey";
66 reg = <0x20>;
67 interrupt-parent = <&gpa3>;
68 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
69 vcc-supply = <&ldo32_reg>;
70 vdd-supply = <&ldo33_reg>;
71 linux,keycodes = <KEY_MENU KEY_BACK>;
72 };
73 };