【MTK】camera移植

  1. 硬件IO口配置

 

 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配置

 b.dts配置

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

將默認的GPIO7改爲GPIO9.

2)軟件驅動移植

  • 編譯攝像頭驅動
  1. device/sunmontech/sm6737t_66_n/ProjectConfig.mk

需要注意的是,要關閉內核與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

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


  • 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工具調試

完整的過程是這樣,其餘遇到的問題後面再更

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章