android(MTK)驱动层读取摄像头ID失败问题
因为我当前的平台是MT6737 android7.0,就以这个平台为例子做说明。
底层驱动读不到摄像头的ID,一般我们可以从以下这几个方面做检查。
1,首先我们要去检查硬件方面,多拿几个摄像头模组来做试验。因为会存在打样模组有问题的情况,在原理图上对清楚摄像头的各个脚是否都对应上了、模组是否都扣好等。这个是硬件上的。
2,第二个要检查的就是I2C地址是否正确,如MTK平台的基本都是以7位地址的方式操作的。即是会偏移一位的。最后是要看看模组的规格书,确认器件的I2C地址。
3,第三个就要看摄像头的上、下电时序这一块。如MTK平台的,它在这个文件里实现 :mt6737_65_a_n_mp1\kernel-3.18\drivers\misc\mediatek\imgsensor\src\mt6735\camera_hw\kd_camera_hw.c。不同厂家的模组它的上下电时序是有所差别的,其实在你为系统添加摄像头的时候这个上下电时序就要加进来了。同样,这个时序也是要参考模组规格书去写的。
4,如果以上的都检查完了,都OK。那我们就要检查CMMCLK了,一般会有两路CMMCLK。前后摄像头各走一路,我们要看看自己项目原理图上是前后摄分开走mclk的还是共用一路的。我们在kd_camera_hw.c这文件里的 kdCISModulePowerOn 和 else { /* power OFF */ 里,可以看到了有类似于如下的函数调用:
这里就是根据pinSetIdx来打开或关闭MCLK1 或者 MCLK2。还有个地方要注意的,就是:mt6737_65_a_n_mp1\vendor\mediatek\proprietary\custom\mt6735\hal\D1\imgsensor_src\cfg_setting_imgsensor.cpp 。在这个文件里有个 MINT32 getSensorMclkConnection(EDevId const eDevId) 这个函数,要看看这里有没有被写成前后摄共用MCLK了。最好是用示波器去量过,确定它是有信号输出。
5,还有就是要用示波器量一下MIPI信号,看看主控有没有输入信号,以防万一。
6,如以上都检查完了,都没问题。但还是读ID失败的话,那我们就要看一下I2C的通道是否配置正确。因为主控一般都会有好几路I2C,完成了这6项的检查基本都会找到问题了,一定要配合抓串口log去调试、解决问题。
android(MTK)驱动层读取摄像头ID失败问题相关推荐
- Camera 驱动 读取摄像头ID失败问题、低温下Camera打开花屏或者读不到id、概率性读取不到id
底层驱动读不到摄像头的ID,可以从以下几个方面做检查 首先检查硬件方面,多拿几个摄像头模组来做试验.因为会存在打样模组有问题的情况,在原理图上对清摄像头的各个脚是否都对应上了.模组是否都扣好等.这个是 ...
- android gpio驱动实例,Android/Linux 驱动层对GPIO口的操作方法和相关代码
实例: unsigned int otg_en_pin=952; ----->高通的gpio的基础值为902,这里我们时间的gpio为50,即这里定义值是要设置为952. //young.yan ...
- Android Camera驱动分析
文章目录 一.Camera的硬件接口 二.代码路径 三.Camera代码分析 1.硬件接口设置 2.Camera设备驱动 3.模组驱动代码 一.Camera的硬件接口 引脚 名称及作用 VCAMA 就 ...
- 应用层与驱动层通信DeviceIoControl
驱动层与应用层通信是通过DeviceIoControl, 符号定义 #define DEVICE_NAME L"\\Device\\myDriver" // Driver Name ...
- Android MTK Camera驱动代码分析
一.Camera调用过程: imgsensor起到承上启下的作用,在系统起来时会创建整个camera驱动运行的环境,其中主要的文件和函数如下框图所示,先设备挂载时会调用注册platform设 ...
- Android摄像头调用失败问题
Android摄像头调用失败问题 问题描述: 之前在机顶盒上面对接视频会议APK时,发现第三方应用调用Camera.open()无法打开通过usb外接的摄像头. 定位分析: 我们通过阅读Android ...
- Android MTK LCM Driver 屏驱动
Android MTK LCM Driver 屏驱动 ---- 屏驱动小结 手机驱动调试第一就是LCM,也就是我们说的LCD屏,因此要求驱动第一时间将确认和点亮.此篇就简单描述了在MTK 6765(A ...
- 【Android 事件分发】事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 文章目录 ...
- s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)
欢迎转载,务必注明出处:http://blog.csdn.net/wang_shuai_ww/article/details/44303069 本文章是记录Android开发中驱动层.HAL层.应用层 ...
最新文章
- linux挂载硬盘简书,linux|挂载硬盘及分区
- 阿里云网站80端口无法访问
- 21. 合并两个有序链表(C语言)
- django配置mysql,并解决NameError: name ‘_mysql‘ is not defined报错
- 虚拟机配置centos7.5网卡网络
- [Rscript]探索性因子分析
- CUX:固定资产台账报表源代码(信息较全)
- 利用JS模拟排队系统
- ‘github提交超时‘
- 如何将html模板资源转为vuecli项目
- 关于电脑注册表regedit自定义管理右键菜单选项实例(删除增加)
- android基础夯实2
- 如何不通过系统升级来安装window10正式版?(特别针对Xp用户)
- mysql 学习记录 全文本搜索
- 电脑网络重置后的出现的问题以及解决办法
- c语言学生信息管理系统(巨简单)
- java.util.Date、java.sql.Date和java.sql.Timestamp之间的转换
- 基于requests和lxml库爬取优信二手车
- win10专业版切换语言失败
- 阿里云ECS搭建frp服务器实现黑群晖 Nas 内网穿透