mtk camera 移植步骤
mtk camera 移植步驟:
1, Kernel層驅(qū)動代碼文件添加
/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
看了一下,?基本上所有的驅(qū)動文件都是這樣的格式.
2, HAL層效果參數(shù)文件添加
/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
根據(jù)具體的sensor,?文件會有所增減.
3,?驅(qū)動結(jié)構(gòu)添加
./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預(yù)覽/拍照儲存照片的方向改變
./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,???//??main2 sensor in degree (0, 90, 180, 270),?主設(shè)2的方向配置.
??? };
??? return inst;
}
總結(jié)
以上是生活随笔為你收集整理的mtk camera 移植步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Camera 涉及的文件70
- 下一篇: MTK 平台上如何给 camera 添加