Across SoCs and Stacks: A Few Months of Platform Engineering
Display bringup, camera pipelines, bootloaders, open-source handhelds, and a lot of device trees — here's what I've been up to lately

It's Been a Busy Few Months
Over the past few months, I have had the opportunity to work across some really diverse hardware platforms — and it has been one of the most technically enriching stretches of my career. This post is a brain dump of everything I've touched, from ancient Qualcomm silicon to modern open-source handhelds.
Display Bring-up on Qualcomm MSM89xx
I worked on getting multiple displays up and running on Qualcomm MSM89xx hardware — both MIPI and MIPI-to-LVDS bridge configurations. The MSM89xx family is a pretty ancient chip by today's standards, but that's exactly what makes it a good playground for sharpening fundamentals.
This meant going all the way down to LittleKernel (LK) — Qualcomm's bootloader — to configure the display stack before the kernel even boots, and then wiring it through the Linux kernel device tree to ensure the panel came alive seamlessly across the handoff from bootloader to kernel.
Specific wins:
Got a BOE display running on QM215
Got a proof-of-concept MSM8953 board driving an LVDS panel via an auxiliary board using a MIPI-to-LVDS bridge
IVI Bring-up at Euler
Worked on the end-to-end device bring-up and maintenance of a new SKU of the IVI platform we ship at Euler. A lot of moving parts across the stack — device tree, kernel, HAL, and everything in between.
Diving Into the mm-camera Pipeline on QM215
This one was humbling in the best way. I was trying to get a TP2815 analog camera solution up and running on the Qualcomm QM215 platform — and I didn't succeed. Yet.
But the process taught me a ton about how the mm-camera pipeline actually works — how the sensor initializes, how the ISP gets configured, and how the camera HAL takes over from the kernel driver. Sometimes the most educational projects are the ones that don't finish on time.
Toolchain & BSP Modernization
A few things that fall under the "unglamorous but important" category:
Ubuntu 14.04 → 24.04 LTS migration — Several older BSPs had Ubuntu 14.04 as a hard requirement. Got them running cleanly on 24.04 LTS, eliminating the need for a containerized build environment entirely.
Clang for kernel compilation — Backported patches to enable Clang as the kernel compiler. A modern, maintainable toolchain saves everyone time and reduces the custom environment overhead that slows teams down.
MediaTek BSP Sleuthing
Did some cleanup and investigation work on a MediaTek BSP targeting Android 14/15. Relatively minor, but every BSP has its quirks and this was no exception.
Mecha Comet: Open-Source Handheld Adventures
This is the section closest to my heart, even if life got in the way of giving it the time it deserved.
I've been working on the Mecha Systems Comet as a personal/community project:
Got postmarketOS booting on the device
Isolated and prepared patches for the Comet that fed into the development of upstream Mecha U-Boot
Enabled EFI and set up a proper boot chain using systemd-boot
Did some reading on Arm SystemReady requirements and what it would mean to make the Comet properly compliant
Due to a lot of personal stuff, I wasn't able to get back to it as much as I wanted. But I'm still ideating — and I want to do something a little crazy with it. Hardware too. I just need to learn PCB design first. 😄
A big thank you to Shoaib Merchant for the trust, time, and patience in letting me be one of the very first pilot users. ❤️
Power Management R&D: Android Learnings → Linux Handhelds
One of the more experimental threads I've been pulling on: exploring what a tool like tuned could look like for Linux handhelds, drawing from my experience with Android's power HAL.
Android has a fairly mature story around power-aware scheduling, CPU frequency governance, and workload-based tuning. The Linux desktop/handheld space is catching up, but there's a gap. I'm curious whether the patterns from Android's power HAL can translate into something meaningful for devices like the Comet.
Still early R&D — but it's the kind of problem I find genuinely exciting.
NXP i.MX8 and Android 16
Dipped into the NXP i.MX8 Android BSP for Android 16. I'm also still chipping away at a proper Android port for the Mecha Comet in my free time — the i.MX8 BSP work is feeding directly into that.
Unisoc PoC
Also currently working on a Unisoc proof-of-concept project. More on that when there's more to share. 😄
Closing Thought
Every new platform is a new puzzle — a new schematic to read, a new device tree to write, a new bootloader to spelunk through. And honestly, I wouldn't have it any other way.
Tags: Android, AOSP, Embedded Systems, BSP, Qualcomm, NXP, Unisoc, MediaTek, LittleKernel, Display Bringup, postmarketOS, IVI, Automotive Embedded, Linux, Power Management, Camera
