1.ProjectConfig.mk
CUSTOM_HAL_MAIN2_IMGSENSOR = imx219_mipi_raw
CUSTOM_KERNEL_MAIN2_IMGSENSOR = imx219_mipi_raw
2. kd_senorlist.h
ACDK_KD_SENSOR_INIT_FUNCTION_STRUCT kdSensorList[MAX_NUM_OF_SUPPORT_SENSOR+1] =
{
//add start 2017-08-07
#if defined(GC8024_MIPI_RAW)
{GC8024MIPI_SENSOR_ID, SENSOR_DRVNAME_GC8024_MIPI_RAW,GC8024MIPI_RAW_SensorInit},
#endif
#if defined(IMX219_MIPI_RAW)
{IMX219_SENSOR_ID, SENSOR_DRVNAME_IMX219_MIPI_RAW, IMX219_MIPI_RAW_SensorInit},
#endif
#if defined(GC5025_MIPI_RAW)
{GC5025MIPI_SENSOR_ID, SENSOR_DRVNAME_GC5025_MIPI_RAW,GC5025MIPI_RAW_SensorInit},
#endif
//add end 2017-08-07
..........
}
3. sensorlist.cpp
MSDK_SENSOR_INIT_FUNCTION_STRUCT SensorList[] =
{
#if defined(GC8024_MIPI_RAW)
RAW_INFO(GC8024MIPI_SENSOR_ID, SENSOR_DRVNAME_GC8024_MIPI_RAW, NULL),
#endif
#if defined(IMX219_MIPI_RAW)
RAW_INFO(IMX219_SENSOR_ID, SENSOR_DRVNAME_IMX219_MIPI_RAW, NULL),
#endif
#if defined(GC5025_MIPI_RAW)//
RAW_INFO(GC5025MIPI_SENSOR_ID, SENSOR_DRVNAME_GC5025_MIPI_RAW, NULL),
#endif
........
}
4. 上电函数
mt6735.dtsi
vrf18_1-supply = <&mt_pmic_vrf18_1_ldo_reg>;
kd_camera_hw.h
typedef enum KD_REGULATOR_TYPE_TAG { VCAMA, VCAMD, VCAMIO, VCAMAF, SUB_VCAMD, VRF18_1, } KD_REGULATOR_TYPE_T;
kd_sensorlist.c
struct regulator *regVCAMD2= NULL;
改为
struct regulator *regVRF18_1 = NULL;
else if (type == VCAMD2) {
reg = regVCAMD2;
}
修改为
else if (type == VRF18_1) {
reg = regVRF18_1;
}
如果用 VCAMD2 不知道是哪一个pmu(根据个人习惯)