因为我当前的平台是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失败问题相关推荐

  1. Camera 驱动 读取摄像头ID失败问题、低温下Camera打开花屏或者读不到id、概率性读取不到id

    底层驱动读不到摄像头的ID,可以从以下几个方面做检查 首先检查硬件方面,多拿几个摄像头模组来做试验.因为会存在打样模组有问题的情况,在原理图上对清摄像头的各个脚是否都对应上了.模组是否都扣好等.这个是 ...

  2. android gpio驱动实例,Android/Linux 驱动层对GPIO口的操作方法和相关代码

    实例: unsigned int otg_en_pin=952; ----->高通的gpio的基础值为902,这里我们时间的gpio为50,即这里定义值是要设置为952. //young.yan ...

  3. Android Camera驱动分析

    文章目录 一.Camera的硬件接口 二.代码路径 三.Camera代码分析 1.硬件接口设置 2.Camera设备驱动 3.模组驱动代码 一.Camera的硬件接口 引脚 名称及作用 VCAMA 就 ...

  4. 应用层与驱动层通信DeviceIoControl

    驱动层与应用层通信是通过DeviceIoControl, 符号定义 #define DEVICE_NAME L"\\Device\\myDriver" // Driver Name ...

  5. Android MTK Camera驱动代码分析

    一.Camera调用过程:      imgsensor起到承上启下的作用,在系统起来时会创建整个camera驱动运行的环境,其中主要的文件和函数如下框图所示,先设备挂载时会调用注册platform设 ...

  6. Android摄像头调用失败问题

    Android摄像头调用失败问题 问题描述: 之前在机顶盒上面对接视频会议APK时,发现第三方应用调用Camera.open()无法打开通过usb外接的摄像头. 定位分析: 我们通过阅读Android ...

  7. Android MTK LCM Driver 屏驱动

    Android MTK LCM Driver 屏驱动 ---- 屏驱动小结 手机驱动调试第一就是LCM,也就是我们说的LCD屏,因此要求驱动第一时间将确认和点亮.此篇就简单描述了在MTK 6765(A ...

  8. 【Android 事件分发】事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 文章目录 ...

  9. s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)

    欢迎转载,务必注明出处:http://blog.csdn.net/wang_shuai_ww/article/details/44303069 本文章是记录Android开发中驱动层.HAL层.应用层 ...

最新文章

  1. linux挂载硬盘简书,linux|挂载硬盘及分区
  2. 阿里云网站80端口无法访问
  3. 21. 合并两个有序链表(C语言)
  4. django配置mysql,并解决NameError: name ‘_mysql‘ is not defined报错
  5. 虚拟机配置centos7.5网卡网络
  6. [Rscript]探索性因子分析
  7. CUX:固定资产台账报表源代码(信息较全)
  8. 利用JS模拟排队系统
  9. ‘github提交超时‘
  10. 如何将html模板资源转为vuecli项目
  11. 关于电脑注册表regedit自定义管理右键菜单选项实例(删除增加)
  12. android基础夯实2
  13. 如何不通过系统升级来安装window10正式版?(特别针对Xp用户)
  14. mysql 学习记录 全文本搜索
  15. 电脑网络重置后的出现的问题以及解决办法
  16. c语言学生信息管理系统(巨简单)
  17. java.util.Date、java.sql.Date和java.sql.Timestamp之间的转换
  18. 基于requests和lxml库爬取优信二手车
  19. win10专业版切换语言失败
  20. 阿里云ECS搭建frp服务器实现黑群晖 Nas 内网穿透

热门文章

  1. 绩效考核的5大标准是什么?
  2. 唯众高职web前端专业解决方案
  3. Linux驱动学习之:WDT(watchdog)驱动
  4. FreeRTOS学习记录 05--任务调度器开启和切换
  5. 陈根:元宇宙之路,比芯片更遥远
  6. 简单分账系统为什么广受市场欢迎?
  7. 腾讯工程师一年挣多少钱?土豪大厂太任性了
  8. 细数iOS上那些你绝对不会注意到的神细节
  9. 如何实现iOS图书动画-第2部分(下)
  10. Android日历实现代码里0x04bd8, 0x04ae0所表达的含义