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);
在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);
相关文章推荐
- ubuntu-16.04 重装系统后配置(步骤及错误与修改方法)
- 让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改
- Linux修改/etc/profile配置错误command is not found自救方法
- Object类的经典方法(06年8月25日更新,修改一个错误)
- Oracle数据库配置错误信息解决方法
- 修改配置,该方法可能有用,不敢确定,正在调试中...
- 关于ISA2004内网卡网线拔插造成ISA代理失效问题的一种解决方法(下列错误而失败:0x80072
- IIS配置不当引起的0x80004005错误解决方法
- IIS配置错误的解决方法(并比适用与所有的情况, 具体的还需要自己去摸索)。
- netbeans 工程copy 启用sun appserver 数据源配置错误之后被修改的原因
- "在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误"的解决方法
- VC++ 2005编译出程序出现“应用程序配置错误”的解决方法
- 手工修改spfile文件后,产生ora-00600错误解决方法
- 【控件包含代码块,因此无法修改控件集合。】错误的解决方法
- 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
- 无法打开注册表关键字错误----修改方法
- Tomcat5.0配置过程中出现的错误的解决方法
- Weblogic下配置Struts应用时出现tag错误的解决方法
- 生产订单成本计划成本错误修改方法
- 修改记录字段值时错误Row cannot be located for updating的解决方法