Vehicle 快速倒车影像链路
1. 目标
vehicle/为Rockchip vendor快速倒车影像方案,目标是在Android Camera/HWC完整启动前,以较短延迟显示后摄画面。
2. 构建依赖
VIDEO_REVERSE_IMAGE依赖:
ARCH_ROCKCHIP;ROCKCHIP_DRM_DIRECT_SHOW;VIDEO_ROCKCHIP_CIF;PHY_ROCKCHIP_CSI2_DPHY。
因此它横跨camera capture和DRM direct display。
3. 组成
| 文件组 | 作用 |
|---|---|
vehicle_main/dev |
生命周期和设备入口 |
vehicle_cif |
capture接口/寄存器 |
vehicle_flinger |
buffer到显示 |
vehicle_gpio |
倒车信号等GPIO |
vehicle_generic_sensor |
通用sensor控制 |
vehicle_ad_* |
TP28xx、NVP、MAX96714、GC2145、ADV7181等decoder |
| DPHY common | CSI2 DPHY协作 |
4. 数据路径
1 | reverse GPIO/event |
5. 支持源
Kconfig可选TP2815、TP2855、NVP6324、NVP6188、MAX96714、GC2145和AD7181。实际I2C地址、video format和lane来自板级DTS/配置。
6. Buffer
Capture DMA与VOP scanout必须共享可访问buffer,并保证:
- stride/format一致;
- producer完成后再scanout;
- VOP释放后才复用;
- IOMMU domains/physical地址可达;
- cache属性正确。
7. 与标准栈关系
它是专用低延迟旁路,不等同于标准V4L2→userspace→DRM pipeline。优点是快,代价是跨子系统耦合和vendor ABI。
8. 状态机
至少区分:
- inactive;
- starting;
- streaming;
- stopping;
- error。
倒车信号抖动时必须去抖,start/stop不能并发重复执行。
9. 显示ownership
Direct show可能与正常HWC/DRM atomic commit争用VOP plane。必须明确:
- 哪个plane保留;
- 进入倒车时如何抢占;
- 退出时如何恢复;
- suspend/hotplug怎么办。
10. 错误恢复
- sensor无锁:显示安全提示/黑帧;
- CIF timeout:stop/reset/restart;
- buffer错误:禁止scanout损坏地址;
- DRM被卸载:停止capture;
- GPIO频繁变化:serialize work。
11. 安全
倒车画面属于安全相关功能。应有:
- 启动deadline和故障监测;
- stale frame检测;
- 明确fail-safe;
- userspace不能任意注入buffer;
- watchdog/health counters;
- production关闭过度debug。
12. RK3588配置
本树rk3588_vehicle.config明确写有# CONFIG_VIDEO_REVERSE_IMAGE is not set,说明“vehicle源码存在”不能推断该fragment启用;应以最终合并.config和具体车载DTS为准。
13. 调试顺序
倒车GPIO→decoder I2C/lock→CSI DPHY→CIF IRQ/frame counter→buffer address/fence→DRM direct-show→VOP route→panel/backlight。
正在加载留言…