MTK6580调试IMX132总结
10 MTK camera驱动结构介绍
MTK camera 主要内容在hal层,现在有hal1/hal3,当下主流使用的是hal3,驱动主要负责 sensor电源的控制和sensor寄存器的操作
MTK采用设备 和 驱动分离的思想,抽象出 imgsensor.c来 控制sensor的上下电以及sensor具体操作(mtk65t80上是 camera_hw/ kd_camera_hw.c 来控制gpio 及三路电源相关的 kernel-3.18\drivers\misc\mediatek\imgsensor\src\mt6580\ov8865_mipi_raw 就是具体sensor的寄存器初始化)
10-1 sensor driver 介绍–控制寄存器初始化,结构体节点生成,open相关操作
Sensor driver 对上响应需求,对下控制sensor 硬件行为, cpu 通过i2c 接口控制 sensor的大部分行为, sensor 输出数据到 TG、ISP等模块之后,ISP将数据保存到内存之后 ,才可以 dump 出 sensor 数据,才能看到sensor 的第一幅画面
kd_sensorlist.h:{OV8865_SENSOR_ID, SENSOR_DRVNAME_OV8865_MIPI_RAW,OV8865_MIPI_RAW_SensorInit},
驱动入口xxxx_MIPI_RAW_SensorInit,可以看到 SensorInit 以函数指针的形式传入到 kd_sensorlist结构体中
SENSOR_FUNCTION_STRUCT 这个结构体包含所有sensor driver的操作接口