【MTK】camera移植

  1. 硬件IO口配置

 

【MTK】camera移植_第1张图片

【MTK】camera移植_第2张图片

 2.打开 vendor/mediatek/proprietary/bootable/bootloader/lk/target/sm6737t_66_n/dct/dct/codegen.dws 以及

kernel-3.18/drivers/misc/mediatek/dws/mt6735/sm6737t_66_n.dws,设置前后摄像头的CMRST和CMPDN引脚,这是跟上电时序有关;

a.GPIO配置【MTK】camera移植_第3张图片

 b.dts配置

kernel-3.18/arch/arm64/boot/dts/sm6737t_66_n.dts

【MTK】camera移植_第4张图片

将默认的GPIO7改为GPIO9.

2)软件驱动移植

  • 编译摄像头驱动
  1. device/sunmontech/sm6737t_66_n/ProjectConfig.mk

【MTK】camera移植_第5张图片

需要注意的是,要关闭内核与HAL层的闪光灯,否则并不能同时打开俩个摄像头。

2.kernel-3.18/arch/arm64/configs/sm6737t_66_n_defconfig

3. kernel-3.18/drivers/misc/mediatek/imgsensor/inc/kd_imgsensor.h

此处定义摄像头ID以及对应的名称,与驱动里的UINT32 OV2710MIPISensorInit(PSENSOR_FUNCTION_STRUCT *pfFunc)函数绑定

4.kernel-3.18/drivers/misc/mediatek/imgsensor/src/mt6735/kd_sensorlist.h

此处绑定ID,名称和驱动函数,定义需要大写

  • 上电(此部分参考datasheet

【MTK】camera移植_第6张图片

kernel-3.18/drivers/misc/mediatek/imgsensor/src/mt6735/camera_hw/kd_camera_hw.c,(需要注意的是前后摄共用同一个CMMCLK)


【MTK】camera移植_第7张图片

【MTK】camera移植_第8张图片

  • hal修改
  1. device/mediatek/common/kernel-headers/kd_imgsensor.h
  2. 此处只需要绑定ID与名称,hal层无入口函数

    vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor_src/sensorlist.cpp
  3.  vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor/ (ISP相关的文件,需要找原厂提供,或找到CCT工具调试

【MTK】camera移植_第9张图片

完整的过程是这样,其余遇到的问题后面再更

你可能感兴趣的:(Android,linux,MTK)