# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/elan,ekth3000.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Elantech I2C Touchpad

maintainers:
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>

allOf:
  - $ref: touchscreen/touchscreen.yaml#

properties:
  compatible:
    const: elan,ekth3000

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  wakeup-source:
    type: boolean
    description: touchpad can be used as a wakeup source

  vcc-supply:
    description: a phandle for the regulator supplying 3.3V power

  elan,trackpoint:
    type: boolean
    description: touchpad can support a trackpoint

  elan,clickpad:
    type: boolean
    description: touchpad is a clickpad (the entire surface is a button)

  elan,middle-button:
    type: boolean
    description: touchpad has a physical middle button

  elan,x_traces:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: number of antennas on the x axis

  elan,y_traces:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: number of antennas on the y axis

  touchscreen-size-x: true

  touchscreen-size-y: true

  touchscreen-x-mm: true

  touchscreen-y-mm: true

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

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

        touchpad@15 {
            compatible = "elan,ekth3000";
            reg = <0x15>;
            interrupt-parent = <&gpio4>;
            interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
            wakeup-source;
        };
    };
