Page 1 of 1

RV1126B + IMX415 开启 WDR/HDR 时 1486 Mbps/lane CSI2 D-PHY 接收错误

Posted: 2026-05-22 10:10
by leo

您好。

我们正在使用 Luckfox Aura / RV1126B,摄像头传感器是 Sony IMX415,4-lane MIPI CSI-2。

默认模式可以正常工作:

- 3864x2192
- RAW10
- NO_HDR
- 30 fps
- MIPI data rate: about 892 Mbps/lane
- xvclk: 37.125 MHz
- 没有 MIPI CSI-2 错误

现在我们想启用 IMX415 的 WDR/HDR 模式。为此需要更高的 MIPI data rate。我们先尝试 NO_HDR 高速模式,用来确认 RV1126B 的 CSI2 D-PHY 是否可以稳定接收高速数据。

测试过的高速配置:

- 3864x2192
- RAW10
- NO_HDR
- 60 fps 配置
- 4-lane MIPI CSI-2
- xvclk: 27 MHz
- MIPI data rate: about 1486 Mbps/lane

但是在 1486 Mbps/lane 下无法正常接收。

当 RX D-PHY calibration 开启时,kernel log 如下:

[ 24.534592] rockchip-csi2-dphy0: dphy0, data_rate_mbps 1486
[ 24.534614] rockchip-csi2-dphy csi2-dphy0: enable dphy calibration: data_rate_mbps=1486 lanes=4 lane_mode=1 phy_index=0
[ 24.534629] (0x21c00000)MIPI_CSI2 ERR2:0xf0000
[ 24.534642] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:1, dphy0, ret 0
[ 24.534654] imx415 4-0037: s_stream: 1. 3864x2192, hdr: 0, bpp: 10
[ 24.620888] imx415 4-0037: set vblank 0x3a vts 2250
[ 24.623615] imx415 4-0037: timing readback: hmax=0x0226 vts=0x008ca cur_vts=2250 max_fps=10000/600000
[ 24.653253] (0x21c00000)MIPI_CSI2 ERR1:0xf (sot sync,lane: 0 1 2 3)
[ 25.535146] (0x21c00000)MIPI_CSI2 ERR2:0x10000000
[ 25.653751] (0x21c00000)MIPI_CSI2 ERR1:0xc (sot sync,lane: 2 3)

当 RX D-PHY calibration 关闭时,错误类型会变化:

[ 164.632677] rockchip-csi2-dphy0: dphy0, data_rate_mbps 1486
[ 164.632703] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:1, dphy0, ret 0
[ 164.632715] imx415 4-0037: s_stream: 1. 3864x2192, hdr: 0, bpp: 10
[ 164.724056] imx415 4-0037: set vblank 0x3a vts 2250
[ 164.726780] imx415 4-0037: timing readback: hmax=0x0226 vts=0x008ca cur_vts=2250 max_fps=10000/600000
[ 164.756535] (0x21c00000)MIPI_CSI2 ERR1:0x10000000 (ecc2)
[ 164.756558] (0x21c00000)MIPI_CSI2 ERR2:0x10000000
[ 164.756809] rkcif-mipi-lvds: Warning: vblank need >= 1000us if isp work in online, cur 429 us
[ 165.756540] (0x21c00000)MIPI_CSI2 ERR1:0x10000000 (ecc2)
[ 165.756567] (0x21c00000)MIPI_CSI2 ERR2:0x10000100 (ecc,vc: 0)
[ 166.756557] (0x21c00000)MIPI_CSI2 ERR1:0x440 (fs/fe mis,vc: 2) (f_seq,vc: 2)
[ 166.756584] (0x21c00000)MIPI_CSI2 ERR2:0x10004500 (ecc,vc: 0 2) (err id,vc: 2)

也就是说:

- 开启 calibration 时主要是 SOT sync error。
- 关闭 calibration 时主要是 ECC / frame sequence / virtual channel 错误。
- 这说明 D-PHY 接收端配置可能不正确。

另外我们测试了一个 1440 Mbps/lane 配置:

- xvclk: 72 MHz
- MIPI data rate: 1440 Mbps/lane
- 3864x2192 RAW10

这个模式 MIPI 可以启动,没有持续的 SOT/ECC 错误,但是实际帧率大约只有 29 fps,不是我们需要的高速/WDR模式。

目前 RV1126B SDK 中的 D-PHY 驱动是:

drivers/phy/rockchip/phy-rockchip-csi2-dphy-hw.c

RV1126B 使用的 hsfreq table 是:

{1399, 0x23}, {1599, 0x2d}, {1799, 0x32}

