## 一、问题简述
在 RDK X5 上使用 **MAX96724(四路 GMSL2 解串器)+ 4×MAX96717(串行器)** 聚合
**4 颗 Deptrum Libra2000 深度相机**,通过 **两路 4-lane MIPI CSI-2 D-PHY** 接入 X5,
每路 CSI 用 Virtual Channel 承载 2 颗相机。现就 **驱动接入方式** 与
**单路 CSI 的 VC 支持能力** 咨询官方,恳请指导。
—
## 二、软硬件环境
| 项目 | 内容 |
| :— | :— |
| 板卡型号 | RDK X5 |
| 系统版本 | RDK OS(Ubuntu) |
| 内核版本 | Linux 6.1.83 |
| 采集框架 | HBN(VIN / SIF / ISP / VSE),V4L2 sif-isp-vse 模式 |
| 解串器 | Maxim / ADI MAX96724(Quad GMSL2 → CSI-2) |
| 串行器 | Maxim / ADI MAX96717 ×4 |
| 相机模组 | Deptrum Libra2000 ×4(内置 ISP,2-lane D-PHY,UYVY,1080×2912@30fps) |
| 相机参数 | link-freq 648MHz,pixel_rate 162MHz,CSI-2 DT=0x1e(YUV422-8bit) |
—
## 三、系统架构
```text
Cam0 Libra2000 ─2lane DPHY─ MAX96717(A) ─LinkA─┐
Cam1 Libra2000 ─2lane DPHY─ MAX96717(B) ─LinkB─┼─ CSI OUT0 (VC0/VC1) ─→ X5 CSI0
Cam2 Libra2000 ─2lane DPHY─ MAX96717(C) ─LinkC─┤
Cam3 Libra2000 ─2lane DPHY─ MAX96717(D) ─LinkD─┴─ CSI OUT1 (VC0/VC1) ─→ X5 CSI1
MAX96724
```
- MAX96724 输出配置为 **2×4-lane D-PHY**,每路 CSI 承载 2 颗相机,用 **VC0 / VC1** 区分。
- X5 仅用 **一条 I2C** 控制 MAX96724;4 颗 MAX96717 与 4 颗 Libra2000 均通过
**GMSL 反向通道 + I2C 地址翻译** 访问。
—
## 四、咨询问题
**Q1|单路 CSI 支持多少个 VC**
RDK X5 单个 MIPI CSI RX(CSI0 / CSI1)在 HBN / SIF 层最多能同时接收并分离几个
Virtual Channel?是否支持同一路 CSI 上将 VC0 / VC1 拆分为 2 个独立采集通道?
**Q2|VC 分流后的设备节点映射**
当一路 CSI 进入 2 个 VC 时,SIF / ISP / VSE 会各自生成独立的 `/dev/videoX` 节点吗?
还是需要在 sensor driver 或 DTS 中显式声明每个 VC?能否提供
**4 相机(CSI0=2VC + CSI1=2VC)** 对应的 `media-ctl -p` 拓扑示例?
**Q3|第三方 GMSL 解串器的接入方式**
MAX96724 对 X5 而言是一个 CSI-2 bridge(非标准 Bayer sensor),建议采用哪种方式接入:
- (a) 写成标准 **V4L2 sub-device sensor driver**(sif-isp-vse 模式);
- (b) HBN 常规模式下用 **vnode / vflow** 自定义。
官方是否已有 **MAX96724 / MAX9296 或其它 GMSL 解串器** 的参考 driver 或 DTS 模板可供参考?
**Q4|相机内置 ISP 时能否绕过 X5 ISP**
Libra2000 已内置 ISP,输出 **UYVY(DT=0x1e)** 与 depth **RAW16**。X5 能否直接
SIF → DDR 抓取 UYVY,绕过 X5 ISP tuning?若同一颗相机同时输出 UYVY 与 RAW16 多
stream,VC / Data Type 在 X5 侧应如何配置?
**Q5|DTS 端点绑定**
MAX96724 的两路 4-lane D-PHY 输出接 CSI0 / CSI1,X5 侧 CSI 接收端的正确节点名与
endpoint 写法能否提供官方示例?(`&mipi_csi0` / `&csi0` / VIN cam0 等命名在不同
BSP 版本似乎不一致。)
—
## 五、已做的工作与参考
- 已研读官方文档《V4L2 使用》:VIN / SIF / ISP / VSE 说明、`/dev/videoX` 映射表、
`media-ctl` 拓扑导出方法。
- 已确认 Libra2000 为 2-lane D-PHY,link-freq 648MHz,pixel_rate 162MHz,格式 UYVY8。
- 已参考 mainline `max96717.c` 与 MAX96724 datasheet,完成初版 bridge driver;
目前主要卡点为 **单路 CSI 的 VC 分流数量上限** 与 **X5 CSI RX 对多 VC 的支持能力**。
—
## 六、期望结果
4 颗 Libra2000 通过 **2 路 CSI(每路 2 个 VC)** 在 X5 上同时出图,得到
**4 个独立 `/dev/videoX`** 节点,供后续 ROS2 + YOLO 使用。
—
> 感谢版主与各位工程师抽空解答,如需补充原理图、`dmesg` 日志或 `media-ctl -p`
> 输出,我可随时提供。