新闻  |   论坛  |   博客  |   在线研讨会
高通平台ov8856 Camera驱动debug
嵌入式Linux | 2023-01-11 11:00:07    阅读:403   发布文章

问题一:通过查看log,发现ov8856对应的xml没有被解析

在ov8856_module.xml中,有个position的属性,可以配置为REAR, FRONT, REAR_AUX, FRONT_AUX, EXTERNAL,驱动代码的解析顺序是先解析position为REAR的xml,如果有就解析,解析完再解析position为REAR_AUX的xml,如果没有REAR就不会解析REAR_AUX而是解析position为FRONT的xml,而我的xml中配置为了REAR_AUX,所以一直得不到解析,改为REAR即可。

问题二:按照bring up文档,把所有参数配置完毕,插上Camera模组,发现有一个芯片发烫,测量LDO没电

经与硬件工程师沟通,发烫的芯片是一个电源芯片,经排查是Camera模组对应在板子上面的connect原理图方向画反了,导致Camera模组插反了。所以在拿到模组进行调试之前一定要和硬件工程师反复确认Camera模组的fpc和板子的connect方向。

问题三:Camera仍然没有点亮,经用示波器测量,发现LDO都正常,但是CLK和reset的上电时序不正常,一直保持低电平

在驱动代码中加log发现CLK和reset对应的gpio在其他没有使用的设备树节点里面被定义了,导致这两个gpio被占用,在camera驱动中无法申请。只需要把其他节点中这两个gpio的配置去掉即可。

问题四:高通有很多的dtsi,导致qcom,cam-sensor@0这个节点可能在别的dtsi里面也有,而匹配的时候匹配到了其他dtsi里面的这个节点,导致加载的参数不对

高通的设备树代码里面有很多的dtsi,不知道为什么很多dtsi里面都有camera的节点,所以我们在debug的时候,把那些不用的都屏蔽掉,以便我们调试。

总结

费了九牛二虎之力,camera终于点亮了。总结一下debug camera的过程,第一先看log,保证所有xml被解析,并且正确加载参数;第二用示波器或者万用表测量上电时序,如果这些都正常,基本是就可以点亮了,至于后期的效果就交给tuning工程师来完成了。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
专注于嵌入式Linux知识的分享、交流
推荐文章
最近访客