所以 1486 Mbps/lane 会选择 hsfreq = 0x2d。

请问:

1. RV1126B CSI2 D-PHY 是否支持 IMX415 4-lane 1486 Mbps/lane 或更高速度?
2. 1486 Mbps/lane 时应该使用什么 hsfreq / ths_settle 参数?
3. RX D-PHY calibration 在 1486 Mbps/lane 时应该开启还是关闭?
4. 是否有 RV1126B + IMX415 WDR/HDR 的参考 device tree、sensor register table 或 kernel patch?
5. RV1126B 的 CSI2 D-PHY 是否还有其他需要配置的寄存器,例如 hs_prepare / hs_zero / hs_trail / skew calibration 等?

谢谢。


Re: RV1126B + IMX415 开启 WDR/HDR 时 1486 Mbps/lane CSI2 D-PHY 接收错误

Posted: 2026-05-25 10:00
by Crocodile

您好,我们不参与驱动开发,驱动相关的问题不属于技术支持范围我们也没有能力解决,建议直接向Rockchip 开案咨询,详细技术支持范围见https://wiki.luckfox.com/intro,我们对技术支持外的问题仅提供简单建议
问题1: RV1126B 的 MIPI DPHY 理论最高支持 2.5Gbps, 受引脚设计和线长的影响满足1.5Gbps 以下是没有问题的
问题2 3 5:改问题涉及到 IP 核设计细节,Rockchip 没有提供相关资料,一般情况下建议使用默认配置
问题4: HDR 配置的定制化程度比较高,一般需要和sensor原厂合作完成配置,我们无法提供相关 kernel patch; Rockchip 平台开启HDR正常需要满足驱动支持和iqfiles支持,对于 imx415 来说驱动有HDR3和HDR2的配置,实测HDR3会导致内核崩溃, HDR2的配置过程如下
1、修改设备树添加 rockchip,camera-hdr-mode = <5>;

image.png

2、修改 $SDK/media/samples/simple_test/simple_vi_bind_venc_rtsp.c 例程使用控制使用 HDR2 模式

image.png

3、执行./build.sh kernel 和 ./build.sh media 重新编译内核和例程,烧写内核上传新编译好的 simple_vi_bind_venc_rtsp到系统
4、执行simple_vi_bind_venc_rtsp 出现imx415 4-0037: s_stream: 0. 3864x2192, hdr: 5, bpp: 10说明 Hdr 配置启动成功(注意:默认的imx415 iqfiles 的Hdr 配置没有经过验证, 显示异常问题需要根据使用场景调整iqfiles参数,需要找Rockchip开案)


Re: RV1126B + IMX415 开启 WDR/HDR 时 1486 Mbps/lane CSI2 D-PHY 接收错误

Posted: 2026-05-26 3:33
by leo

您好,感谢回复。

我们又做了一些测试,结果如下,仅供你们参考。

按照你们提供的方法:

1. 设备树添加 rockchip,camera-hdr-mode = <5>;
2. simple_vi_bind_venc_rtsp 使用 RK_AIQ_WORKING_MODE_ISP_HDR2;
3. 重新编译 kernel / media 并更新到板子上。

HDR2 确实可以被启动,dmesg 中可以看到:

imx415 4-0037: s_stream: 1. 3864x2192, hdr: 5, bpp: 10
rockchip-csi2-dphy0: dphy0, data_rate_mbps 1486

但是在这个 full resolution HDR2 模式下,CSI2 会持续报错:

(0x21c00000)MIPI_CSI2 ERR2:0x10000000

RTSP 图像不能正常工作。

然后我们把 imx415 驱动里的 HDR_X2 mode 顺序临时调整了一下,让 camera-hdr-mode=<5> 优先选择低分辨率 HDR2 mode:

1944x1097, HDR_X2, 12bit, data_rate_mbps 892

这个模式可以正常启动,也可以输出图像。

所以目前我们的结论是:

- HDR2 流程本身是能工作的;
- AIQ HDR2 初始化也是生效的;
- 892 Mbps/lane 的 HDR2 模式可以工作;
- 1486 Mbps/lane 的 full resolution HDR2 模式不稳定,会出现 CSI2 ERR2:0x10000000。

我们暂时怀疑问题可能和高速 MIPI 信号质量有关,或者 RV1126B 的 CIF / CSI / DPHY 在高码率 HDR virtual channel 场景下还需要一些未公开的额外配置。

遗憾的是,我们不太认为 Rockchip 会直接支持我们这种问题。我们并不是做摄像头模组的,只是想找几款画质较好、可以深度定制的摄像头,供我们自己使用。

谢谢。