# Copyright (c) 2023 Antmicro # 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.