xref: /freebsd/sys/contrib/device-tree/Bindings/input/atmel,maxtouch.yaml (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Atmel maXTouch touchscreen/touchpad
8
9maintainers:
10  - Nick Dyer <nick@shmanahar.org>
11  - Linus Walleij <linus.walleij@linaro.org>
12
13description: |
14  Atmel maXTouch touchscreen or touchpads such as the mXT244
15  and similar devices.
16
17properties:
18  compatible:
19    const: atmel,maxtouch
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  vdda-supply:
28    description:
29      Optional regulator for the AVDD analog voltage.
30
31  vdd-supply:
32    description:
33      Optional regulator for the VDD digital voltage.
34
35  reset-gpios:
36    maxItems: 1
37    description:
38      Optional GPIO specifier for the touchscreen's reset pin
39      (active low). The line must be flagged with
40      GPIO_ACTIVE_LOW.
41
42  linux,gpio-keymap:
43    $ref: /schemas/types.yaml#/definitions/uint32-array
44    description: |
45      When enabled, the SPT_GPIOPWN_T19 object sends messages
46      on GPIO bit changes. An array of up to 8 entries can be provided
47      indicating the Linux keycode mapped to each bit of the status byte,
48      starting at the LSB. Linux keycodes are defined in
49      <dt-bindings/input/input.h>.
50
51      Note: the numbering of the GPIOs and the bit they start at varies
52      between maXTouch devices. You must either refer to the documentation,
53      or experiment to determine which bit corresponds to which input. Use
54      KEY_RESERVED for unused padding values.
55
56required:
57  - compatible
58  - reg
59  - interrupts
60
61additionalProperties: false
62
63examples:
64  - |
65    #include <dt-bindings/interrupt-controller/irq.h>
66    #include <dt-bindings/gpio/gpio.h>
67    i2c {
68      #address-cells = <1>;
69      #size-cells = <0>;
70      touchscreen@4a {
71        compatible = "atmel,maxtouch";
72        reg = <0x4a>;
73        interrupt-parent = <&gpio>;
74        interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
75        reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
76        vdda-supply = <&ab8500_ldo_aux2_reg>;
77        vdd-supply = <&ab8500_ldo_aux5_reg>;
78      };
79    };
80
81...
82