hello!
在使用imx8mp的mipi csi接口对PC桌面进行视频采集时,出现了一些问题,详细如下
1.试验环境:
①imx8基板为自做板
②PC输出接口为DP
③DP解码芯片为it6510
④采用的是连续时钟模式
2.问题点:
部分基板DP视频采集失败,v4l2-ctl -d /dev/video0 --stream-mmap获取不到视频流
3.已确认事项:
①it6510输出正常
②基板硬件正常
4.咨询事项
现在怀疑因imx8接收时序不对,导致DP视频流获取失败,相关配置及调试信息如下:
①dts配置:it6510为2lane输入,4lane输出,clk为297M,连续模式,连接imx8 csi1接口
②寄存器确认
已确认THS-SETTLE、TCLK-SETTLE寄存器,与配置相符,分别为13、2
问题点1:如上我们使用的为CSI接口,并没有使用DSI,是否需要对DSI的TCLK-PREPARE、TCLK-ZERO、TCLK-POST等寄存器进行配置,目前DSI的寄存器值为0,详细如下:
问题点2:在DP异常的基板上,连续时钟模式,读取寄存器MIPI_CSIx_DPHY_STATUS,发现ULPSCLK位一直处于ULPS状态,这应该不正确。请教下,导致这种情况的原因是什么?
③timing确认
在相同的v4l2架构下,csi0上挂载了hdmi解码芯片,hdmi的视频流是正常的。dp的timing与hdmi相同,如下:
问题点3:同样的timing,hdmi视频流正常,收不到dp视频流,是否可以排除timing配置的问题
以上问题点拜托了,谢谢啦
解決済! 解決策の投稿を見る。
很疑惑你们的问题,我记得上周你们说可以连续了,非连续有问题,现在是连续也有问题了?后来证实了下如果连续没有问题可以不用关心状态位的ULPSCLK位,你是说把it6510换成hdmi to csi的芯片就无论连续非连续都没问题了,这个问题只是出现在it6510吗?
1) 之前描述的是两块板子都是用6510,连续时钟一块可以一块不可以,但是事实是可以的那块用的不是6510?所以两块板子用6510都不可以是吗?你们的描述每次不太一样,我需要知道到底是什么情况
2)确认了下说ULPS这一位可以不用考虑,关键是HDMI可以的那块你们导出来的状态寄存器跟6510的有什么区别吗?你把两块板子可以和不可以的分别到处寄存器比较了吗?有没有任何区别,你说的6510不行是怎么不行?是完全接收不到信号还是有图片但是图片失真?能否描述得更清楚些?
3)另外我记得你们有两块板子,你把6510也放到MIPI CSI1来试试看呢?CSI1和CSI2的时钟是不一样的,CS2小一些,不过按理说你们的分辨率也够了,最好可以的和不可以的都用同一个口测试下,这样比较起来比较有意义,还有连续时钟要保证csi 使能之后再让6510出图,这个比较关键
对的连续信号需要注意这个,显然你们的问题就是这个了,CSI使能寄存器可以看CSI_CR18这里面的有一位CSI_ENABLE,但是为什么你们另一块可以呢?你可以看下另一块可以的就是出图晚一些,我也觉得ULPS这一位是有问题的,这也是我之前对比你们寄存器的时候就提出来了, 这一位有问题是因为你们使用了连续时钟,而it6510出图太早导致MIPI DPHY检测不到HS 模式然后一直把它置于了ULPS状态了
不好意思我想成8MM 去查看了CSI 的寄存器了,8MP 是不用的,其实你们可以用非连续时钟,如果用连续应该是需要在发送端做处理,不是8MP这端了,就是要保证你们的t6510先要处于LP状态,否则MIPI CSI这边会一直接收不到数据
没看到有这方面时序的要求,之前的是有严格时序要求的,之后应该没有特殊要求
关于你这个全新的问题我建了一个CASE邮件回复你了,你可以查看一下