一、前言
camera sensor模组点亮会遇到sensor不到sensor的情况。
排除上下电时序、MCLK配置、I2C 通路、chip ID去读那个 寄存器都正常后
二、LOG
提示sensor name和顺序不一致
三、解决思路
3.1 首先要看ProjectConfig.mk中都定义了哪些sensor,定义的那些sensor如果在下面的SensorList[]数组中存在,才会被search。
注意:修改了ProjectConfig.mk后,比如多添加了sensor, 一定要new整个工程.
以OV8825_MIPI_RAW_2LANE为例:
alps\mediatek\custom\$project$\hal\imgsensor\src\sensorlist.cpp
SensorList[]
#if defined(OV8825_MIPI_RAW_2LANE) //OV8825_MIPI_RAW_2LANE必须和ProjectConfig.mk中定义的sensor name完全一致
RAW_INFO(OV8825_SENSOR_ID, SENSOR_DRVNAME_OV8825_MIPI_RAW, NULL),
#endif
3.2 下面这个kdSensorList[]数组中也必须有OV8825_MIPI_RAW_2LANE的定义, 并且和上面数组中的sensor定义顺序要完全一致,否则sensor driver的function pointer就可能指错。
alps\mediatek\custom\$project$\kernel\imgsensor\src\kd_sensorlist.h
kdSensorList[]
#if defined(OV8825_MIPI_RAW_2LANE)
{OV8825_SENSOR_ID, SENSOR_DRVNAME_OV8825_MIPI_RAW, OV8825_MIPI_RAW_SensorInit},
#endif