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

本文探讨了MT6795/MT6735平台上MCLK配置不匹配导致的问题,包括开机能搜索到sensor ID但在open时丢失的情况。分析了背后的原因,并提供了修改MCLK配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值