Gt9xx1024x600 _top_
Often used for OctoPrint (3D printing) or Home Assistant dashboards.
Check with I2C scan.
Getting a gt9xx1024x600 touch screen to work with a Linux-based system, such as a Raspberry Pi or a custom ARM board, involves several key steps: enabling the I2C interface, integrating the touchscreen driver, and configuring the display output. gt9xx1024x600
Often, the touch coordinates might be swapped (X is Y) or mirrored. This is easily fixed in the driver settings or the InputClass section of your X11 configuration.
This will output detailed touch data and driver status to the kernel log, helping pinpoint issues. Often used for OctoPrint (3D printing) or Home
Unlike resistive touchscreens, capacitive touchscreens like the GT9xx do not require manual calibration ( ts_calibrate is for resistive screens). Issues are resolved through correct device tree parameters, proper configuration files, and ensuring resolution match.
In this example, the touchscreen has an I2C address of 0x5d , uses GPIO1 pin 9 for interrupts, and GPIO5 pin 9 for reset. It is crucial to ensure that these GPIO pins are not used elsewhere in the system. Other important device tree parameters include touchscreen-size-x , touchscreen-size-y , goodix,swap-x2y (for swapping axes), and goodix,cfg-group2 which contains the hardware configuration data for the touch sensor. Often, the touch coordinates might be swapped (X
Here is a deep dive into what this hardware is, why it’s popular, and how to get it working correctly. What is GT9XX?
*/ #include #include #include #include #include #include #include #include #include #include #include #include #include "goodix.h"
The GT9xx Linux driver typically consists of two files:
&i2c3 status = "okay"; clock-frequency = <400000>; gt9xx: touchscreen@5d compatible = "goodix,gt9xx"; reg = <0x5d>; // I2C address (0x5d or 0x14) interrupt-parent = <&gpio1>; interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>; irq-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>; rst-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&touch_gpio>; max-x = <1024>; // Maximum X coordinate max-y = <600>; // Maximum Y coordinate gt-type = <0x01>; // GT9xx model type ;