Appendix · reference

Synopsys DesignWare MIPI DSI

RK3399 4-lane DSI controller driving the HX8394 panel

Identity

PartSynopsys DesignWare MIPI DSI host (RK3399 instance)
RoleDSI host controller — drives the 720x1440 IPS panel over a 4-lane MIPI DSI link
Bus / addressMMIO 0xff960000 (SoC-internal)
GPIO / IRQInternal SoC interrupt; PHY clocks via CRU
DatasheetRK3399 TRM
Pine64 wikiPinePhone Pro hardware
Schematicsheet 4 (display block)

Status — ● working

The DSI host attaches, the internal MIPI DPHY locks, and the HX8394 panel receives its full vendor init sequence on every boot. 720x1440 @ 60 Hz is driven into the VOP framebuffer through rk_drm and lights up the panel in both EFI-framebuffer (loader) and DRM/KMS (kernel) phases. No known display glitches that originate in the DSI layer; the open issues live upstream in rk_vop (modeset-lock wedge — see the cross-driver audit).

Driver

The split between the Synopsys core and the Rockchip platform driver mirrors the Linux layout. The core file is a library that any platform glue can drive; the platform driver owns the MMIO resource, clocks, GRF mux registers, and DRM bridge registration. Our tree adds an INTERFACE dw_mipi_dsi_if.m so the core can call back into the platform driver for PHY power-on/lock, similar to Linux’s phy_ops callbacks.

The DSI host writes panel commands through the LPCMD path and a 200-byte generic FIFO; the HX8394’s full init runs cleanly through this layer without retries.

Open work