← All work

Embedded Linux & Android

Android 15 BSP for a Qualcomm payment kiosk

AIOapp Inc. · Senior Hardware Associate, Firmware (Embedded Linux) · Jul 2026 – present

Owner of the Android 15 board support package for a QCM6125 (Quectel SC668S) kiosk: display and touch bring-up, NFC tap-to-pay, secure boot, A/B OTA and certification, shipped as production releases.

The problem

The device uses a non-standard LVDS panel behind an LT9211D MIPI-to-LVDS bridge, a capacitive touch controller and an NXP NFC reader, on a vendor BSP that had none of them working. It had to pass Google's CTS/VTS/GTS suites and ship with GMS, verified boot and over-the-air updates.

What was done

  • ✓Display bring-up: LT9211D MIPI-DSI→LVDS bridge driver, backlight sequencing and ramping, Device Tree for the panel and timing
  • ✓ILI2510 I2C capacitive touch driver and HAL integration
  • ✓NXP PN7220 NFC: I2C kernel driver built as a GKI vendor module, HAL and framework integration for tap-to-pay
  • ✓AVB / ABL OEM signing, verified boot keys, A/B OTA releases; releases via flashing and OTA
  • ✓GMS integration and security-patch merges; fixed CTS, VTS and GTS failures through to passing runs
  • ✓Native FastMMI factory test mode (ffbm) for the production line
  • ✓Media pipeline fix so VP9-in-MP4 plays correctly (kept MP4/MOV off the QTI parser)
  • ✓570+ commits on the BSP, kernel and framework trees

Evidence

Selected commit titles from the device tree (code is the client's; titles shown as evidence of scope)

  • fix(display): adopt the LT9211D bridge XBL left running
  • feat(display): gate the inverted BLU and ramp it on both edges
  • fix(vts): ship Google's certified GKI boot image as boot.img
  • feat(factory): native FastMMI factory test mode (ffbm-01)
  • fix(media): keep MP4/MOV off the QTI parser so VP9-in-MP4 plays
  • fix(systemui): unlock the lock screen on a short swipe up
VTS test invocation running against the device (serial redacted)
VTS run (VtsHalGraphicsComposer) against the device; serial redacted
Tracker of GMS and CTS/VTS compliance work items with status
GMS / CTS compliance work tracker: privapp allowlists, SELinux policy, kernel CVEs, vendor releases
Verified-boot alerts: vbmeta partitions signed with test keys
AVB diagnostics: vbmeta partitions flagged as test-key signed, fixed by production signing
Android launcher on the device with GMS apps, mirrored to a desktop
Device screen mirrored during bring-up: GMS apps running on the custom build

Outcome

Production BSP releases with display, touch, NFC and OTA working; certification suites passing; GMS integrated.

More work