MTK_camera驱动流程总结_pei
MTK_驱动总结文档

MTK_驱动总结文档G616 驱动文档总结在/mediatek/custom下会有好多重名的文件,在不同的文件夹里,最终会编译哪个文件是根据目录的优先级来判断brighter89_evdo_jb2 > mt6589 > xxmon也就是说如果brighter89_evdo_jb2 ,mt6589 , xxmon 同时存在一文件,最终编译的会是brighter89_evdo_jb2目录下的文件也可以通过/mediatek/custom/out/开判断,此文件时最终编译的文件运行/mediatek/dct/。
选择文件/mediatek/custom/brighter89_evdo_jb2/kernel/dct/dct /Edit,打开后可以修改GPIO的模式,上拉,下拉,输入,输出修改后点击“Save”和“Gen Code”重新编译:./makeMtk brighter89_evdo_jb2 codegen ./makeMtk brighter89_evdo_jb2 new pl lk kernel ./makeMtk brighter89_evdo_jb2 bootimage提交时替换bw/custom/project/g616/mediate/custom/brighter89_evdo_jb2/kernel/dct/dct修改CUSTOM_LK_LCM=hx8389b_qhd_dsi_vdoBOOT_LOGO=qhd //根据屏的分辨率CUSTOM_KERNEL_LCM=hx8389b_qhd_dsi_vdo LCM_HEIGHT=960 LCM_WIDTH=540/mediatek/custom/xxmon/kernel/lcm目录名与下hx8389b_qhd_dsi_vdo名字相同,目录下为驱动文件在/mediatek/custom/xxmon/kernel/lcm/mt65xx_lcm_下添加要添加的屏#if defined(HX8389B_QHD_DSI_VDO) &hx8389b_qhd_dsi_vdo_lcm_drv, #endif下修改CUSTOM_HAL_IMGSENSOR=ov5648_mipi_raw hi257_yuv //前后camera CUSTOM_HAL_MAIN_IMGSENSOR=ov5648_mipi_rawCUSTOM_HAL_SUB_IMGSENSOR=hi257_yuvCUSTOM_KERNEL_IMGSENSOR=ov5648_mipi_raw hi257_yuv //前后camera CUSTOM_KERNEL_MAIN_IMGSENSOR=ov5648_mipi_raw CUSTOM_KERNEL_SUB_IMGSENSOR=hi257_yuv驱动要添加的文件:/mediatek/custom/xxmon/kernel/imgsensor/ov5648_mipi _raw /mediatek/custom/xxmon/hal/imgsensor/ ov5648_mipi_raw//hi257前camera同理/mediatek/custom/xxmon/hal/imgsensor/src/ #if defined(OV5648_MIPI_RAW)RAW_INFO(OV5648MIPI_SENSOR_ID, SENSOR_DRVNAME_OV5648_MIPI_RAW, NULL), #endif /mediatek/custom/xxmon/kernel/imgsensor/src/ kd_ #if defined(OV5648_MIPI_RAW) {OV5648MIPI_SENSOR_ID,SENSOR_DRVNAME_OV5648_MIPI_RAW,OV5648MIPISensorInit}, #endifCamera电所在文件:/mediatek/custom/brighter89_evdo_jb2/kernel/camera/ camera/kd_camera_ 核心驱动文件:/mediatek/custom/xxmon/kernel/imgsensor/src /kd_ 如果修改HAL层参数编译命令如下:./makeMtk -t brighter89_evdo_jb2 mm mediatek/platform/mt6589/hardware/camera/下修改: CUSTOM_HAL_LENS=dw9714afCUSTOM_HAL_MAIN_LENS=dw9714af CUSTOM_KERNEL_LENS=dw9714afCUSTOM_KERNEL_MAIN_LENS=dw9714af添加对应的文件夹和驱动文件/G616/mediatek/custom/xxmon/kernel/lens/dw9714af/ M config/mt6589/M custom/brighter89_evdo_jb2/hal/lens/src/ M custom/xxmon/hal/inc/camera_custom_A custom/xxmon/hal/lens/dw9714af/lens_para_ M custom/xxmon/hal/lens/src/ A custom/xxmon/kernel/lens/dw9714af/ A custom/xxmon/kernel/lens/inc/M platform/mt6589/hardware/camera/core/featureio/drv/ lens/mcu_下修改:CUSTOM_KERNEL_FLASHLIGHT=constant_flashlight CUSTOM_HAL_FLASHLIGHT=constant_flashlight驱动核心:/mediatek/custom/xxmon/kernel/flashlight/src/kd_/mediatek/custom/xxmon/kernel/flashlight/constant_f lashlight/leds_G616用的bd7710gwl driver IC,leds_会有相应的更改,文件修改都放到bw目录下 HAL tunning 文件:mediatek/custom/brighter89_evdo_jb2/hal/camera/came ra/flash_tuning_下修改:CUSTOM_KERNEL_TOUCHPANEL=ft5336驱动文件:mediatek/custom/xxmon/kernel/touchpanel/ft5336/ft53 36_/home/chenjian/CJ_WORK/code/G616/mediatek/custom/br ighter89_evdo_jb2/kernel/touchpanel/ft5336/tpd_cust om_下修改:CUSTOM_KERNEL_ACCELEROMETER=lis3dh CUSTOM_KERNEL_ALSPS=tmd2772驱动文件:/mediatek/custom/xxmon/kernel/accelerometer/lis3dh/ //gsensor 配置I2c和Gsensor 的position/mediatek/custom/brighter89_evdo_jb2/kernel/acceler ometer/lis3dh/cust_ static struct acc_hw cust_acc_hw = { .i2c_num = 3,.direction = 6, //chenjian 20XX-12-26 modify gsensor position.power_id = MT65XX_POWER_NONE, /*!< LDO is not used */ .power_vol= VOL_DEFAULT, /*!< LDO is not used */.firlen = 0, //old value 16 /*!< don't enable low pass fileter */ };/mediatek/custom/xxmon/kernel/alsps/tmd2772/ //psensor light sensor 配置I2c和 light sensor上报数据/mediatek/custom/brighter89_evdo_jb2/kernel/alsps/t md2772/cust_.als_level = { 4, 40, 80, 120, 160, 240, 400, 800, 1200, 1600, 20XX, 3000, 5000, 8000, 65535}, .als_value = {0,20, 60, 100, 150, 240, 400, 600, 1000, 1500, 20XX,3000, 5000, 8000, 10000, 10000},配置xls/mediatek/build/tools/emigen/MT6589/MemoryDeviceLis t_都是MTK release的,需要添加的memory要在MemoryDeviceList_表里,且名字与/mediatek/custom/brighter89_evdo_jb2/preloader/inc/ custom_名字需一样如H9TP32A8JDBCPR_KGM 需和MemoryDeviceList_表的名字一样 #define BOARD_ID MT6589_EVB#define CS_PART_NUMBER[0] SD7DP28C_4G#define CS_PART_NUMBER[1] H9TP32A8JDBCPR_KGM Memory兼容:向下添加即可#define CS_PART_NUMBER[2] #define CS_PART_NUMBER[3] ….….9.音频参数硬件同事,通过工具修改,导出文件,替换如下目录/mediatek/custom/brighter89_evdo_jb2/cgen/inc/。
MTK平台camera(摄像头)调试教程

