MIPI DSI Video Mode: real framebuffer never reaches panel display, only colorbar/test pattern works #830
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
maxpeterkaya/LicheeRV-Nano-Build#830
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Cannot get real framebuffer content displayed over MIPI DSI Video Mode on
LicheeRV Nano. Setup runs cleanly via SDK API, scaler/MAC/DPHY all report
correct state, IRQ handlers fire at expected rate, but panel never displays
the actual pixel data we push.
Related unresolved issues: #27, #52
Hardware
(DCS 0x2C/0x3C in LP escape mode), so panel + wiring + power are fine
Software
main)soph_vo.ko+soph_mipi_tx.komiddleware/v2/sample/modeled aftervdecvodoing:CVI_VB_SetConfig+CVI_VB_Init+CVI_SYS_InitSAMPLE_COMM_VO_StartVO(VO_OUTPUT_USERwith custom timing)CVI_VO_ShowChnCVI_VB_CreatePool+CVI_VB_GetBlock+CVI_SYS_MmapCVI_SYS_IonFlushCacheCVI_VO_SendFrameat 30fps/dev/mipi-txioctl:SET_DEV_CFG+SET_HS_SETTLE+ENABLE+ DCS init sequenceclean state
What works
SendFrameruns 2880+ frames with 0 errors/proc/cvitek/vo:DevEn=Y, IntfType=MIPI, VideoEn=Y, ChnEn=Y, Show=Y/proc/cvitek/mipi_tx: lane=1, output_mode=DSI_VIDEO, pixel_clk correct,sync info matches what we set
0x0A08A000bit2=1 (HS Video Mode) stabletgen_en=1,bw fail=0vo_irq_handlerfires atdisp_frame_endevery ~31ms,_vo_hw_enquewrites scaler DMA registerto VB block phys addr each frame
SET_CMDioctl) worksperfectly — same panel displays full red
What doesn't work
in our DRAM buffer
ddthat DRAM at scaler DMA addr contains the correctpixel bytes
video_mode_evalues — see belowWhat we suspect
dev_cfg->video_modefield appears unused at the hardware register level:if (video_mode != BURST_MODE) return -EINVALmipi_tx_get_combo_dev_cfg()always overwrites withBURST_MODEThis suggests the silicon may only support BURST_MODE, OR the
scaler-output-to-MAC-FIFO video data bridge requires an undocumented
register write that the SDK doesn't expose.
Questions
Does Sipeed have any internal example of MIPI DSI Video Mode displaying
real framebuffer content (not the BIST color bar that
sample_dsi--panel demonstrates) on this SoC family?
Is there a register that needs to be written to enable the
scaler-DISP-output → MAC-video-FIFO data path? The SDK source doesn't
show such a write; is there NDA/datasheet documentation?
Are AMOLED panels with internal GRAM (Command Mode native, but supporting
Video Mode receive) officially supported on this SoC? Or only video-mode
TFT-LCDs like HX8394/ST7701?
If the silicon does not support arbitrary MIPI panels in HS Video Mode
with real framebuffer, what is the recommended platform in your product
line that DOES support this for AMOLED panels?
Reproduction
Happy to share simplified reproduction steps + minimal C source if helpful.
Thank you for any guidance.