46 RK3588 LCD 当前 blocker:DSI2 视频模式不通 + 交接 (2026-07-31)
45 把 panel 点亮了(DRM/VOP2/DSI/PHY 全 bind、背光亮、connector enabled)。最后一公里:DSI 视频流没真正传到 panel——背光亮但无画面。本篇记定位过程 + 深挖计划 + 全局交接。
症状
- 板子能进系统(systemd/GDM 跑着,串口可登录)。
- LCD 只亮背光,无任何画面。
head -c 2457600 /dev/urandom > /dev/fb0灌噪点 → 屏仍空白(DSI 视频管道没把像素送到桥)。
定位(debugfs 定断点)
$ cat /sys/kernel/debug/dri/0/state
crtc[83]: video_port2
active=1
mode: "1024x600": 47 82000 1024 2604 2614 2714 600 610 620 645 0x48 0xa
connector[85]: DSI-1
crtc=video_port2- vp2 active=1:VOP2 在扫描 fb0,mode 1024×600@47Hz 正确应用(hsync_start=2604 → hfront-porch=1580,vendor 原值)。
- connector DSI-1 绑到 vp2 → vp2→dsi0 路由没问题(之前怀疑 vp2/vp3 是错的,gameforce 用 vp3 但 vp2 也通)。
- 像素从 VOP2 出去了 → 断点在 VOP2 之后:DSI2 视频编码 / PHY HS / bridge 这段。
根因判断
- 命令模式通(panel init-seq 送达 → 背光亮)→ DSI host + PHY lanes 物理层 OK。
- 视频模式不通(fb0 噪点到不了屏)→ DSI2 切视频/HS 模式那步断了。
- vendor 用一模一样的 mode + DSI 配置(lanes=4 RGB888 VIDEO|BURST|LPM|EOT)能点亮+使用屏 → 配置无误,是 mainline
dw-mipi-dsi2驱动本身跟 vendor BSP 的实现差异(视频模式 enable / IPI / HS clk 某步),不是 DT/config 能修的。 - mainline DSI2 rockchip glue(
dw-mipi-dsi2-rockchip.c)逻辑完整(PHY power_on/set_mode DPHY/lane_mbps/IPI color depth 都在),视频模式核心在drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c。
深挖计划(下一步)
对照读,找视频模式 enable 的 diff:
- mainline core:
third_party/src/rk3588-topeet/linux/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c(视频模式 enable、IPI 配置、HS clk、lp2hs/hs2lp timing)。 - vendor BSP:
reference/rk3588/kernel/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c+ 其 dsi core(视频模式寄存器序列、dw_mipi_dsi_set_video_mode类)。 - 重点对照:视频模式寄存器写入序列、HS clock 使能、IPI vs DPI 模式、
PHY_MODE_MIPI_DPHY后的 phy_configure 参数。 - 也要查 mipidcphy0 驱动
phy-rockchip-samsung-dcphy.c是否真出 HS(BSP 的 innos dphy vs samsung dcphy 实现差异)。
全局状态(2026-07-31)
| 子系统 | 状态 |
|---|---|
| boot 链(BootROM→mainline SPL→BL31 v1.54→u-boot→kernel) | ✅ |
| autoboot(直接 bootcmd) | ✅ |
| 串口 115200 全链路 | ✅ |
| eMMC mmcblk0p3 rootfs / Ubuntu 26.04 GNOME | ✅ |
| 8 CPU / 16GB / eMMC HS400 / PMIC rk806 / GMAC / USB host | ✅ |
| LCD DRM 管线(VOP2+DSI2+PHY+panel probe) | ✅ bind + panel 亮 |
| LCD 视频出图 | ❌ DSI2 视频模式不通(本篇) |
| GT911 触摸 | ❌ I2C -110(总线/mux 或 reset 时序,待查) |
| GPU Panthor | ⚠️ mali_csffw.bin 加载失败(early probe -ENOENT;要 CONFIG_EXTRA_FIRMWARE 内建或 initramfs) |
| 外设(audio es8388 / RTC hym8563 / USB-typec) | ⏸ 未开始 |
产物
board/rk3588-topeet/out/update.img,最新 MD5b8d0abf3(autoboot+baud+LCD+PHY+BACKLIGHT_PWM)。烧录落点C:\Users\CharlieChen\Assets\images\RK3588\。- 想稳态用板子(绕 fbcon 偶发挂):bootargs 加
fbcon=disable(保 DRM,关内核 console)或nomodeset(全关 KMS)。
关键文件指针
- u-boot patch:
patches/rk3588-topeet/uboot/{0001,0002,0003}-*.patch(见 [43]) - kernel patch:
patches/rk3588-topeet/linux/{0001,0002}-*.patch(见 [44]) - kernel.config:
board/rk3588-topeet/kernel.config - 设计 plan:
.claude/plans/joyful-rolling-hartmanis.md - bootloop 分析:
document/logs/rk3588/bootloop-analysis.md - 记忆:
[[rk3588-migration-status]]+[[rk3588-build-gotchas]]#8