和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一 、ProjectConfig.mk文件配置
二、defconfig文件修改
三、kernel层驱动代码
四、hal层驱动代码
五、kernel层摄像头文件夹
六、hal层摄像头文件夹
七、sensor上下电代码
这里记录添加一个新的sensor需要注意的文件,以mt6779为例。
一 、ProjectConfig.mk文件配置
//device/mediatek/mt6779/ProjectConfig.mk
//sensorCUSTOM_HAL_IMGSENSOR = gc8034_mipi_raw hi846_mipi_raw gc5035_mipi_raw sc500cs_mipi_raw
CUSTOM_HAL_MAIN_IMGSENSOR =gc8034_mipi_raw hi846_mipi_raw
CUSTOM_HAL_SUB_IMGSENSOR = gc5035_mipi_raw sc500cs_mipi_raw
CUSTOM_KERNEL_IMGSENSOR = gc8034_mipi_raw hi846_mipi_raw gc5035_mipi_raw sc500cs_mipi_raw
CUSTOM_KERNEL_MAIN_IMGSENSOR = gc8034_mipi_raw hi846_mipi_raw
CUSTOM_KERNEL_SUB_IMGSENSOR = gc5035_mipi_raw sc500cs_mipi_raw//lensCUSTOM_HAL_LENS = fp5510e2af dummy_lens
CUSTOM_HAL_MAIN_LENS = fp5510e2af
CUSTOM_HAL_SUB_LENS = dummy_lens
CUSTOM_KERNEL_LENS = fp5510e2af dummy_lens
CUSTOM_KERNEL_MAIN_LENS = fp5510e2af
CUSTOM_KERNEL_SUB_LENS = dummy_lens//flashlight:支持flashlight则设置为constant_flashlight,不支持设置为 dummy_flashlightCUSTOM_HAL_FLASHLIGHT = dummy_flashlight
CUSTOM_KERNEL_FLASHLIGHT = constant_flashlight
二、defconfig文件修改
//kernel-4.19/arch/arm64/configs/
//k79v1_64_defconfig 和 k79v1_64_debug_defconfig
CONFIG_CUSTOM_KERNEL_IMGSENSOR="gc8034_mipi_raw hi846_mipi_raw gc5035_mipi_raw sc500cs_mipi_raw"
三、kernel层驱动代码
添加新的camera sensor ID定义,sensor ID 来自于对应的 datasheet
//device/mediatek/common/kernel-headers/kd_imgsensor.h
#define GC8034_SENSOR_ID 0x8044#define SENSOR_DRVNAME_GC8034_MIPI_RAW "gc8034_mipi_raw"#define SC500CS_SENSO