0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/input/cypress,tm2-touchkey.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Samsung TM2 touch key controller
0008
0009 maintainers:
0010 - Stephan Gerhold <stephan@gerhold.net>
0011
0012 description: |
0013 Touch key controllers similar to the TM2 can be found in a wide range of
0014 Samsung devices. They are implemented using many different MCUs, but use
0015 a similar I2C protocol.
0016
0017 allOf:
0018 - $ref: input.yaml#
0019
0020 properties:
0021 compatible:
0022 enum:
0023 - cypress,tm2-touchkey
0024 - cypress,midas-touchkey
0025 - cypress,aries-touchkey
0026 - coreriver,tc360-touchkey
0027
0028 reg:
0029 maxItems: 1
0030
0031 interrupts:
0032 maxItems: 1
0033
0034 vdd-supply:
0035 description: Optional regulator for LED voltage, 3.3V.
0036
0037 vcc-supply:
0038 description: Optional regulator for MCU, 1.8V-3.3V (depending on MCU).
0039
0040 vddio-supply:
0041 description: |
0042 Optional regulator that provides digital I/O voltage,
0043 e.g. for pulling up the interrupt line or the I2C pins.
0044
0045 linux,keycodes:
0046 minItems: 1
0047 maxItems: 4
0048
0049 required:
0050 - compatible
0051 - reg
0052 - interrupts
0053
0054 additionalProperties: false
0055
0056 examples:
0057 - |
0058 #include <dt-bindings/input/input.h>
0059 #include <dt-bindings/interrupt-controller/irq.h>
0060 i2c {
0061 #address-cells = <1>;
0062 #size-cells = <0>;
0063
0064 touchkey@20 {
0065 compatible = "cypress,tm2-touchkey";
0066 reg = <0x20>;
0067 interrupt-parent = <&gpa3>;
0068 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
0069 vcc-supply = <&ldo32_reg>;
0070 vdd-supply = <&ldo33_reg>;
0071 linux,keycodes = <KEY_MENU KEY_BACK>;
0072 };
0073 };