MTK 平台 CAMERA 驱动浅析Camera Driver analysis in the platform of MTKDocument Number:Preliminary (Released) InformationRevision:0.1Release Date:Ghong Confidential Revision 0.1-Feb.14 2012- 1 -Ⓒ2012 Ghong inc.Revision HistoryRevision Date (dd/mm/yyyy)Author Comments0.114/02/2012Guoqing Zhang Draft VersionGhong Confidential Revision 0.1-Feb.14 2012- 2 -Ⓒ2012 Ghong inc.Contents一、.-二、.-三、.-四、.-五、.-、.-、.-、.-、.-六、.-七、.-、.-、.-、.-、.-、.-、.-八、.-).-).-).-九、.-十、.-Ghong Confidential Revision 0.1-Feb.14 2012- 3 -Ⓒ2012 Ghong inc.一、手机Camera的物理结构:FPC: Flexible Printed Circuit 可挠性印刷电路板Sensor:图象传感器IR:红外滤波片Holder:基座Lens:镜头二、Camera的成像原理:景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了。
Ghong Confidential Revision 0.1-Feb.14 2012- 4 -百度文库 - 让每个人平等地提升自我Ⓒ2012 Ghong inc.图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。
MTK平台camera(摄像头)调试教程要点

Contents一、手机CAMERA的物理结构:........................................................................................ - 4 -二、 CAMERA 的成像原理: ................................................................................................. - 4 -三、 CAMERA 常见的数据输出格式:.................................................................................. - 5 -四、阅读CAMERA的规格书(以TRULY模组OV5647_RAW为例):........................... - 6 -五、 CAMERA 的硬件原理图及引脚 ..................................................................................... - 7 -1、电源部分:.................................................................................................................... - 7 -2、 S ENSOR I NPUT部分:................................................................................................... - 7 -3、 S ENSOR O UT P UT部分:............................................................................................... - 7 -4、 I2C 部分:SCL,I2C时钟信号线和SDA,I2C数据信号线。
MTK平台Camera驱动

