Most LCD displays now have embedded touch screen controllers that can be interfaced through I2C or SPI buses. The ConnectCore 93 BSP supports external Goodix capacitive touch controller for the AUO 10.1" LVDS LCD display.

On the ConnectCore 93 Development Kit:

  • Goodix touch controller is connected via the I2C3 port in the LVDS interface at address 0x14. The interrupt line is routed to GPIO2_24 of the i.MX93 CPU.

Kernel configuration

You can manage the Goodix touch controller support through the following kernel configuration option:

  • Goodix I2C touchscreen (CONFIG_TOUCHSCREEN_GOODIX)

This option is enabled as built-in on the default ConnectCore 93 kernel configuration file.

Kernel driver

File Description

drivers/input/touchscreen/goodix.c

Goodix touchscreen driver

Device tree bindings and customization

The Goodix touch screen device tree binding is documented at Documentation/devicetree/bindings/input/touchscreen/goodix.yaml

Definition of the Goodix touch screen controller

ConnectCore 93 Development Kit device tree
&lpi2c3 {

	[...]

	goodix_touch: gt9271@14 {
		compatible = "goodix,gt9271";
		reg = <0x14>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touch>;
		/* LVDS interrupt */
		interrupt-parent = <&gpio2>;
		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
		irq-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
		reload-fw-on-resume;
		skip-firmware-request;
		vin-supply = <&reg_5v_board>;
		status = "disabled";
	};

	[...]
};

The touch screen devices are linked to their corresponding LCD displays. Since these are optional peripherals, you must enable the corresponding device tree overlay. Check Device tree files and overlays for reference.