"); //-->
在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即可。
经与硬件工程师沟通,发烫的芯片是一个电源芯片,经排查是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工程师来完成了。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。