mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 00:48:50 +00:00
272a26186a
In some configurations the touch controller can support the touch keys. Document the linux,keycodes property that enables those keys and specifies the keycodes that should be used to report the key events. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: André Apitzsch <git@apitzsch.eu> Link: https://lore.kernel.org/r/20230407-atmel_keys-v2-1-92446a4343cb@apitzsch.eu Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
120 lines
3.3 KiB
YAML
120 lines
3.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/input/atmel,maxtouch.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Atmel maXTouch touchscreen/touchpad
|
|
|
|
maintainers:
|
|
- Nick Dyer <nick@shmanahar.org>
|
|
- Linus Walleij <linus.walleij@linaro.org>
|
|
|
|
description: |
|
|
Atmel maXTouch touchscreen or touchpads such as the mXT244
|
|
and similar devices.
|
|
|
|
allOf:
|
|
- $ref: input.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: atmel,maxtouch
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
vdda-supply:
|
|
description:
|
|
Optional regulator for the AVDD analog voltage.
|
|
|
|
vdd-supply:
|
|
description:
|
|
Optional regulator for the VDD digital voltage.
|
|
|
|
reset-gpios:
|
|
maxItems: 1
|
|
description:
|
|
Optional GPIO specifier for the touchscreen's reset pin
|
|
(active low). The line must be flagged with
|
|
GPIO_ACTIVE_LOW.
|
|
|
|
wake-gpios:
|
|
maxItems: 1
|
|
description:
|
|
Optional GPIO specifier for the touchscreen's wake pin
|
|
(active low). The line must be flagged with
|
|
GPIO_ACTIVE_LOW.
|
|
|
|
linux,gpio-keymap:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
description: |
|
|
When enabled, the SPT_GPIOPWN_T19 object sends messages
|
|
on GPIO bit changes. An array of up to 8 entries can be provided
|
|
indicating the Linux keycode mapped to each bit of the status byte,
|
|
starting at the LSB. Linux keycodes are defined in
|
|
<dt-bindings/input/input.h>.
|
|
|
|
Note: the numbering of the GPIOs and the bit they start at varies
|
|
between maXTouch devices. You must either refer to the documentation,
|
|
or experiment to determine which bit corresponds to which input. Use
|
|
KEY_RESERVED for unused padding values.
|
|
|
|
linux,keycodes:
|
|
minItems: 1
|
|
maxItems: 8
|
|
|
|
atmel,wakeup-method:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: |
|
|
The WAKE line is an active-low input that is used to wake up the touch
|
|
controller from deep-sleep mode before communication with the controller
|
|
could be started. This optional feature used to minimize current
|
|
consumption when the controller is in deep sleep mode. This feature is
|
|
relevant only to some controller families, like mXT1386 controller for
|
|
example.
|
|
|
|
The WAKE pin can be connected in one of the following ways:
|
|
1) left permanently low
|
|
2) connected to the I2C-compatible SCL pin
|
|
3) connected to a GPIO pin on the host
|
|
enum:
|
|
- 0 # ATMEL_MXT_WAKEUP_NONE
|
|
- 1 # ATMEL_MXT_WAKEUP_I2C_SCL
|
|
- 2 # ATMEL_MXT_WAKEUP_GPIO
|
|
default: 0
|
|
|
|
wakeup-source:
|
|
type: boolean
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/input/atmel-maxtouch.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
touchscreen@4a {
|
|
compatible = "atmel,maxtouch";
|
|
reg = <0x4a>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
|
|
reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
|
|
vdda-supply = <&ab8500_ldo_aux2_reg>;
|
|
vdd-supply = <&ab8500_ldo_aux5_reg>;
|
|
atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
|
|
};
|
|
};
|
|
|
|
...
|