149 lines
4.3 KiB
YAML
149 lines
4.3 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/input/touchscreen/cypress,cy8ctma340.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Cypress CY8CTMA340 series touchscreen controller
|
||
|
|
||
|
description: The Cypress CY8CTMA340 series (also known as "CYTTSP" after
|
||
|
the marketing name Cypress TrueTouch Standard Product) touchscreens can
|
||
|
be connected to either I2C or SPI buses.
|
||
|
|
||
|
maintainers:
|
||
|
- Javier Martinez Canillas <javier@dowhile0.org>
|
||
|
- Linus Walleij <linus.walleij@linaro.org>
|
||
|
|
||
|
allOf:
|
||
|
- $ref: touchscreen.yaml#
|
||
|
|
||
|
properties:
|
||
|
$nodename:
|
||
|
pattern: "^touchscreen(@.*)?$"
|
||
|
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- const: cypress,cy8ctma340
|
||
|
- const: cypress,cy8ctst341
|
||
|
- const: cypress,cyttsp-spi
|
||
|
description: Legacy compatible for SPI connected CY8CTMA340
|
||
|
deprecated: true
|
||
|
- const: cypress,cyttsp-i2c
|
||
|
description: Legacy compatible for I2C connected CY8CTMA340
|
||
|
deprecated: true
|
||
|
|
||
|
reg:
|
||
|
description: I2C address when used on the I2C bus, or the SPI chip
|
||
|
select index when used on the SPI bus
|
||
|
|
||
|
clock-frequency:
|
||
|
description: I2C client clock frequency, defined for host when using
|
||
|
the device on the I2C bus
|
||
|
minimum: 0
|
||
|
maximum: 400000
|
||
|
|
||
|
spi-max-frequency:
|
||
|
description: SPI clock frequency, defined for host, defined when using
|
||
|
the device on the SPI bus. The throughput is maximum 2 Mbps so the
|
||
|
typical value is 2000000, if higher rates are used the total throughput
|
||
|
needs to be restricted to 2 Mbps.
|
||
|
minimum: 0
|
||
|
maximum: 6000000
|
||
|
|
||
|
interrupts:
|
||
|
description: Interrupt to host
|
||
|
maxItems: 1
|
||
|
|
||
|
vcpin-supply:
|
||
|
description: Analog power supply regulator on VCPIN pin
|
||
|
|
||
|
vdd-supply:
|
||
|
description: Digital power supply regulator on VDD pin
|
||
|
|
||
|
reset-gpios:
|
||
|
description: Reset line for the touchscreen, should be tagged
|
||
|
as GPIO_ACTIVE_LOW
|
||
|
|
||
|
bootloader-key:
|
||
|
description: the 8-byte bootloader key that is required to switch
|
||
|
the chip from bootloader mode (default mode) to application mode
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
minItems: 8
|
||
|
maxItems: 8
|
||
|
|
||
|
touchscreen-size-x: true
|
||
|
touchscreen-size-y: true
|
||
|
touchscreen-fuzz-x: true
|
||
|
touchscreen-fuzz-y: true
|
||
|
|
||
|
active-distance:
|
||
|
description: the distance in pixels beyond which a touch must move
|
||
|
before movement is detected and reported by the device
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
minimum: 0
|
||
|
maximum: 15
|
||
|
|
||
|
active-interval-ms:
|
||
|
description: the minimum period in ms between consecutive
|
||
|
scanning/processing cycles when the chip is in active mode
|
||
|
minimum: 0
|
||
|
maximum: 255
|
||
|
|
||
|
lowpower-interval-ms:
|
||
|
description: the minimum period in ms between consecutive
|
||
|
scanning/processing cycles when the chip is in low-power mode
|
||
|
minimum: 0
|
||
|
maximum: 2550
|
||
|
|
||
|
touch-timeout-ms:
|
||
|
description: minimum time in ms spent in the active power state while no
|
||
|
touches are detected before entering low-power mode
|
||
|
minimum: 0
|
||
|
maximum: 2550
|
||
|
|
||
|
use-handshake:
|
||
|
description: enable register-based handshake (boolean). This should only
|
||
|
be used if the chip is configured to use 'blocking communication with
|
||
|
timeout' (in this case the device generates an interrupt at the end of
|
||
|
every scanning/processing cycle)
|
||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- interrupts
|
||
|
- bootloader-key
|
||
|
- touchscreen-size-x
|
||
|
- touchscreen-size-y
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
spi {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
num-cs = <1>;
|
||
|
cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
|
||
|
|
||
|
touchscreen@0 {
|
||
|
compatible = "cypress,cy8ctma340";
|
||
|
reg = <0>;
|
||
|
interrupt-parent = <&gpio>;
|
||
|
interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
|
||
|
reset-gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
|
||
|
vdd-supply = <&ldo_aux1_reg>;
|
||
|
vcpin-supply = <&ldo_aux2_reg>;
|
||
|
bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
|
||
|
touchscreen-size-x = <480>;
|
||
|
touchscreen-size-y = <800>;
|
||
|
active-interval-ms = <0>;
|
||
|
touch-timeout-ms = <255>;
|
||
|
lowpower-interval-ms = <10>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|