mtk camera 移植步骤
mtk camera 移植步骤:
1, Kernel层驱动代码文件添加
/mediatek/custom/doov92_wet_tdd/kernel/imgsensor/下添加imx179_mipi_raw_
2lane/ 目录如下:
imx179_mipi_raw_2lane
- imx179mipiraw_Camera_Sensor_para_2lane.h
- imx179mipiraw_CameraCustomized_2lane.h
- imx179mipiraw_Sensor_2lane.c
- imx179mipiraw_Sensor_2lane.h
看了一下, 基本上所有的驱动文件都是这样的格式.
2, HAL层效果参数文件添加
/mediatek/custom/mt6592/hal/imgsensor/下添加imx179_mipi_raw_2lane目录,该目录list如下:
imx179_mipi_raw_2lane
- camera_AE_PLineTable_imx179raw_2lane.h
- camera_calibration_cam_cal_2lane.cpp
- camera_flicker_para_imx179raw_2lane.cpp
- camera_info_imx179raw_2lane.h
- camera_isp_lsc_imx179raw_2lane.h
- camera_isp_pca_imx179raw_2lane.h
- camera_isp_regs_imx179raw_2lane.h
- camera_tsf_data_imx179raw_2lane.h
- camera_tsf_para_imx179raw_2lane.h
- camera_tuning_para_imx179raw_2lane.cpp
- config.ftbl.imx179_mipi_raw_2lane.h
根据具体的sensor, 文件会有所增减.
3, 驱动结构添加
./mediatek/custom/common/kernel/imgsensor/src/kd_sensorlist.H:
1)UINT32 IMX179_MIPI_RAW_2lane_SensorInit(PSENSOR_FUNCTION_STRUCT *pfFunc);
2) ACDK_KD_SENSOR_INIT_FUNCTION_STRUCT kdSensorList[MAX_NUM_OF_SUPPORT_SENSOR+1] =
{
#if defined(IMX179_MIPI_RAW_2LANE)//addimx179sensor(front), jintao_20140114_camera_front +++
{IMX179_SENSOR_2LANE_ID, SENSOR_DRVNAME_IMX179_MIPI_RAW, IMX179_MIPI_RAW_2lane_SensorInit},
#endif
......
}
4, 定义ID和drv name
./mediatek/custom/common/kernel/imgsensor/inc/kd_imgsensor.h:
#define IMX179_SENSOR_2LANE_ID 0x0179
#define SENSOR_DRVNAME_IMX179_MIPI_RAW "imx179mipiraw_2lane"
5, HAL层ID与drv name的衔接
./mediatek/custom/common/hal/imgsensor/src/sensorlist.cpp
MSDK_SENSOR_INIT_FUNCTION_STRUCT SensorList[] =
{
#if defined(IMX179_MIPI_RAW_2LANE)//add imx179 sensor(front), jintao_20140114_camera_front +++
RAW_INFO(IMX179_SENSOR_2LANE_ID, SENSOR_DRVNAME_IMX179_MIPI_RAW, NULL),
#endif
......
}
6, Camera Sensor宏配置
/mediatek/config/doov92_wet_tdd/ProjectConfig.mk ==配置
CUSTOM_HAL_IMGSENSOR=imx135_mipi_raw imx179_mipi_raw_2lane
CUSTOM_HAL_SUB_IMGSENSOR=imx179_mipi_raw_2lane
CUSTOM_KERNEL_IMGSENSOR=imx135_mipi_raw imx179_mipi_raw_2lane
CUSTOM_KERNEL_SUB_IMGSENSOR=imx179_mipi_raw_2lane
7,时序配置
./mediatek/custom/doov92_wet_tdd/kernel/camera/camera/kd_camera_hw.c
else if (currSensorName && (0 == strcmp(currSensorName,"imx179mipiraw_2lane")))
分别配置上电/下电. 原理图上的PIN脚收集如下.
Main Sensor 控制脚:
CMRST_MAIN CMPDN_MAIN
VCAM_AF AF_EN
VCAMD VCAMA
VCAMIO
SCL SDA
CMMCLK
MIPI-RDP0 MIPI-RDN0
MIPI-RDP1 MIPI-RDN1
MIPI-RDP2 MIPI-RDN2
MIPI-RDP3 MIPI-RDN3
MIPI-RCP MIPI-RCN
F-LED+
F-LED1-
F-LED2-
8,Camera预览/拍照储存照片的方向改变
./mediatek/custom/doov92_wet_tdd/hal/imgsensor/src/cfg_setting_imgsensor.cpp //改的是这个
SensorOrientation_T const&
getSensorOrientation()
{
static SensorOrientation_T const inst = {
u4Degree_0 : 270, // main sensor in degree (0, 90, 180, 270), 后摄的方向配置.
u4Degree_1 : 270, // sub sensor in degree (0, 90, 180, 270), 前摄的方向配置.
u4Degree_2 : 90, 的方向配置.
};
return inst;
}
mtk camera 移植步骤的更多相关文章
- MTK Camera驱动移植
对于MTK Camera驱动移植一般分为四部分: 1.硬件IO口配置: 2.Camera驱动移植: 3.上电时序. 4.改动i2c控制器: 硬件电路: 1.GPIO配置 打开 mediatek\dct ...
- 基于MT6752/32平台 Android L版本驱动移植步骤
基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...
- STemWin5.22在STM32F103上的移植步骤
源:STemWin5.22在STM32F103上的移植步骤
- Mtk Camera
MTK6577+Android之Camera驱动 http://blog.csdn.net/loongembedded/article/details/41695205 MTK Camera 开机启动 ...
- MTK camera 闪光灯Flashlight驱动调试流程
MTK camera 闪光灯Flashlight驱动调试流程 分类: MtkDev | 作者: topicdev 相关 | 发布日期 : 2014-09-26 | 热度 : 153° ...
- MTK Camera 开机启动流程(转载)
一.MTK平台Camera框架 MTK平台的Camera的架构见下图, 这里主要介绍kernel部分和HAL层部分. 1.Kernel 部分主要有两块: 1.1.image sensordriver, ...
- MTK Camera相关的Makefile Option详解
列举了所有Camera相关的MakefileOption,并对其功能含义和OptionValues做了详细的解释.[KEYWORD]Others[SOLUTION]YUVCAM_INTERPOLATI ...
- Linux移植之移植步骤
在这里总结一下我在移植Linux2.6.22.6内核过程时的步骤.移植成功后最终能挂接做好的根文件系统,并且启动第一个init程序.移植的步骤如下: 1.将网上下载的内核源码文件linux-2.6.2 ...
- 标题:u-boot 移植步骤详解
1 U-Boot简介U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目.从FADSROM.8xxROM.PPCBOOT逐步发展演化而来.其源码目录.编译形式与 ...
随机推荐
- Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)
概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...
- 一个都不能少: DevOps的3大核心基础架构
DevOps的涵盖面非常广,因为这个概念的火热,又有很多文章和技术都在把DevOps的帽子扣在自己头上,让很多人迷惑不解.其实,DevOps的知识体系如果从顶层上来分解,只有2块:方法论和工具链.方法 ...
- 浅谈SSH框架
在学习或者接触一个新的概念的时候,我们应该在脑海中发挥我们的搜索引擎,牵一发动全身的去想,这个知识跟我之前接触过的有哪些相同或者不同的地方,从这个角度去看那些新的知识和概念,经过旧知识和新知识的对比我 ...
- Cocos2D中Action的进阶使用技巧(二)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上回说到解决办法是使用CCTargetedAction类. C ...
- 剑指Offer——栈的java实现和栈的应用举例
剑指Offer--栈的java实现和栈的应用举例 栈是一种先进后出的数据结构, 栈的实现如下: 首先定义了栈需要实现的接口: public interface MyStack<T> { / ...
- Java并发框架——AQS阻塞队列管理(二)——自旋锁优化
看Craig, Landin, and Hagersten发明的CLH锁如何优化同步带来的花销,其核心思想是:通过一定手段将所有线程对某一共享变量轮询竞争转化为一个线程队列且队列中的线程各自轮询自己的 ...
- 【安卓网络请求开源框架Volley源码解析系列】定制自己的Request请求及Volley框架源码剖析
通过前面的学习我们已经掌握了Volley的基本用法,没看过的建议大家先去阅读我的博文[安卓网络请求开源框架Volley源码解析系列]初识Volley及其基本用法.如StringRequest用来请求一 ...
- 【一天一道LeetCode】#171. Excel Sheet Column Number
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- SIMPLE_DEV_PM_OPS宏
SYSTEM_SLEEP_PM_OPS和dev_pm_ops的定义: [cpp] view plain copy #define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, ...
- Android初级教程Activity小案例(计算器乘法运算)
首先设置两个布局文件,一个布局文件进行输入数据,获取加法运算:另一个布局文件进行显示最终结果.Activity1启动Activity2,并传递计算结果值给Activity2. main.xml: &l ...