Files
linux/Documentation/devicetree/bindings/input/touchscreen/cypress,tt21000.yaml
Alistair Francis cdb5132336 dt-bindings: input: Add Cypress TT21000 touchscreen controller
Add the Cypress TrueTouch Generation 5 touchscreen device tree bindings
documentation. It can use I2C or SPI bus.
This touchscreen can handle some defined zone that are designed and
sent as button. To be able to customize the keycode sent, the
"linux,code" property in a "button" sub-node can be used.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221026114908.191472-3-alistair@alistair23.me
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-11-01 07:57:32 -07:00

107 lines
2.2 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/cypress,tt21000.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cypress TT21000 touchscreen controller
description: The Cypress TT21000 series (also known as "CYTTSP5" after
the marketing name Cypress TrueTouch Standard Product series 5).
maintainers:
- Alistair Francis <alistair@alistair23.me>
allOf:
- $ref: touchscreen.yaml#
properties:
compatible:
const: cypress,tt21000
reg:
maxItems: 1
'#address-cells':
const: 1
'#size-cells':
const: 0
interrupts:
maxItems: 1
vdd-supply:
description: Regulator for voltage.
reset-gpios:
maxItems: 1
linux,keycodes:
description: EV_ABS specific event code generated by the axis.
patternProperties:
"^button@[0-9]+$":
type: object
$ref: ../input.yaml#
properties:
reg:
maxItems: 1
linux,keycodes:
description: Keycode to emit
required:
- reg
- linux,keycodes
additionalProperties: false
required:
- compatible
- reg
- interrupts
- vdd-supply
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@24 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "cypress,tt21000";
reg = <0x24>;
pinctrl-names = "default";
pinctrl-0 = <&tp_reset_ds203>;
interrupt-parent = <&pio>;
interrupts = <1 5 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_touch>;
button@0 {
reg = <0>;
linux,keycodes = <KEY_HOMEPAGE>;
};
button@1 {
reg = <1>;
linux,keycodes = <KEY_MENU>;
};
button@2 {
reg = <2>;
linux,keycodes = <KEY_BACK>;
};
};
};
...