blob: 2a39595d13fd063454aaefe2a0d00e43b4c08ac9 [file] [log] [blame]
# Copyright (c) 2023 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
description: STMPE811 I2C touchscreen controller
compatible: "st,stmpe811"
include: i2c-device.yaml
properties:
int-gpios:
type: phandle-array
description: |
Interrupt GPIO. Used by the controller to signal touch data is
available. Active low.
screen-width:
type: int
default: 0
description: |
Screen width for scaling the reported coordinates.
Default: raw touchscreen resolution.
screen-height:
type: int
default: 0
description: |
Screen height for scaling the reported coordinates.
Default: raw touchscreen resolution.
raw-x-min:
type: int
description: |
Signed raw X axis start for scaling the reported coordinates.
No effect if screen size is not set.
raw-y-min:
type: int
description: |
Signed raw Y axis start for scaling the reported coordinates.
No effect if screen size is not set.
raw-x-max:
type: int
description: |
Raw X axis end for scaling the reported coordinates.
No effect if screen size is not set.
raw-y-max:
type: int
description: |
Raw Y axis end for scaling the reported coordinates.
No effect if screen size is not set.
panel-driver-settling-time-us:
type: int
enum:
- 10
- 100
- 500
- 1000
- 5000
- 10000
- 50000
- 100000
required: true
description: |
Panel driver settling time (microseconds). For large panels (> 6"), a capacitor of 10 nF
is recommended at the touchscreen terminals for noise filtering.
As a general rule, 1-5 nF capacitors require around 500 us settling time, and 5-10 nF need
around 1 ms. When a larger capacitor is used, this value should be changed, as it can
lead to inaccuracy of the measurement.
touch-detect-delay-us:
type: int
enum:
- 10
- 50
- 100
- 500
- 1000
- 5000
- 10000
- 50000
required: true
description: |
Touch detect delay (microseconds) is the delay from the activation of the pull-up resistor
in the X+ line to the time the device performs touch detection.
If no capacitor, or a smaller capacitor is used, this value can be lowered to
minimize detection latency, but it could lower the position stability.
touch-average-control:
type: int
enum:
- 1
- 2
- 4
- 8
required: true
description: |
Average control (number of samples).
This parameter can be set to any of the possible values.
Higher values result in more filtering of noise, but also introduce
more latency in the touch detection process.
Use cases that require low touch detection latency
may benefit from using a lower value for this parameter,
at the cost of less noise filtering.
tracking-index:
type: int
enum:
- 0
- 4
- 8
- 16
- 32
- 64
- 92
- 127
required: true
description: |
Tracking index determines the minimal distance between
the current touch position and the previous touch position.
If the distance is shorter than the tracking index, it is discarded.
Lowering the tracking index increases the frequency of touch events,
but also increases the load on the system.