基于MTK平台Camera驱动简介软件开发部:John.WangCamera的硬件架构ARM Image signalCMOS Sensorprocessor& resizerMemoryImage encodeLCD软件开发部:John.WangCamera模块硬件在手机上的基本架构有三种(一)Baseband控制LCD+Sensor.Baseband控制LCD,在Camera模式下Backend IC控制LCD进行各种操作。
Camera模块硬件在手机上的基本架构有三种(二)Baseband控制LCD+Backend IC,Backend IC控制Sensor。
Camera模块硬件在手机上的基本架构有三种(三)Baseband控制Backend IC,并且在非Camera模式下Baseband控制LCD,在Camera模式下Backend IC控制LCD进行各种操作。
Camera 接口信号sensor MTK cameraVCAMA, VCAMDCMDAT0~7CMVREFCMHREFCMMCLKCMPCLKCMPDNCMRSTSCLKSDACamera 接口信号signal descriptionCMVREF CMOS sensor vertical reference signal input CMHREF CMOS sensor horizontal reference signal input SCLK IIC interface clock signalSDA IIC interface data signalCMMCLK CMOS sensor master clock output CMPCLK CMOS sensor pixel clock intputCMPDN CMOS sensor power down control CMRST CMOS sensor reset signal outputVCAMA Camera module analog powerVCAMD Camera module digital powerCMDAT0~7Camera data busIIC时序控制Camera interface时序控制Camera程序架构软件开发部:John.WangCamera程序架构MMI taskCamera APP:控制应用程序逻辑,Camera的状态机,包括了preview,capture,exit等各种状态控制。
MTK平台camera(摄像头)调试教程

MTK 平台 CAMERA 驱动浅析Camera Driver analysis in the platform of MTKDocument Number:Preliminary (Released) InformationRevision:0.1Release Date:Ghong Confidential Revision 0.1-Feb.14 2012- 1 -Ⓒ2012 Ghong inc.Revision HistoryRevision Date (dd/mm/yyyy)Author Comments0.114/02/2012Guoqing Zhang Draft VersionGhong Confidential Revision 0.1-Feb.14 2012- 2 -Ⓒ2012 Ghong inc.Contents一、.-二、.-三、.-四、.-五、.-、.-、.-、.-、.-六、.-七、.-、.-、.-、.-、.-、.-、.-八、.-).-).-).-九、.-十、.-Ghong Confidential Revision 0.1-Feb.14 2012- 3 -Ⓒ2012 Ghong inc.一、手机Camera的物理结构:FPC: Flexible Printed Circuit 可挠性印刷电路板Sensor:图象传感器IR:红外滤波片Holder:基座Lens:镜头二、Camera的成像原理:景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了。
Ghong Confidential Revision 0.1-Feb.14 2012- 4 -百度文库 - 让每个人平等地提升自我Ⓒ2012 Ghong inc.图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。
MTK_camera驱动流程总结_pei

