UNSOLVED 关于第三方载板移植SC132M时发现只有当两个相机同时接入时才能工作的问题
-
rt,我们的载板使用的csi通道为2,3和标准开发板不同(0,2),因此在使用RAW_MIPI_SC132M时,我们对设备树进行了修改,修改后成功的到了两个相机的图像
但是最近偶然发现当拔掉其中一只相机后,另一只也不能出图了,看了一下dmesg,有报错,打印如下:
[ 49.719292] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 49.727284] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 49.738728] nvcsi 150c0000.nvcsi: csi4_stream_check_status (2) ERROR_STATUS2VI_VC0 = 0x0000000c
[ 49.749641] nvcsi 150c0000.nvcsi: csi4_stream_check_status (2) ERROR_STATUS2VI_VC0 = 0x0000000c
在对照了半天标准设备树后未果,因此想请教一下,这可能是由什么原因导致的? -
@robot
首先,mipi接口的相机不要热插拔哦,mipi协议并不是usb协议,不支持热插拔的。
其次,你试一下,只插一个上电。看看能不能正常检测到摄像头?
如果检测不到,用dmesg| grep mvcam
试一下。
-
-
@robot
这样的话,岂不是没有问题吗? -
@veye_xumm d但是此时相机读取到的图像是全黑的,正常应该是实际拍到的东西
-
@robot 现象目前有所变化,dmesg打印变成了:
[ 20.658432] nvcsi 150c0000.nvcsi: csi4_stream_check_status (3) ERROR_STATUS2VI_VC0 = 0x00000004
[ 20.668079] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000199
[ 20.677014] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000199
[ 20.887656] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 20.894977] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 20.906432] nvcsi 150c0000.nvcsi: csi4_stream_check_status (3) ERROR_STATUS2VI_VC0 = 0x00000004
[ 20.916063] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000199
[ 20.924996] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000199
[ 21.135664] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 21.142981] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 21.154418] nvcsi 150c0000.nvcsi: csi4_stream_check_status (3) ERROR_STATUS2VI_VC0 = 0x00000004
[ 21.164068] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000199
[ 21.173013] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000199
[ 21.383666] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 21.390973] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 21.402430] nvcsi 150c0000.nvcsi: csi4_stream_check_status (3) ERROR_STATUS2VI_VC0 = 0x00000004
[ 21.412093] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000199
[ 21.421037] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000199
[ 21.631670] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 21.638990] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel -
@robot 事实上我现在对设备树进行了修改,去掉了另一路相机只保留了一路,然而他的现象又改变了:
[ 108.789772] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 108.796934] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 108.808227] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000089
[ 108.817041] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000089
[ 108.890376] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 108.998942] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.031040] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 109.038195] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 109.049455] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000089
[ 109.058265] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000089
[ 109.107458] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.215965] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.272185] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 109.279342] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 109.290629] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000089
[ 109.299435] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000089
[ 109.324479] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.432986] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.513296] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 109.520497] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 109.531754] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000089
[ 109.540546] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000089
[ 109.541482] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.645976] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.754488] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
[ 109.758441] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 109.758444] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 109.758675] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_INTR_STATUS 0x00000089
[ 109.758679] nvcsi 150c0000.nvcsi: csi4_cil_check_status (3) CILA_ERR_INTR_STATUS 0x00000089
[ 109.899159] tegra-i2c c250000.i2c: arb lost in communicate to add 0x32
如果方便的话,我是否需要上传我的设备树文件?希望能得到您的帮助 -
@robot 你现在现象是:同时插入两个camera的时候,图像正常。 只使用一个,不能正常使用。是这样吗?
-
@robot said in 关于第三方载板移植SC132M时发现只有当两个相机同时接入时才能工作的问题:
如果方便的话,我是否需要上传我的设备树文件?希望能得到您的帮助
设备树文件要跟你的硬件载板想匹配。 具体来说,对每一个MIPI CSI-2接口,其i2c bus和mipi总线的配置,要匹配。
-
@veye_xumm 是的,就是这个意思
-
@veye_xumm said in 关于第三方载板移植SC132M时发现只有当两个相机同时接入时才能工作的问题:
@robot said in 关于第三方载板移植SC132M时发现只有当两个相机同时接入时才能工作的问题:
如果方便的话,我是否需要上传我的设备树文件?希望能得到您的帮助
设备树文件要跟你的硬件载板想匹配。 具体来说,对每一个MIPI CSI-2接口,其i2c bus和mipi总线的配置,要匹配。
按照原理图来看是匹配的,我来对调mipi总线测试一下
-
@robot
有一种可能,你的i2c和mipi是错配的。