Identity
| Part | Himax HX8394 (drives the Hannstar HSD060BHW4 panel) |
| Role | MIPI DSI panel controller IC inside the display module |
| Bus / address | MIPI DSI peripheral on the DW MIPI DSI host (lane 0 reset, full DCS init) |
| GPIO / IRQ | Reset GPIO and backlight enable wired through the panel node in DTS |
| Datasheet | Himax HX8394-F datasheet (community archive) |
| Pine64 wiki | PinePhone Pro hardware |
| Schematic | sheet 4 (display module) |
Status — ● working
The panel comes up cleanly on every boot. The full vendor init sequence runs over the DSI link, the panel exits sleep, the backlight (driven by the separate PWM backlight node) ramps, and the framebuffer is visible through both U-Boot’s bootmenu and the running kernel. No flicker, no wake-from-sleep glitches — but the kernel never blanks the panel, so that path is untested.
Driver
- Our tree:
src/sys/dev/drm/panels/panel_hx8394.c— full DSI panel driver (header atpanel_hx8394.h). - Linux mainline:
drivers/gpu/drm/panel/panel-himax-hx8394.c
The driver is a near-direct port of the Linux mainline panel driver: it
walks the same vendor command set (B9 set extended command, BA set MIPI,
BC set VCOM, etc.) and the same delays. The panel attaches as a DSI
peripheral to the DW MIPI DSI host; bring-up calls out to gpio for
the reset line and to the backlight regulator/PWM through the DT
backlight phandle. Nothing PinePhone-specific lives in the panel
driver itself — the boardiness is in the DTS panel node.
Open work
- Sleep / unblank path is untested; the kernel never asks the panel to enter
MIPI_DCS_ENTER_SLEEP_MODE. Required before suspend/resume work makes sense. - Validate the panel timing against scope captures — current values came straight from the Linux mainline driver and haven’t been independently confirmed.
- No backlight curve calibration; perceived brightness is linear in PWM duty.
Related
- Display from black — the bring-up arc.
- Component: DW MIPI DSI — host that drives this panel.
- Component: PWM backlight — backlight power for this panel.
- Hardware reference — display block summary.