Goal
Get the panel(s) lit on Pixel Fold (felix), so kernel printk and console are visible without requiring UART. Chosen as the next major bring-up effort over CS40L26 haptic and USB-gadget CDC.
Why display over haptic / USB-gadget
- Display is on a fully independent hardware path from USB-C (DPU → DSIM → DSI → panels, dedicated cmu_dpu clocks, dedicated pinctrl banks). UART stays continuously available throughout the entire bring-up — every probe failure, every crash, we see live.
- USB-gadget would have a chicken-and-egg problem: the bring-up itself has the cable conflict (UART + USB share the USB-C port), and the thing we'd be building is the only channel that would replace UART.
- Bigger payoff than haptic. Once display works, kernel boot is visible directly, login prompt is on the panel, and a basic graphical desktop is plausible later. Comparable effort to haptic but with much higher value per unit of work.
Hardware
felix is a foldable with two command-mode panels:
samsung-ana6707-f10 — inner foldable, 1840×2208, product id 0x8408
ea8182-f10 — cover, 1080×2092, product id 0xd18018
Command-mode panels need DECON to drive frame triggers; simple-framebuffer will not work (already proven on AOSP).
Mainline gap
samsung-dsim bridge: present in mainline, may need a gs201 compat
- DECON for gs101/gs201: not in mainline. Closest:
exynos7-decon, exynos5433-decon
- AOSP reference:
private/google-modules/display/ (DPU CAL cal_9855 for gs201, panel drivers under panels/, samsung/cal_common helpers)
Milestone plan
Each step testable with UART:
- DT skeleton. Add cmu_dpu clocks (or stub like cmu_peric0), DECON/DSIM/panel nodes. Win: kernel boots without crashing on new DT.
- DECON probe stub. Driver probes, can read a known register, doesn't drive hw.
- DSIM probe via mainline samsung-dsim. Add gs201 compat if needed. Win: read panel product ID via DSI MIPI (expect
0x8408).
- Panel driver port for
samsung-ana6707-f10 from private/google-modules/display/panels/ — long init command sequence.
- DECON scan-out one window to DSIM with a framebuffer.
- fbcon enabled → kernel printk visible on panel.
Tracker
This is an epic. Sub-issues per milestone will be filed as work begins.
Goal
Get the panel(s) lit on Pixel Fold (felix), so kernel printk and console are visible without requiring UART. Chosen as the next major bring-up effort over CS40L26 haptic and USB-gadget CDC.
Why display over haptic / USB-gadget
Hardware
felix is a foldable with two command-mode panels:
samsung-ana6707-f10— inner foldable, 1840×2208, product id 0x8408ea8182-f10— cover, 1080×2092, product id 0xd18018Command-mode panels need DECON to drive frame triggers;
simple-framebufferwill not work (already proven on AOSP).Mainline gap
samsung-dsimbridge: present in mainline, may need a gs201 compatexynos7-decon,exynos5433-deconprivate/google-modules/display/(DPU CALcal_9855for gs201, panel drivers underpanels/, samsung/cal_common helpers)Milestone plan
Each step testable with UART:
0x8408).samsung-ana6707-f10fromprivate/google-modules/display/panels/— long init command sequence.Tracker
This is an epic. Sub-issues per milestone will be filed as work begins.