【MTK Camera】sensor bringup guide [随笔]

一、prepare:
1.驱动代码、效果文件
2.硬件原理图、sensor datasheet、硬件接口配置表

二、coding:

1.project configure
(1) aosp/device/xxx/<project>/ProjectConfig.mk
     把要添加的sensor名字配置到以下变量中:
       CUSTOM_HAL_xxx_IMGSENSOR=          xxx_main_mipi_raw(与custom路径下要配置的sensor相呼应)
       CUSTOM_KERNEL_xxx_IMGSENSOR=   xxx_main_mipi_raw(与kernel路径下要配置的sensor相呼应)

(2) aosp/device/mediatek/common/kernel-headers/kd_imgsensor.h
   (This header was automatically generated from a Linux kernel header of the same name, to make information necessary for userspace to call into the kernel available to libc.)
      这里定义sensor id和sensor name,主要作用于custom路径下
  eg: xxx_MAIN_SENSOR_ID                                   0x565043
          SENSOR_DRVNAME_xxx_MAIN_MIPI_RAW  “xxx_main_mipi_raw”

(3)aosp/kernel-4.1x/arch/arm64/configs/<project>_defconfig
     将添加的sensor名字配置到以下变量中:
      CONFIG_CUSTOM_KERNEL_IMGSENSOR=    xxx_main_mipi_raw

     tips: CONFIG_MTK_CAM_CAL=   先设置为空不配置eeprom,后面配置eeprom时设置为y

2.kernel driver configure
(1) aosp/kernel-4.1x/drivers/misc/mediatek/imgsensor/inc/kd_imgsensor.h
      同1-(2), 定义sensor id和sensor name,主要作用于kernel路径下

(2) aosp/kernel-4.1x/drivers/misc/mediatek/imgsensor/src/common/v1_1/imgsensor_sensor_list.h
     添加新的sensor init function声明,并在imgsensor_sensor_list.c中 if defined声明
     xxx_MAIN_MIPI_RAW_SensorInit(这块会直接调用到 sensor驱动代码中)

(3)aosp/kernel-4.1x/drivers/misc/mediatek/imgsensor/src/<platform>/<project>/camera_hw/imgsensor_cfg_table.c
    确认上电引脚的供电方式:gpio、regulator(PMU pmic)、smartldo(参考硬件原理图 & 硬件接口配置表)

 (4)aosp/kernel-4.1x/drivers/misc/mediatek/imgsensor/src/common/v1_1/imgsensor_pwr_seq.c
    添加sensor的上电时序(参考sensor datasheet)

 (5)aosp/kernel-4.1x/arch/arm64/boot/dts/mediatek/<project>.dtsi
    将添加的sensor名字配置到以下变量中, 并且配置dtsi文件中的相关引脚的GPIO口 (pinmux =)
     camX_enable_sensor,  X:0 后主摄,1 前摄,2 后辅摄,如景深广角
 (6)aosp/kernel-4.1x/drivers/misc/mediatek/imgsensor/src/<platform>/camera_project/<project>/
    添加sensor驱动代码和Makefile

3.custom configure
  (1)aosp/vendor/mediatek/proprietary/custom/<project>/hal/imgsensor_src/sensorlist.cpp
     1-(2)中已经定义sensor id和sensor name,这里需要if defined声明

     tips:kernel层与custom层的sensorlist已经配置完成,但这两个sensorlist类型均为数组,所以顺序要一致、对应。
  (2)aosp/vendor/mediatek/proprietary/custom/<project>/hal/imgsensor/
      添加(效果参数)ver1/factory/default文件夹,以xxx_main_mipi_raw命名
  (3)aosp/vendor/mediatek/proprietary/custom/common/hal/imgsensor_metadata/sensor/
      添加common下的 xxx_main_mipi_raw  metadata
  (4)aosp/vendor/mediatek/proprietary/custom/<project>/hal/imgsensor_metadata/
      添加xxx_main_mipi_raw对应的metadata

4.dualcam configure
  (1)aosp/vendor/mediatek/proprietary/custom/<project>/hal/camera/camera_custom_stereo_setting.h
    需要先在 “\Sensors\” 中进行定义sensor name、IMGOYUV Size、RRZOYUV Size、SensorScenarioZSD or SensorScenarioRecording、FOV,然后在 Sensor Combinations中搭配两颗sensor
  (2)aosp/vendor/mediatek/proprietary/custom/common/hal/imgsensor_metadata/sensor/
      添加common下的 xxx_main_mipi_raw_bayermono  metadata
  (3)aosp/vendor/mediatek/proprietary/custom/<project>/hal/imgsensor_metadata/
      添加xxx_main_mipi_raw_bayermono对应的metadata

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cam_Rxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值