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