| # 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. |