以AF为例:
在vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/isp_xx/af_mgr/af_mgr.cpp
进行config的时候会调用GetCamCalCalData函数,
该原函数在文件:vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/xxx/core/featureio/drv/cam_cal/cam_cal_drv.cpp
然后调用到:m32CamCalDataValidation= GetCameraCalData(i4CurrSensorId, (MUINT32*)pCamcalData);
该原函数在custom下:vendor/mediatek/proprietary/custom/xxx/hal/camera_3a/camera_custom_msdk.cpp
继续调用到:CAM_CALGetCalData(pGetSensorCalData);这里就正式跳转到处理eeprom数据的地方了
MTK平台对eeprom数据的读取调用解析在文件
vendor/mediatek/proprietary/custom/xxx/hal/imgsensor_src/camera_calibration_cam_cal.cpp
入口函数在CAM_CALGetCalData
对应这个函数的被调用是配置在vendor/mediatek/proprietary/custom/xxx/hal/imgsensor_src/sensorlist.cpp中的
例如:RAW_INFO(OV8856_SENSOR_ID, SENSOR_DRVNAME_OV8856_MIPI_RAW, CAM_CALGetCalData),
添加对应sensor的链接,说明该sensor支持otp
{//CALIBRATION_LAYOUT_SENSOR_OTP
0x00000001, 0x010b00ff, CAM_CAL_SINGLE_OTP_DATA,
{
{0x00000001, 0x00000000, 0x00000000, DoCamCalModuleVersion}, //CAMERA_CAM_CAL_DATA_MODULE_VERSION
{0x00000001, 0x00000005, 0x00000002, DoCamCalPartNumber}, //CAMERA_CAM_CAL_DATA_PART_NUMBER
{0x0000