【RDK X5 摄像头成像失败】csi host 设备树缺 cam_mclk

【RDK X5 摄像头成像失败】csi host 设备树缺 cam_mclk,ISP/VSE 流水线初始化报 -10

一、环境

  • 开发板:D-Robotics RDK X5(地平线旭日 5 / Bayes-e BPU)

  • 系统:官方 Ubuntu Desktop 镜像(带 hobot_vio / srcampy)

  • 摄像头:imx219(MIPI CSI 模组,i2c 地址 0x10)

  • 物理连接:摄像头接在 mipi_host2(远离网口的 MIPI 座;驱动侧对应 mipi rx csi 2 / vcon@2)

  • 验证程序:官方 C 示例 /app/cdev_demo/vio2display/vio2display(sudo make 编译通过)

二、现象 传感器能被驱动扫描并正确识别(imx219 的 chip id 在 csi2 上读到),但一旦进入 ISP/VSE 处理流水线就初始化失败,最终 sp_open_camera 返回失败,摄像头无法出图。

三、复现步骤

  1. cd /app/cdev_demo/vio2display

  2. sudo make (编译通过,无需重编)

  3. sudo ./vio2display -w 1920 -h 1080

四、关键日志(证据) 传感器识别正常: [0] INFO: Found sensor name:imx219-1920x1080-30fps on mipi rx csi 2, i2c addr 0x10, config_file:linear_1920x1080_raw10_30fps_2lane.c

扫描时即对 csi2 报时钟未配置: mipi mclk is not configed. Searching camera sensor on device: /proc/device-tree/soc/cam/vcon@2 i2c bus: 4 mipi rx phy: 2 (其余 sensor 在 csi2 上 chip id 均读到 0x00,只有 imx219 被成功识别)

进入 ISP/VSE 后失败: 2026/07/13 17:38:19.354 !INFO [vp_vin_init][0055]csi2 ignore mclk ex attr, because mclk is not configed at device tree. 2026/07/13 17:38:19.369 ERROR [vp_isp_init][0054] hbn_vnode_set_attr failed, ret(-10) 2026/07/13 17:38:19.370 ERROR [vp_vse_init][0050] hbn_vnode_set_attr failed, ret(-10) 2026/07/13 17:38:19.371 ERROR [OpenCamera][0532]pipeline init failed error(-10) [Error] sp_open_camera failed

五、根因分析

  • 摄像头模组、排线、i2c 通信均正常(imx219 已被正确枚举)。

  • 失败发生在 VIN→ISP→VSE 流水线搭建阶段:驱动明确提示 “mclk is not configed at device tree”,随后 ISP/VSE 节点的 hbn_vnode_set_attr 返回 -10,整条 pipeline 起不来。

  • 结论:当前板子的 csi host(mipi_host2 / csi2)设备树里 cam_mclk(主时钟)未使能/缺失,导致 ISP 流水线无法初始化。这不是接线或模组问题,是板级设备树配置问题。

六、诉求 请 BSP 团队提供针对 RDK X5(X5 V1.0 板)的 csi host 设备树覆盖补丁(.dtbo)或 dtb 修改指引,使 mipi_host2 / csi2 的 cam_mclk 正确使能,让真实 imx219 sensor 能正常出图。 如有需要,我可补充提供 /proc/device-tree/soc/cam/ 下的设备树节点内容、dmesg 完整日志,或配合测试你们给出的 overlay。

(附:Python hobot_vio 路径 srcampy.Camera().open_cam(0, 2, -1, [640,640], [480,480], 640, 480) 同样走该 csi 口,预期会遇到同一 mclk 问题;修复 dtb 后应一并解决。)