RK3562 Android 驱动适配

基于明远智睿开发板

Posted by LXG on December 30, 2025

明远智睿-WIKI

国内开发板行业痛点

类别 痛点 具体表现 对应影响
客户端痛点 Demo 与量产鸿沟 开发板能跑 Demo,但换芯片/屏/外设就无法量产 工程师项目推进受阻,开发周期长
客户端痛点 BSP 质量参差不齐 Kernel、DTS、驱动魔改严重,升级难 Debug 难,换人维护成本高
客户端痛点 资料不落地 原理图、文档只支持 Demo,缺少注释 量产和定制化难以直接操作
板厂痛点 利润低、服务高 板子毛利低,但客户要求技术支持和定制 工程师被迫承担大量售后
板厂痛点 芯片 SDK 不稳定 SDK bug 多,版本差异大 板厂很多问题也源于芯片层面
板厂痛点 客户分化严重 大客户要求高,小客户量少但需求多 管理成本高,项目难标准化
行业结构性 缺乏标准化 客户经常改硬件和软件 板子复用率低,研发效率差
行业结构性 软件依赖个人经验 时序、电源、内核驱动靠工程师经验 知识复用率低,新人上手慢
行业结构性 生态碎片化 多芯片、多平台、多系统 开发成本高,维护难度大

硬件设计无显示接口

硬件没有设计显示接口和设计了显示接口没有接屏幕有区别吗

场景 内核视角 DRM 视角 Android 视角
❌ 硬件根本没设计显示接口 没有 encoder / connector 没有任何 connected connector SurfaceFlinger 起不来
⚠️ 设计了接口但没接屏 接口节点存在 connector = disconnected 有时能起,但极不稳定
✅ 设计接口 + 接屏 正常 connected 正常
✅ Dummy Display 虚拟 connector connected 最稳定方案

在显示子系统里,硬件状态指的是物理电路和接口的存在情况,主要包括以下几个部分:

  • PHY 电路(物理层):负责将视频信号输出,比如 HDMI PHY、MIPI DSI PHY。
  • 驱动时钟和电源:显示控制器、PHY 都需要时钟和电源。
  • 走线和接口芯片:HDMI / eDP / DSI 的电气线路和接口芯片。
  • 检测信号:HPD(Hot Plug Detect)或 DSI / LVDS handshake 用于告知操作系统屏幕是否存在

三种方案硬件状态对比

硬件元素 有接口没接屏 没接口强开 Dummy Display
PHY 电路 ✅ 存在 ❌ 不存在 ❌ 不存在
控制器 / VOP ✅ 存在 ✅ 存在 ✅ 存在
接口线路 ✅ 布线在 PCB 上 ❌ 不存在 ❌ 不存在
HPD / 信号检测 ⚠️ 低(没屏) ❌ 无 虚拟存在(内核/DRM 模拟)
Panel / LCD ❌ 没接屏 ❌ 没有 ✅ Dummy panel
驱动电源 / 时钟 ✅ 可开 ❌ 不完整或不存在 ✅ Dummy 使用 VOP 时钟即可
I/O 连通性 ❌ 局部通 ❌ 无法连通 虚拟通路
connector probe 成功率 ✅ 内核能识别 ❌ Probe 失败 ✅ Probe 成功(虚拟)

为什么Rockchip官方不再支持虚拟屏

安全性和可靠性

  • Android 13 对 SurfaceFlinger / HWComposer 更严格
  • 无物理接口 + 虚拟接口容易出现:
    • CRTC 创建失败
    • primary plane 找不到
    • rockchip-vop2 … No primary plane find for video_port0

简化维护成本

  • RK3562 官方 BSP 面向有屏设备
  • 去掉 Dummy Display 可以减少测试和 bug

量产产品逻辑

  • 官方默认只考虑 HDMI / DSI / LVDS / eDP
  • 没有屏幕的设备通常改用 Linux