Projects
Last updated: 2021-04-24
Low-level development
ARM (sunxi)
I saw in the sunxi
family the opportunity to have a fully
owner-controlled mobile device, with no hidden managment engine or binary
blobs. With the availability Pinebook and PinePhone,
mainline Linux support has become the limiting factor for that
dream. My contributions include:
- The power management firmware and related firmware support in TF-A
- The DRAM frequency scaling driver
- Runtime and system power management support in several device drivers
- Major updates to the
sun8i-codec
audio driver to support the modem and BT audio interfaces - Initial U-Boot support and automatic device tree selection functionality
I have also helped with various bugfixes and improved support for some of the
less popular sunxi
single-board computers:
x86 (coreboot)
I ported coreboot to the Foxconn G41S-K motherboard, with the hope that it would allow me to use my SATA controller in AHCI mode. Unfortunately, that turned out to be a chipset limitation, not a BIOS limitation. But I had fun and learned a lot in the process. I later ported coreboot to the Intel DQ45EK board.
I also contributed the coreboot framebuffer drivers to Linux.
This allows smaller Linux payloads, since a full graphics driver (like i915
)
is no longer needed.
Application development
I wrote the initial version of the WireGuard Android app.
Back when it was still relevant, I helped port Cyanogenmod and other aftermarket firmware to the Samsung Galaxy Player 5.0. I also developed a stock-based custom Gingerbread firmware for that device.
Packaging and system administration
I have published the system-wide and user-specific portions of my service bundles for s6-rc.
My Portage configuration (including /etc/portage
, my overlay, and my patches
to the main Gentoo tree) can be found on my binhost.