10.1. Display pipeline — DSI transport to the color e-ink TCON¶
The Note Air5 C is a color e-ink device, but the firmware describes a Qualcomm DSI/AMOLED display stack: the standard SM6350 SDE/DPU + DSI pipeline is present and used — but only as the pixel transport into an Onyx e-ink TCON (timing controller), which drives the actual EPD panel. The AMOLED panel names are reference-design vestiges; the panel timings are e-ink. This consolidates facts that were split across Boot image: kernel, DTB, ramdisk, config (kernel e-ink firmware), DTBO overlays (per-PCB TCON id) and Splash partition, and adds the device-tree evidence (including the EPD PMICs below).
10.1.1. The stock DSI/DPU pipeline (base DTB)¶
artifacts/boot_a/board.dts carries the full, unmodified SM6350 MDSS display
subsystem:
DPU/SDE —
qcom,sde-kms(qcom,mdss_mdp),mdp_phys``0xae00000`` (+ VBIF0xaeb0000, RegDMA0xaeac000, SID0xae8f000, SW-fuse0xaf50000), display IRQ0x53, two mixers, primary display preference.DSI —
qcom,dsi-ctrl-hw-v2.4“dsi-ctrl-0” ``0xae94000``;qcom,dsi-phy-v3.0“dsi-phy-0” ``0xae94400``;qcom,mdss_dsi_pll_10nmat0xae94a00; aqcom,mdss_dp_pll_10nm(DisplayPort PLL) is also present.
A whole-file scan finds no EPD/EBC/e-ink display-controller compatible in
the base DTB — only this DSI/DPU path. (Apparent “ebc” hits are the clock literal
0xbEBC200 = 200 MHz, not a controller.) So at the SoC level the only display
output described is DSI; the e-ink specifics live one layer out.
10.1.2. The panel node: AMOLED name, e-ink reality¶
The overlay (DTBO overlays) attaches the panel. The node is named for a Visionox AMOLED part but is overridden for e-ink:
name
qcom,mdss_dsi_rm69299_visionox_amoled_video/-panel-name = "rm69299 amoled fhd+ video mode dsi visionox panel"— a reference-design AMOLED identifier;but it declares ``onyx,tcon-mode-support`` — the Onyx property that puts the DSI link into TCON mode (the DSI feeds a timing controller, not a panel);
and its timing is ``2480 × 1860`` (
panel-width = 0x9b0,panel-height = 0x744) at 38 Hz (framerate = 0x26), h-porches 40/40 (0x28), physical 207 × 155 mm (0xcf×0x9b), RGB888 (bpp = 0x18). That is a ~10.3-inch, ~300-dpi e-ink panel geometry — not the ~1080-wide AMOLED “fhd+” the name implies;and its DSI
on/offcommands are trivial — only DCS0x11(sleep-out) /0x10(sleep-in) (on-command = [05 01 00 00 ff 00 02 11 00],off-command = […10 00]). A real AMOLED panel would typically need a long init sequence here; a lone sleep-out is consistent instead with a TCON front-end, where the FPGA — not the DSI link — initialises the actual panel, matchingonyx,tcon-mode-supportabove. (The long DSI init blobs elsewhere in the overlay belong to the unused reference AMOLED nodes.)
So the DSI output is genuinely used, but its endpoint is the e-ink TCON, which
converts the DSI pixel stream into EPD source/gate drive. The overlay carries
several such reference DSI panel definitions (rm69299 video and command mode,
r66451 AMOLED with DSC), all in TCON mode; the per-PCB variant is selected by
board id (DTBO overlays).
10.1.3. E-ink firmware (compiled into the kernel)¶
The e-ink-specific firmware is baked into the kernel image via
CONFIG_EXTRA_FIRMWARE (so it ships inside boot_a, not as its own
partition — Boot image: kernel, DTB, ramdisk, config):
Firmware blob(s) |
Role |
|---|---|
|
the EPD waveform table — the per-temperature voltage/timing sequences that drive grayscale/color pixel transitions |
|
MXO EPD source-driver / controller NVCM (non-volatile config) images — several panel/stepping variants |
|
LFCPNX100 TCON firmware — the FPGA bitstream for the timing
controller (a Lattice ECP5-UM / LFE5UM-85F), several variants; this
PCB’s DT (DTBO overlays |
Multiple variants of each are bundled so one kernel serves the PCB revisions; the running TCON/EPD-controller id selects the match (the same pattern as the Bluetooth patch set, Bluetooth / FM controller firmware (WCN3990 “Cherokee”)).
10.1.4. EPD power (XBL)¶
EPD panels need specialized high-voltage rails (±15 V gate/source, VCOM). Those
are sequenced in XBL DXE by the e-ink PMICs, not by the SoC PMIC RPMh rails:
fp9931_power_on / max17135_power_on (FP9931, MAX17135 EPD PMICs),
gvdd/gvee power-up/down and gpio_pmic_pwrgood (found directly in
the XBL DXE strings). XBL brings EPD power up for the boot splash
(Splash partition) and hands a live panel to the kernel.
10.1.5. Reference-design vestiges vs. what is real¶
Reference-design item vs. actual status:
Item |
Status |
Note |
|---|---|---|
SDE/DPU + DSI ctrl/phy (base DTB) |
real / used |
the pixel transport into the TCON |
|
vestigial |
reference-design identifiers; timings are overridden to e-ink 2480×1860 |
|
unused |
stock SM6350 asset; no DP connector |
XBL AMOLED splash path |
partly vestigial |
the AMOLED panel references are leftovers; EPD power/splash is real (Splash partition) |
TCON fw / EPD waveform / MXO NVCM / FP9931 / MAX17135 |
real / e-ink |
the actual color e-ink pipeline |
This is the same reference-design-carried-unchanged pattern as the mmWave/5G RF-card assets (unpopulated configuration for absent boards, not to be confused with the separately-dormant MPSS baseband) in ADSP and CDSP firmware.
10.1.6. Provenance¶
- Source:
artifacts/boot_a/board.dts(SDE/DSI nodes, addresses),artifacts/dtbo_a/overlay_0.dts(panel node:onyx,tcon-mode-support, 2480×1860 timing, physical size),artifacts/boot_a/kernel_config.txt(CONFIG_EXTRA_FIRMWAREe-ink blob list), and the XBL DXE EPD-PMIC strings found directly inxbl_a.bin.- Method:
DTB/overlay node reading and a whole-file EPD/EBC controller scan (negative); firmware-name extraction from the kernel config. No code executed.
- Cross-refs:
Boot image: kernel, DTB, ramdisk, config (kernel
EXTRA_FIRMWARE, onyx input), DTBO overlays (per-PCB TCON product-id, panel selection), Splash partition (boot splash on the EPD panel), E-ink driver internals (register-level, from the kernel) (the kernel-side FPGA-TCON / EPDC / EPD-PMIC register-level drivers), ADSP and CDSP firmware (reference-base RF leftovers, same pattern).