megi's PinePhone Development Log RSS


2023–05–29: Touch screen and touch menu support for Pinephone Pro in U-Boot

I've implemented Goodix touchscreen driver for U-Boot, which is the touchscreen controller used in both old and Pro Pinephones.

Upstream U-Boot doesn't have touschreen support at all, so I had to also implement touchscreen uclass (which is a piece of code handling whole class of devices in U-Boot), touch command for listing and testing all devices implementing touchscreen uclass from U-Boot console, and because default menus in U-Boot are useless for touch control (too small to fingerbang them, no support for touch input, hard to control menu items, and generally working quite poorly without a regular keyboard), I've also implemented a touch menu command for creating and handling touch menu systems.

Results are quite encouraging:

Maybe there's going to be a multi-distro for Pinephone Pro soon enough after all. :)

The only fly in the ointment for all the users installing their bootloader into SPI memory is that there's no way to just plug in the multi-boot SD card and run the new bootloader from the SD card without pressing the RE button during boot… So to have nice experience using the multi-boot image, you'll have to erase all your existing bootloaders in eMMC and SPI.

This is unlike original Pinephone that prefers to load bootlaoder from SD card at all times.