Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df408b0e authored by junwen.ye's avatar junwen.ye Committed by android-t1
Browse files

[ALM:10872982] [FP4]:Init setting must be done before ois offset calibration

 &&&%%%comment:[FP4]:Init setting must be done before ois offset calibration
 &&&%%%bug number:10872982
 &&&%%%product name:sm7225_r_fp4
 &&&%%%root cause:coding
 &&&%%%Bug category:T2M
 &&&%%%Module_Impact:camera
 &&&%%%Test_Suggestion:NA
 &&&%%%Solution:NA
 &&&%%%Test_Report:ok in native
 &&&%%%VAL Can Test:NA
parent b822d424
Loading
Loading
Loading
Loading
+28 −1
Original line number Diff line number Diff line
@@ -330,6 +330,10 @@ static int cam_ois_gyro_calibration(struct cam_ois_ctrl_t *o_ctrl)
		{0x9b2a ,0x0001} ,//10[write]
		{0x9b28 ,0x6001} ,//11[read]store done
		{0x0220 ,0x0000} ,//12[write]code pt on

		{0x0018 ,0x0001} ,//13[write]
		{0x9E18 ,0x0002} ,//14[write]
		{0x0024 ,0x0001} ,//15[write]
	};

	if (!o_ctrl) {
@@ -351,6 +355,29 @@ static int cam_ois_gyro_calibration(struct cam_ois_ctrl_t *o_ctrl)
	}
	//[Begin]enter gyro cali mode
	i2c_reg_setting.reg_setting = (struct cam_sensor_i2c_reg_array *) (page_address(page));

	mdelay(50);
	i2c_reg_setting.reg_setting[0].reg_addr = cml_ois_gyro_calibration[13].reg;
	i2c_reg_setting.reg_setting[0].reg_data = cml_ois_gyro_calibration[13].val;
	i2c_reg_setting.reg_setting[0].delay = 1;
	i2c_reg_setting.reg_setting[0].data_mask = 0;
	CAM_ERR(CAM_OIS, "write 0x0018 -> 0x0001");

	mdelay(50);
	i2c_reg_setting.reg_setting[0].reg_addr = cml_ois_gyro_calibration[14].reg;
	i2c_reg_setting.reg_setting[0].reg_data = cml_ois_gyro_calibration[14].val;
	i2c_reg_setting.reg_setting[0].delay = 1;
	i2c_reg_setting.reg_setting[0].data_mask = 0;
	CAM_ERR(CAM_OIS, "write 0x9E18 -> 0x0002");

	mdelay(50);
	i2c_reg_setting.reg_setting[0].reg_addr = cml_ois_gyro_calibration[15].reg;
	i2c_reg_setting.reg_setting[0].reg_data = cml_ois_gyro_calibration[15].val;
	i2c_reg_setting.reg_setting[0].delay = 1;
	i2c_reg_setting.reg_setting[0].data_mask = 0;
	CAM_ERR(CAM_OIS, "write 0x0024 -> 0x0001");

	mdelay(50);
	i2c_reg_setting.reg_setting[0].reg_addr = cml_ois_gyro_calibration[0].reg;
	i2c_reg_setting.reg_setting[0].reg_data = cml_ois_gyro_calibration[0].val;
	i2c_reg_setting.reg_setting[0].delay = 1;