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.