131a10f5bSStephan Gerhold# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
231a10f5bSStephan Gerhold%YAML 1.2
331a10f5bSStephan Gerhold---
431a10f5bSStephan Gerhold$id: http://devicetree.org/schemas/input/cypress,tm2-touchkey.yaml#
531a10f5bSStephan Gerhold$schema: http://devicetree.org/meta-schemas/core.yaml#
631a10f5bSStephan Gerhold
731a10f5bSStephan Gerholdtitle: Samsung TM2 touch key controller
831a10f5bSStephan Gerhold
931a10f5bSStephan Gerholdmaintainers:
1031a10f5bSStephan Gerhold  - Stephan Gerhold <stephan@gerhold.net>
1131a10f5bSStephan Gerhold
1231a10f5bSStephan Gerholddescription: |
1331a10f5bSStephan Gerhold  Touch key controllers similar to the TM2 can be found in a wide range of
1431a10f5bSStephan Gerhold  Samsung devices. They are implemented using many different MCUs, but use
1531a10f5bSStephan Gerhold  a similar I2C protocol.
1631a10f5bSStephan Gerhold
1731a10f5bSStephan GerholdallOf:
1831a10f5bSStephan Gerhold  - $ref: input.yaml#
1931a10f5bSStephan Gerhold
2031a10f5bSStephan Gerholdproperties:
2131a10f5bSStephan Gerhold  compatible:
2231a10f5bSStephan Gerhold    enum:
2331a10f5bSStephan Gerhold      - cypress,tm2-touchkey
2431a10f5bSStephan Gerhold      - cypress,midas-touchkey
2531a10f5bSStephan Gerhold      - cypress,aries-touchkey
2631a10f5bSStephan Gerhold      - coreriver,tc360-touchkey
2731a10f5bSStephan Gerhold
2831a10f5bSStephan Gerhold  reg:
2931a10f5bSStephan Gerhold    maxItems: 1
3031a10f5bSStephan Gerhold
3131a10f5bSStephan Gerhold  interrupts:
3231a10f5bSStephan Gerhold    maxItems: 1
3331a10f5bSStephan Gerhold
3431a10f5bSStephan Gerhold  vdd-supply:
3531a10f5bSStephan Gerhold    description: Optional regulator for LED voltage, 3.3V.
3631a10f5bSStephan Gerhold
3731a10f5bSStephan Gerhold  vcc-supply:
3831a10f5bSStephan Gerhold    description: Optional regulator for MCU, 1.8V-3.3V (depending on MCU).
3931a10f5bSStephan Gerhold
40*3e730ec1SStephan Gerhold  vddio-supply:
41*3e730ec1SStephan Gerhold    description: |
42*3e730ec1SStephan Gerhold      Optional regulator that provides digital I/O voltage,
43*3e730ec1SStephan Gerhold      e.g. for pulling up the interrupt line or the I2C pins.
44*3e730ec1SStephan Gerhold
4531a10f5bSStephan Gerhold  linux,keycodes:
4631a10f5bSStephan Gerhold    minItems: 1
4731a10f5bSStephan Gerhold    maxItems: 4
4831a10f5bSStephan Gerhold
4931a10f5bSStephan Gerholdrequired:
5031a10f5bSStephan Gerhold  - compatible
5131a10f5bSStephan Gerhold  - reg
5231a10f5bSStephan Gerhold  - interrupts
5331a10f5bSStephan Gerhold
5431a10f5bSStephan GerholdadditionalProperties: false
5531a10f5bSStephan Gerhold
5631a10f5bSStephan Gerholdexamples:
5731a10f5bSStephan Gerhold  - |
5831a10f5bSStephan Gerhold    #include <dt-bindings/input/input.h>
5931a10f5bSStephan Gerhold    #include <dt-bindings/interrupt-controller/irq.h>
6031a10f5bSStephan Gerhold    i2c {
6131a10f5bSStephan Gerhold        #address-cells = <1>;
6231a10f5bSStephan Gerhold        #size-cells = <0>;
6331a10f5bSStephan Gerhold
6431a10f5bSStephan Gerhold        touchkey@20 {
6531a10f5bSStephan Gerhold            compatible = "cypress,tm2-touchkey";
6631a10f5bSStephan Gerhold            reg = <0x20>;
6731a10f5bSStephan Gerhold            interrupt-parent = <&gpa3>;
6831a10f5bSStephan Gerhold            interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
6931a10f5bSStephan Gerhold            vcc-supply = <&ldo32_reg>;
7031a10f5bSStephan Gerhold            vdd-supply = <&ldo33_reg>;
7131a10f5bSStephan Gerhold            linux,keycodes = <KEY_MENU KEY_BACK>;
7231a10f5bSStephan Gerhold        };
7331a10f5bSStephan Gerhold    };
74