您的位置:首页 > 其它

camera MCLK配置错误造成 i2c不通的 修改方法

2017-09-17 21:50 148 查看
[DESCRIPTION]
MT6795 MT6735平台,HW
上MCLK和SW上MCLK 配置不匹配的话,如HWMCLK 共用,SW没有共用的话,会造成能开机搜到对应的sensor id,但open时又找不到id,i2c不同(开机读到id, 但是open时还有find id过程,这时仅用了对应的mclk)。
1 开机能search 到sensor id原因:开机时三路MCLK
的pll都打开了,所以在kd_camera_hw.c中对正确的MCLK上电就可以正常工作,找到sensor
id了。



2 open 时找不到sensor id原因:
sensor open 时为节省功耗,只打开对应的MCLK
PLL,但若HW上和SW上的MCLKPORT 配置不正确的话,会造成i2c不能正常工作(难道是scl时钟线?),从而读不到sensor
id。
所以SW上要根据HW配置正确的MCLK PORT(可得出:main or sub camera既可以公用一条mclk线,也可以单独在一条mclk,目前最多三条)

[SOLUTION]
a, MCLK共用配置MCLK PORT方法:
修改cfg_setting_imgsensor.cpp (vendor\mediatek\proprietary\custom\mt6735\hal\D1\imgsensor_src\cfg_setting_imgsensor.cpp)中函数getSensorMclkConnection,
根据HW 上实际MCLK连接情况来配置。
比如说:若sub sensor和main 共用MCLK1,则做如下修改:


 

b, 在kd_camera_hw.c中对正确的MCLK上下电
 ,即ISP_MCLK1_EN(1);或ISP_MCLK1_EN(0);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  camera驱动
相关文章推荐