int32_t sr200pc20_set_vt_resolution(struct msm_sensor_ctrl_t *s_ctrl, int resolution, int flicker_type, int vtmode)
{
	int32_t rc = 0;
	if(resolution==MSM_SENSOR_RES_FULL) {
		SR200PC20_WRITE_LIST(sr200pc20_Capture);	// capture in factory VT Camera
		sr200pc20_get_exif(s_ctrl);
		return rc;
	}

	if (vtmode==1) {
		pr_err("%s : %d sr200pc20_VT_Init_Reg : 3G(Fixed 7fps)\n", __func__, __LINE__);
		SR200PC20_WRITE_LIST(sr200pc20_VT_Init_Reg_60Hz);
	}
	else if (vtmode==2)
	{
		pr_err("%s : %d sr200pc20_15fps_60Hz : 4G(Fixed 15fps)\n", __func__,	__LINE__);
		SR200PC20_WRITE_LIST(sr200pc20_15fps_60Hz);
	}
	else
	{
		pr_err("%s : %d sr200pc20_Init_Reg\n", __func__, __LINE__);
		SR200PC20_WRITE_LIST(sr200pc20_Init_Reg_60hz);
	}
	return rc;
}
int32_t sr200pc20_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode, int flicker_type)
{
	int32_t rc = 0;
	CDBG("CAM-SETTING-- resolution is %d", mode);
	switch (mode) {
	case MSM_SENSOR_RES_FULL:
		SR200PC20_WRITE_LIST(sr200pc20_Capture);
		sr200pc20_get_exif(s_ctrl);
		break;
	default:
#if defined(CONFIG_SEC_ROSSA_PROJECT)
		if (init_setting_write) {
			if (flicker_type == MSM_CAM_FLICKER_50HZ) {
				pr_err("%s : %d 50Hz Preview initial\n", __func__, __LINE__);
				SR200PC20_WRITE_LIST(sr200pc20_640x480_Preview_for_initial_50hz);
			} else {
				pr_err("%s : %d 60Hz Preview initial\n", __func__, __LINE__);
				SR200PC20_WRITE_LIST(sr200pc20_640x480_Preview_for_initial_60hz);
			}
			init_setting_write = FALSE;
		}else {
			if (flicker_type == MSM_CAM_FLICKER_50HZ) {
				pr_err("%s : %d 50Hz Preview initial\n", __func__, __LINE__);
				SR200PC20_WRITE_LIST(sr200pc20_640x480_Preview_for_Return_50hz);
			} else {
				pr_err("%s : %d 60Hz Preview initial\n", __func__, __LINE__);
				SR200PC20_WRITE_LIST(sr200pc20_640x480_Preview_for_Return_60hz);
			}
		}
#else
		if (mode == MSM_SENSOR_RES_QTR) {
			if (flicker_type == MSM_CAM_FLICKER_50HZ) {
				SR200PC20_WRITE_LIST(sr200pc20_800x600_Preview_for_Return_50hz);
			} else {
				SR200PC20_WRITE_LIST(sr200pc20_800x600_Preview_for_Return_60hz);
			}
		}
#endif
#if 0
		else if (mode == MSM_SENSOR_RES_2) {
			if (flicker_type == MSM_CAM_FLICKER_50HZ) {
				SR200PC20_WRITE_LIST(sr200pc20_640x480_Preview_for_Return_50hz);
			} else {
				SR200PC20_WRITE_LIST(sr200pc20_640x480_Preview_for_Return_60hz);
			}
		}
#endif
		//rc = msm_sensor_driver_WRT_LIST(s_ctrl,sr200pc20_800x600_Preview);
		pr_err("%s: Setting %d is invalid\n", __func__, mode);
		rc=0;
	}
	return rc;
}
Beispiel #3
0
static int sr200pc20_set_capture_start(struct v4l2_subdev *sd)
{
	struct sr200pc20_state *state = to_state(sd);
	int err = -EINVAL;

	cam_info("set_capture_start\n");

	err = sr200pc20_set_from_table(sd, "capture_start",
			&state->regs->capture_start, 1, 0);
	CHECK_ERR_MSG(err, "failed to make capture\n");

	sr200pc20_get_exif(sd);

	return err;
}
int32_t sr200pc20_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode)
{
	int32_t rc = 0;
	CDBG("E\n");
	switch (mode) {
	case MSM_SENSOR_RES_FULL:
		CDBG("In case MSM_SENSOR_RES_FULL");
		rc = sr200pc20_WRT_LIST(s_ctrl,sr200pc20_Capture);
		//to get exif data
		sr200pc20_get_exif(s_ctrl);
		break;
	case MSM_SENSOR_RES_QTR:
		CDBG("In case MSM_SENSOR_RES_QTR");
		if(sr200pc20_ctrl.op_mode == CAMERA_MODE_RECORDING)
		{
			rc = sr200pc20_WRT_LIST(s_ctrl,sr200pc20m_recording_800x600_24fps);	
		}
		else
		{
			rc = sr200pc20_WRT_LIST(s_ctrl,sr200pc20_800x600_Preview);
		}
		rc=0;
		break;
#if 1
	case MSM_SENSOR_RES_2:
		CDBG("In case MSM_SENSOR_RES_2");
		if(sr200pc20_ctrl.op_mode == CAMERA_MODE_RECORDING)
		{
			rc = sr200pc20_WRT_LIST(s_ctrl,sr200pc20m_recording_640x480_24fps);	
		}
		else
		{
			rc = sr200pc20_WRT_LIST(s_ctrl,sr200pc20_640x480_Preview);
		}
		rc=0;
		break;
#endif
	default:
		rc=0;
		break;
	}
	return rc;
}
Beispiel #5
0
static int sr200pc20_set_capture_start(struct v4l2_subdev *sd)
{
	struct i2c_client *client = v4l2_get_subdevdata(sd);
	int err = -EINVAL;

	/* set initial regster value */
	cam_dbg("load sr200pc20_capture\n");
	err = sr200pc20_i2c_set_config_register(client,
									front_snapshot_normal_regs,
									SNAPSHOT_NORMAL_NUM_OF_REGS,
									"front_snapshot_normal_regs");
	if (unlikely(err)) {
		cam_err("failed to make capture\n");
		return err;
	}
	sr200pc20_get_exif(sd);
	cam_info("Capture ConfigSync\n");
	return err;
}