Camera驱动流程总结范军君junjun.fan@目录1,Camera架构及流程简析2,初始化过程camera id检测3,Camera上电流程4,Camera打开流程Camera架构及流程简析MTK平台camera架构:Kernel部分主要有两块:一块是image sensor驱动,负责具体型号的sensor的id检测,上电,以及在preview,capture,初始化,3A等等功能设定时的寄存器配置。
另一块是isp driver,通过DMA将sensor数据流上传。
本篇主要介绍image sensor驱动的流程。
HAL层这边主要分3块,一块是imageio,主要是数据buffer上传的pipe。
一块是drv,包含imgsensor和isp的hal层控制。
最后是feature io,包含各种3A等性能配置。
本篇对HAL涉入不深,只在分析开机过程的id检测时会分析hal层的控制,属于第二块。
流程简析:主要发生在两个时间点:开机过程中camera的动作以及打开应用时camera的动作。
开机时,camera完成了sensor框架的初始化,id检测,以及上下电操作。
打开应用时,camera会有上电,完成寄存器的初始配置,向上层传送基本参数及配置信息,以及preview和capture模式循环。
初始化过程camera id检测代码分析:=>alps/mediatek/custom/common/kernel/imgsensor/kd_sensorlist.cmodule_init说明这段code在kernel初始化,也就是手机开机时运行。
在模块初始化函数中,注册一个i2c device,同时注册了一个platform driver注意driver name,匹配platform device需要名字一致。
Platform总线为虚拟总线,注册platform driver主要目的是隔离上下层,增强代码的可移植性。
MTK camera上电流程分析

MTK camera上电流程分析上电相关文件:Mediatek/custom/vanzo89_wet_jb2/kernel/camera/camera/kd_camera_hw.cMediatek/custom/vanzo89_wet_jb2/kernel/camera/camera/kd_camera_hw.hMediate/custom/common/kernel/imgsensor/src/kd_sensorlist.cMediate/custom/common/kernel/imgsensor/src/kd_sensorlist.h注:本文档以mt89_v10_vanzo_test项目为例MTK开机过程中会去检查当前项目(手机上烧录的当前软件)所有在Projectconfig.mk中配置过的camera sensor,如下:CUSTOM_HAL_IMGSENSOR=imx111_mipi_raw ov9724_mipi_rawCUSTOM_KERNEL_IMGSENSOR=imx111_mipi_raw ov9724_mipi_raw也就是说在开机的时候,系统会自动去detect这两颗camera sensor是否都能正常通信,主要是通过读sensor的id来判断的。
具体是调用下面的函数来开始检查之旅的:==========mediate/custom/common/kernel/imgsensor/src/kd_sensorlist.c================这个函数先是调用kdGetSensorInitFuncList(&pSensorList)获取系统配置的kdSensorList [],这个数组在mediatek/custom/common/kernel/imgsensor/src/kd_sensorlist.h中定义的,该数组也是我们加入新的型号sensor时需要改动的一个地方,如果你不把你新加入的sensor放进这个数组,系统也不会知道你配置过这个sensor。
MTK平台camera(摄像头)调试教程

