RK3588 显示拓扑与 DRM 集成

RK3588 显示拓扑与 DRM 集成

1. 关键结论

RK3588主显示controller不是drivers/video/fbdev驱动,而是Rockchip DRM中的VOP2路径。drivers/video直接参与的是backlight、fbdev兼容、timing helper及vendor媒体模块。

2. DTS顶层

rk3588s.dtsi定义:

  • display-subsystem
  • vop@fdd90000
  • VOP output ports;
  • route-dp0/dsi0/dsi1/edp0/edp1/hdmi0/rgb等route;
  • VOP IOMMU;
  • clocks/resets/power domain/OPP/QoS。

3. Scanout拓扑

1
2
3
4
5
6
7
8
GEM/dma-buf
-> VOP2 plane/window
-> video port
-> endpoint route
-> encoder/bridge
-> HDMI / DP / eDP / MIPI-DSI / RGB
-> panel
-> backlight

每条链路依赖DT graph两端endpoint互相连接。

4. VOP2

VOP2负责planes、blend、CRTC/video ports、timing和scanout。其driver主要在drivers/gpu/drm/rockchip,不要在drivers/video/rockchip查找。

5. 输出

  • HDMI:controller、PHY、HPD、DDC/EDID;
  • DP/eDP:link training、AUX、panel/bridge;
  • DSI:host、PHY、panel;
  • RGB/LVDS:可能经bridge/PHY;
  • Backlight:常由本目录pwm_bl.c提供class device。

6. Route

SoC dtsi给出所有可能route,板级dts决定:

  • endpoint连接;
  • status;
    -默认logo/route;
  • panel/bridge;
  • regulator/GPIO/backlight。

仅有SoC节点不等于板上输出已启用。

7. IOMMU

VOP IOMMU保护scanout DMA并允许non-contiguous GEM buffer。Boot framebuffer handoff时需处理firmware physical buffer与native IOMMU地址切换。

8. RGA/MPP关系

RGA或MPP输出dma-buf,HWC/DRM再把buffer放到VOP plane。它们是producer/processor,不是connector或CRTC。

9. Backlight实例

本树RK3588 tablet、EVB和vehicle dtsi包含大量pwm-backlight节点。最终有效性取决于:

  • PWM controller status/pinctrl;
  • power-supply;
  • enable GPIO;
  • brightness table;
  • panel phandle。

10. 配置

Vendor defconfig启用:

  • DRM_ROCKCHIP=y
  • BACKLIGHT_CLASS_DEVICE=y
  • BACKLIGHT_PWM=y
  • Multi-RGA;
  • IEP;
  • MPP及多数RK3588 codec。

FB/fbcon未在该defconfig中显式列出,应检查最终Kconfig结果和产品fragment,不能宣称必然启用。

基线Kconfig中DRM_FBDEV_EMULATION默认开启,并可进一步带入framebuffer console;因此普通Rockchip Linux构建通常会得到DRM模拟的/dev/fb0。产品fragment仍可覆盖,例如NVR配置明确关闭fbdev emulation。

11. 启动链

1
2
3
4
5
6
7
8
U-Boot/VOP logo buffer
-> drm-logo reserved memory与route接管
-> Rockchip DRM component bind
-> VOP/output probe
-> atomic modeset
-> panel/backlight enable
-> optional DRM fbdev emulation/fbcon
-> userspace compositor

该Vendor路径不依赖simplefb/efifb;本树RK3588 DTS也没有相应节点。

12. 常见故障

现象 优先检查
无connector bridge/panel endpoint、status
connected无mode EDID/AUX/DSI panel
atomic commit失败 route、clock、bandwidth、format
有图无背光 PWM/regulator/GPIO/phandle
boot logo后黑屏 aperture/handoff、first atomic commit
IOMMU fault GEM mapping、modifier/stride、domain

13. 运行核对

1
2
3
4
5
ls /sys/class/drm
cat /sys/kernel/debug/dri/0/state
cat /sys/kernel/debug/clk/clk_summary
cat /sys/kernel/debug/pwm
dmesg | grep -Ei 'rockchip|vop|drm|hdmi|edp|dsi|iommu'

14. 产品建议

以DRM为单一显示ownership;仅在确有需求时启用fbdev emulation。保留实际使用的output、panel、backlight和媒体backend,关闭不相关legacy fbdev及vendor debug接口。

文章互动

阅读 --

留言

0 条留言

正在加载留言…