Commit 31a10f5b authored by Stephan Gerhold's avatar Stephan Gerhold Committed by Dmitry Torokhov
Browse files

dt-bindings: input: tm2-touchkey: convert to yaml



Convert the device tree bindings for tm2-touchkey to the YAML format.

While we're at it, clarify the descriptions a bit to make it clear that
this driver can be used for many different MCUs that all implement
a similar I2C protocol. Depending on the MCU the voltage requirements
may be different, on some devices the controller uses 2.2V, 2.8V or
even 3.3V for vcc-supply instead of 1.8V.

Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20201203131242.44397-1-stephan@gerhold.net


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 8edcd98b
Loading
Loading
Loading
Loading
+0 −33
Original line number Diff line number Diff line
Samsung tm2-touchkey

Required properties:
- compatible:
    * "cypress,tm2-touchkey" - for the touchkey found on the tm2 board
    * "cypress,midas-touchkey" - for the touchkey found on midas boards
    * "cypress,aries-touchkey" - for the touchkey found on aries boards
    * "coreriver,tc360-touchkey" - for the Coreriver TouchCore 360 touchkey
- reg: I2C address of the chip.
- interrupts: interrupt to which the chip is connected (see interrupt
	binding[0]).
- vcc-supply : internal regulator output. 1.8V
- vdd-supply : power supply for IC 3.3V

Optional properties:
- linux,keycodes: array of keycodes (max 4), default KEY_PHONE and KEY_BACK

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt

Example:
	&i2c0 {
		/* ... */

		touchkey@20 {
			compatible = "cypress,tm2-touchkey";
			reg = <0x20>;
			interrupt-parent = <&gpa3>;
			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
			vcc-supply=<&ldo32_reg>;
			vdd-supply=<&ldo33_reg>;
			linux,keycodes = <KEY_PHONE KEY_BACK>;
		};
	};
+68 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/cypress,tm2-touchkey.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung TM2 touch key controller

maintainers:
  - Stephan Gerhold <stephan@gerhold.net>

description: |
  Touch key controllers similar to the TM2 can be found in a wide range of
  Samsung devices. They are implemented using many different MCUs, but use
  a similar I2C protocol.

allOf:
  - $ref: input.yaml#

properties:
  compatible:
    enum:
      - cypress,tm2-touchkey
      - cypress,midas-touchkey
      - cypress,aries-touchkey
      - coreriver,tc360-touchkey

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  vdd-supply:
    description: Optional regulator for LED voltage, 3.3V.

  vcc-supply:
    description: Optional regulator for MCU, 1.8V-3.3V (depending on MCU).

  linux,keycodes:
    minItems: 1
    maxItems: 4

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        touchkey@20 {
            compatible = "cypress,tm2-touchkey";
            reg = <0x20>;
            interrupt-parent = <&gpa3>;
            interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
            vcc-supply = <&ldo32_reg>;
            vdd-supply = <&ldo33_reg>;
            linux,keycodes = <KEY_MENU KEY_BACK>;
        };
    };