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; }
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; }
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; }