Contents一、手机CAMERA的物理结构:........................................................................................ - 4 -二、 CAMERA 的成像原理: ................................................................................................. - 4 -三、 CAMERA 常见的数据输出格式:.................................................................................. - 5 -四、阅读CAMERA的规格书(以TRULY模组OV5647_RAW为例):........................... - 6 -五、 CAMERA 的硬件原理图及引脚 ..................................................................................... - 7 -1、电源部分:.................................................................................................................... - 7 -2、 S ENSOR I NPUT部分:................................................................................................... - 7 -3、 S ENSOR O UT P UT部分:............................................................................................... - 7 -4、 I2C 部分:SCL,I2C时钟信号线和SDA,I2C数据信号线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Camera驱动流程总结范军君junjun.fan@目录1,Camera架构及流程简析2,初始化过程camera id检测3,Camera上电流程4,Camera打开流程Camera架构及流程简析MTK平台camera架构:Kernel部分主要有两块:一块是image sensor驱动,负责具体型号的sensor的id检测,上电,以及在preview,capture,初始化,3A等等功能设定时的寄存器配置。
另一块是isp driver,通过DMA将sensor数据流上传。
本篇主要介绍image sensor驱动的流程。
HAL层这边主要分3块,一块是imageio,主要是数据buffer上传的pipe。
一块是drv,包含imgsensor和isp的hal层控制。
最后是feature io,包含各种3A等性能配置。
本篇对HAL涉入不深,只在分析开机过程的id检测时会分析hal层的控制,属于第二块。
流程简析:主要发生在两个时间点:开机过程中camera的动作以及打开应用时camera的动作。
开机时,camera完成了sensor框架的初始化,id检测,以及上下电操作。
打开应用时,camera会有上电,完成寄存器的初始配置,向上层传送基本参数及配置信息,以及preview和capture模式循环。
初始化过程camera id检测代码分析:=>alps/mediatek/custom/common/kernel/imgsensor/kd_sensorlist.cmodule_init说明这段code在kernel初始化,也就是手机开机时运行。
在模块初始化函数中,注册一个i2c device,同时注册了一个platform driver注意driver name,匹配platform device需要名字一致。
Platform总线为虚拟总线,注册platform driver主要目的是隔离上下层,增强代码的可移植性。
alps/mediatek/platform/mt6582/kernel/core/mt_dev.cmtk平台用到的platform devicej基本都在这个文件中注册,这样device和driver就能匹配上了。
在platform probe中注册i2c driver和之前的i2c device匹配本页已使用福昕阅读器进行编辑。
福昕软件(C)2005-2009,版权所有,仅供试用。
配置i2c clock,注册一个字符设备。
一般驱动中注册字符设备,多是利用字符设备的fops 与上层交互,特别是ioctl.这些就是具体的fopsopen只是用来计数目前打开camera的数量,所以主要的交互功能要靠ioctl来完成这个函数很重要,沟通上下层,提供接口。
这边的Command用幻字定义,可以保持cmd 的唯一性,并具备可读性。
Command可带不定长参数。
下面是switch case,通过ioctl传下来的参数选择调用分支支持的command 汇总,包括camera 开机过程中上电,id 检测以及imagesensor 的参数获取KDIMGSENSORIOC_X_SET_DRIVER 和KDIMGSENSORIOC_T_CHECK_IS_ALIVE 这两个func 在开机初始化检测id 会被hal 层调用。
=>mediatek/platform/mt6582/hardware/camera/core/drv/imgsensor/imgsensor_drv.cpp impSearchSensor 在开机过程中被调用,用于检测id ,匹配main/sub imagesensor本页已使用福昕阅读器进行编辑。
福昕软件(C)2005-2009,版权所有,仅供试用。
GetSensooInitFuncList这个函数主要为了获得下表包含了id,name和一些方法的调用,因为在driver层有相似的架构,放在后面分析具体过程。
=>impSearchSensorHal层开始探测sensor,应为有两颗sensor,外层循环两次内层循环根据上面的sensor列表来,最大支持兼容16颗sensor,hal层特效,如果没有整合特定imagesensor的hal层代码,这边会直接退出。
getCameraDefault调用很重要,hal层camera的所有特效参数,包括3A,shading都在这边设定。
getCameraDefault通过之前的Sensorlist来连接特定imagesensor的具体实现。
下表是2675的特效参数获取函数。
获取各项特项参数=>impSearchSensorIoctl向驱动层下command,注意下下传的id就是目前正在检测的imgsensor的id.终于又回到了kd_sensorlist.c这个文件下层的ioctl接口现在的情况是,针对main sensor,hal层遍历上层的sensor列表,然后call下层的kdSetDriver. kdGetSensorList这个函数似曾相识。
这个函数很有意思,用了指向指针的指针作为参数。
有兴趣可以思考下不直接使用普通指针的原因,涉及堆栈和编译器对函数传参的处理。
指向结构体的指针,最后一个成员很重要,是一个函数指针,其参数是函数指针的结构体指针。
上层传下来的id参数解析成两部分g_invokeSocketIdx区分目前正在匹配的是main还是sub,drvIdx是sensor列表的序列号。
Hal层和driver层的sensor list应该在顺序上保持一致。
函数指针的结构体指针,这些函数对应了具体imagesensor的操作,看如何挂接上具体sensor。
还是由sensorlist为函数指针赋值,挂接具体SensorInit2675的SensorInit实现,主要是为pfFunc这个函数指针的结构体指针赋值,这样我们就实现了驱动代码的分离,hal层只需调用Sensorlist.c这样一个虚拟设备的驱动,就可以和具体的Sensor Driver通信。
这样的做法与platform driver的设计思想一致,在lcm,传感器等驱动中也多有体现。
到这一步,hal层在做Search sensor时的第一步命令的set driver的目的已经很清晰,就是为了挂接正在遍历的sensor的具体接口。
回到Hal层,还是Search sensor的这个函数对于正在遍历的这颗sensor,已经挂街上具体的底层驱动接口了,那么下达check id的真正指令。
底层的ioctl接口第一步是上电Power on,这块稍后会有具体分析。
这块code,就是读id了,调用之前挂接的具体sensor的Feature control,并带参。
2675的具体feature control,诸多功能通过switch罗列在这边。
读id一般在开机和打开sensor时做,读之前软件reset sensor,保证所读取的id的正确性。
Ov一般都用300A和300B这两个register保存id。
读到id后和预先设定的ID作比较如果一致,那么我们就找到了匹配到了要找的sensor,因为有前后摄,所以这样的动作要做两。
这边还有个问题被忽略了,读id是通过i2c通信,各家sensor的i2c addr显然都不一样。
imagesensor因为采取了驱动代码的分层设计,i2c device的注册时放在sensorlist中的,在module init的时候已经注册,也指定了i2c addr为0xfe。
那怎么和不同的sensor通信的呢实际的i2c通信前,对i2c addr重新赋值,kd_Sensorlist.c中的0xfe只是为了应付注册。
读完id并没有结束,因为现在还在手机开机初始化阶段,并不是打开camera应用,我们check完id,一定要给sensor下电匹配上id后又回到了hal层,id不对的ioctl的return err<0.HAL代码匹配上的sensor则继续下传cmd,获取一些sensor的信息和配置,流程与之前的id检测类似,不展开。
这边预留了一个extra id的接口,主要用于区分同型号不同模组厂的sensor,通过读取指定寄存器中厂商烧录的value来做二次id判断,以兼容不同厂商的sensor,此处为空.当然extra id也完全可以只在driver层添加,加在初次id检测后即可。
close仅为历史遗留代码,无实际作用。
开机过程中的ID检测流程已全部给出,总结一下:●HAL层运行Search sensor这个线程●HAL层遍历sensorlist并挂接HAL层性能如3A等一些参数获取的接口●HAL层下达setDriver的cmd,并下传正在遍历的sensor在sensorlist列表中的id●Driver层根据这个id,挂接Driver层sensorlist中对应的Sensor和具体Sensor底层操作接口●HAL层对正在遍历的sensor下达check id的指令●Driver层为对应sensor上电,通过i2c读取预存在寄存器中的sensor id●比较读取结果,不匹配,return error,继续遍历。
●匹配,HAL层下达其他指令收集sensor信息●下电Camera上电流程Camera的供电和相关引脚电源部分:VCAMD就是DVDD数字供电,主要给ISP供电,如果是RAWDATA格式的sensor其ISP是在BB端,所以将其引脚将其NC;VCAM_IO就是VDDIO数字IO电源主要给I2C部分供电;VCAMA就是AVDD模拟供电,主要给感光区和ADC部分供电;VCAM_AF是对Camera自动对焦马达的供电引脚部分:Reset引脚和powerdown引脚代码部分:Camera在初始化和打开的时候均有上电动作,这边以初始化部分的代码分析这块流程。
之前没有详细分析的上电代码。
kdCISModulePowerOn这个函数的实现在kd_camera_hw.c里面=>kd_camera_hw.c这个文件是MTK专门用于sensor上电时序管理的文件,各个sensor的上电均在这边实现。
首先是引脚定义,包括模式和引脚的极性这边pinSetIdx可以反过来,这样就变成默认打开前摄了,现在是rear camera优先上电的具体时序应该参考各个sensor的datasheet,下面是ov2675的上电时序图看图,首先使能pdn引脚然后开电,dovdd->avdd->dvddPower off,使能reset这边的开电顺序是有些问题的,按spec应该先D2再A再D,A2是供给AF的,属于马达部分,先后无所谓。