Contributing to PinePhone kernel development
I'm independently doing some low level work on PinePhone. Some of my past and ongoing contributions include:
- I'm helping mainline device tree and driver support for PinePhone (PinePhone 1.0/1.1, LCD, PinePhone 1.2)
- Bootloader development and optimizations (I developed patches for U-Boot to take advantage of full eMMC speed (improvment from 20 MiB/s to 85 MiB/s) when loading images to boot).
- I wrote p-boot, an extremely fast PinePhone specific bootloader with GUI for selecting boot options. (video, video 2, p-boot git repo)
- I added kernel support for convergence on PinePhone (driver for ANX7688 + integration into other kernel drivers) (video 1 video 2)
- I wrote the user facing camera driver (development is currently stalled) and runtime support for multiple cameras for the A64's CSI driver. (video)
- I wrote a high-performance camera app for PinePhone (video) that utilizes all possible HW offloading for on-screen preview (video 2)
- I was involved in early modem audio experiments and developed a very versatile audio routing configuration for the modem.
- I've helped discover and fix several major and minor HW/SW issues. The now well known CC pins issue, the backlight blinking issue, convergence hotplug detection issue, etc.
- I did some early modem software reverse engineering, and found a way to unlock ADB access to the PinePhone's modem and wrote a keygen.
- I maintain a kernel fork that integrates the latest patches relevant to PinePhone and PinePhone Pro, Quartz64, and Pinebook Pro (among other boards), and try to mainline what's possible.
- I wrote a power manager driver for the PinePhone's modem.
- I created a PinePhone multi-boot image for people that want to try all the major PinePhone Linux distros using a single 8GiB SD card. It was featured in September 2020 Pine64 community update.
- I wrote FOSS firmware for Pinephone Keyboard from scratch.
You can follow my PinePhone related kernel and other development adventures in my PinePhone Development Log.
Even if there are no new updates there, I regularly update and re-test and fix the out-of-tree patchset for Pinephone in my linux tree. My patches have been regularly maintained for the last 6–7 years. :)
I removed information about donations from this page, because there have been almost no new donors for a long time, so there's no point to keeping them here. I sincerely thank the existing subscribers, for continued support.
It pays for keeping the website and domain up, and gives me some nice reminder about continued interest in my FOSS work around Pinephones and various SBCs. These days it's mostly maintenance of what I created over the years with occasional small improvement or bugfix and support and patch reviews for people who take some of the work and try to upstream it.
I also noticed that Pine64 discontinued some of the most interesting products, like Pinebook Pro and Pinephone Pro, so it makes sense to wind down new development for these products, anyway.
Thanks again to everyone who donated and cotinues to donate! ~megi