mirror of
https://github.com/S3NEO/android_kernel_samsung_msm8226.git
synced 2024-11-07 03:47:13 +00:00
wip: tab4 camera
Change-Id: I71c883898fa8c318ebd598835e9bea7db20e2065
This commit is contained in:
parent
f2dc623c24
commit
c069e1c53a
11 changed files with 61 additions and 11211 deletions
|
@ -193,19 +193,12 @@ int32_t sr130pc20_set_white_balance(struct msm_sensor_ctrl_t *s_ctrl, int mode)
|
|||
return rc;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MACH_MILLETLTE_KOR
|
||||
int32_t sr130pc20_set_Init_reg(struct msm_sensor_ctrl_t *s_ctrl, int resolution)
|
||||
int32_t sr130pc20_set_Init_reg(struct msm_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
if (sr130pc20_ctrl.prev_mode == CAMERA_MODE_INIT) {
|
||||
if (sr130pc20_ctrl.vtcall_mode == 1) {
|
||||
if(resolution== MSM_SENSOR_RES_3) {
|
||||
CDBG("CIF size VT Init Settings");
|
||||
SR130PC20_WRITE_LIST(sr130pc20_CIF_VT_Init_Reg);
|
||||
}
|
||||
else {
|
||||
CDBG("VT Init Settings");
|
||||
SR130PC20_WRITE_LIST(sr130pc20_VT_Init_Reg);
|
||||
}
|
||||
SR130PC20_WRITE_LIST(sr130pc20_VT_Init_Reg);
|
||||
CDBG("VT Init Settings");
|
||||
}else {
|
||||
SR130PC20_WRITE_LIST(sr130pc20_Init_Reg);
|
||||
CDBG("Init settings");
|
||||
|
@ -215,31 +208,8 @@ int32_t sr130pc20_set_Init_reg(struct msm_sensor_ctrl_t *s_ctrl, int resolution)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
int32_t sr130pc20_set_Init_reg(struct msm_sensor_ctrl_t *s_ctrl, int flicker_type)
|
||||
{
|
||||
if (sr130pc20_ctrl.prev_mode == CAMERA_MODE_INIT) {
|
||||
if (sr130pc20_ctrl.vtcall_mode == 1) {
|
||||
SR130PC20_WRITE_LIST(sr130pc20_VT_Init_Reg);
|
||||
CDBG("VT Init Settings");
|
||||
}else {
|
||||
if (flicker_type == MSM_CAM_FLICKER_50HZ) {
|
||||
pr_err("%s : %d 50Hz init setting\n", __func__, __LINE__);
|
||||
SR130PC20_WRITE_LIST(sr130pc20_Init_Reg);
|
||||
} else {
|
||||
pr_err("%s : %d 60Hz init setting\n", __func__, __LINE__);
|
||||
SR130PC20_WRITE_LIST(sr130pc20_Init_Reg_60hz);
|
||||
}
|
||||
CDBG("Init settings");
|
||||
}
|
||||
SR130PC20_WRITE_LIST(sr130pc20_stop_stream);
|
||||
CDBG("Stop Stream Settings");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int32_t sr130pc20_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode, int flicker_type)
|
||||
int32_t sr130pc20_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
CDBG("mode = %d", mode);
|
||||
|
@ -248,13 +218,8 @@ int32_t sr130pc20_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode, int
|
|||
rc = SR130PC20_WRITE_LIST(sr130pc20_Snapshot);
|
||||
break;
|
||||
default:
|
||||
if (flicker_type == MSM_CAM_FLICKER_50HZ) {
|
||||
pr_err("%s : %d 50Hz Preview initial\n", __func__, __LINE__);
|
||||
rc = SR130PC20_WRITE_LIST(sr130pc20_Preview_for_initial_50hz);
|
||||
} else {
|
||||
pr_err("%s : %d 60Hz Preview initial\n", __func__, __LINE__);
|
||||
rc = SR130PC20_WRITE_LIST(sr130pc20_Preview_for_initial_60hz);
|
||||
}
|
||||
rc = SR130PC20_WRITE_LIST(sr130pc20_Preview);
|
||||
pr_err("%s: Setting %d is sr130pc20_Preview\n", __func__, mode);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
@ -383,13 +348,9 @@ int32_t sr130pc20_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
#endif
|
||||
break;
|
||||
case CFG_SET_RESOLUTION:
|
||||
sr130pc20_set_Init_reg(s_ctrl);
|
||||
resolution = *((int32_t *)cdata->cfg.setting);
|
||||
CDBG("CFG_SET_RESOLUTION res = %d" , resolution);
|
||||
#ifdef CONFIG_MACH_MILLETLTE_KOR
|
||||
sr130pc20_set_Init_reg(s_ctrl, resolution);
|
||||
#else
|
||||
sr130pc20_set_Init_reg(s_ctrl, cdata->flicker_type);
|
||||
#endif
|
||||
break;
|
||||
case CFG_SET_STOP_STREAM:
|
||||
CDBG(" CFG_SET_STOP_STREAM writing stop stream registers: sr130pc20_stop_stream");
|
||||
|
@ -405,13 +366,7 @@ int32_t sr130pc20_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
{
|
||||
CDBG(" CFG_SET_START_STREAM: Preview");
|
||||
if(sr130pc20_ctrl.prev_mode == CAMERA_MODE_RECORDING) {
|
||||
if (cdata->flicker_type == MSM_CAM_FLICKER_50HZ) {
|
||||
pr_err("%s : %d 50Hz init setting\n", __func__, __LINE__);
|
||||
SR130PC20_WRITE_LIST(sr130pc20_Init_Reg);
|
||||
} else {
|
||||
pr_err("%s : %d 60Hz init setting\n", __func__, __LINE__);
|
||||
SR130PC20_WRITE_LIST(sr130pc20_Init_Reg_60hz);
|
||||
}
|
||||
SR130PC20_WRITE_LIST(sr130pc20_stop_stream);
|
||||
}
|
||||
if(sr130pc20_ctrl.prev_mode != CAMERA_MODE_CAPTURE) {
|
||||
|
@ -419,7 +374,7 @@ int32_t sr130pc20_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
sr130pc20_set_white_balance( s_ctrl, sr130pc20_ctrl.settings.wb);
|
||||
sr130pc20_set_exposure_compensation( s_ctrl , sr130pc20_ctrl.settings.exposure );
|
||||
}
|
||||
sr130pc20_set_resolution(s_ctrl , resolution , cdata->flicker_type);
|
||||
sr130pc20_set_resolution(s_ctrl , resolution );
|
||||
#if defined(CONFIG_SEC_MILLET_PROJECT) || defined(CONFIG_SEC_MATISSE_PROJECT) || defined (CONFIG_MACH_VICTOR3GDSDTV_LTN)
|
||||
if(sr130pc20_ctrl.prev_mode == CAMERA_MODE_INIT) {
|
||||
msleep(200);
|
||||
|
@ -429,18 +384,13 @@ int32_t sr130pc20_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
break;
|
||||
case CAMERA_MODE_CAPTURE:
|
||||
{
|
||||
sr130pc20_set_resolution(s_ctrl , resolution , cdata->flicker_type);
|
||||
sr130pc20_set_resolution(s_ctrl , resolution );
|
||||
sr130pc20_set_exif(s_ctrl);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MODE_RECORDING:
|
||||
{
|
||||
//SR130PC20_WRITE_LIST(sr130pc20_camcorder_mode);
|
||||
if (cdata->flicker_type == MSM_CAM_FLICKER_50HZ) {
|
||||
SR130PC20_WRITE_LIST(sr130pc20_camcorder_mode_50hz);
|
||||
} else {
|
||||
SR130PC20_WRITE_LIST(sr130pc20_camcorder_mode_60hz);
|
||||
}
|
||||
SR130PC20_WRITE_LIST(sr130pc20_camcorder_mode);
|
||||
sr130pc20_set_effect( s_ctrl , sr130pc20_ctrl.settings.effect);
|
||||
sr130pc20_set_white_balance( s_ctrl, sr130pc20_ctrl.settings.wb);
|
||||
sr130pc20_set_exposure_compensation( s_ctrl , sr130pc20_ctrl.settings.exposure );
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -155,7 +155,7 @@ void sr352_get_ev_data_preflash_func2(struct msm_sensor_ctrl_t *s_ctrl);
|
|||
void sr352_set_ev_data_mainFlash_func3(struct msm_sensor_ctrl_t *s_ctrl);
|
||||
void sr352_return_ev_data_func4(struct msm_sensor_ctrl_t *s_ctrl);
|
||||
void sr352_actuator_softlanding(struct msm_sensor_ctrl_t *s_ctrl);
|
||||
void sr352_ae_stable_without_af(struct msm_sensor_ctrl_t *s_ctrl, int flicker_type);
|
||||
void sr352_ae_stable_without_af(struct msm_sensor_ctrl_t *s_ctrl);
|
||||
static int sr352_is_required_flash(struct msm_sensor_ctrl_t *s_ctrl, int flash_mode);
|
||||
void sr352_set_af_mode(struct msm_sensor_ctrl_t *s_ctrl, int mode);
|
||||
void sr352_recording_landing(struct msm_sensor_ctrl_t *s_ctrl);
|
||||
|
@ -386,12 +386,12 @@ int32_t sr352_set_scene_mode(struct msm_sensor_ctrl_t *s_ctrl, int mode)
|
|||
}
|
||||
|
||||
|
||||
int32_t sr352_set_ae_awb_lock(struct msm_sensor_ctrl_t *s_ctrl, int mode, int flicker_type)
|
||||
int32_t sr352_set_ae_awb_lock(struct msm_sensor_ctrl_t *s_ctrl, int mode)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
CDBG("mode = %d", mode);
|
||||
|
||||
if(flicker_type == MSM_CAM_FLICKER_60HZ) {
|
||||
if(ANTIBANDING_60HZ) {
|
||||
if(mode) {
|
||||
rc = SR352_WRITE_LIST(sr352_AEAWB_Lock_60Hz);
|
||||
} else {
|
||||
|
@ -456,7 +456,7 @@ int32_t sr352_set_metering(struct msm_sensor_ctrl_t *s_ctrl, int mode)
|
|||
return rc;
|
||||
}
|
||||
|
||||
int32_t sr352_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode, int flicker_type)
|
||||
int32_t sr352_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
CDBG("mode = %d", mode);
|
||||
|
@ -500,10 +500,10 @@ int32_t sr352_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode, int fli
|
|||
else {
|
||||
rc = SR352_WRITE_LIST_BURST(sr352_recording_50Hz_HD);
|
||||
}
|
||||
if(flicker_type == MSM_CAM_FLICKER_50HZ) {
|
||||
rc = SR352_WRITE_LIST(sr352_HD_50hz_setting);
|
||||
} else {
|
||||
if(ANTIBANDING_60HZ) {
|
||||
rc = SR352_WRITE_LIST(sr352_HD_60hz_setting);
|
||||
} else {
|
||||
rc = SR352_WRITE_LIST(sr352_HD_50hz_setting);
|
||||
}
|
||||
#if defined (AF_FLASH_SUPPORT)
|
||||
SR352_WRITE_LIST(sr352_HD_AF_Init_Reg);
|
||||
|
@ -523,25 +523,16 @@ int32_t sr352_set_resolution(struct msm_sensor_ctrl_t *s_ctrl, int mode, int fli
|
|||
case MSM_SENSOR_RES_6:
|
||||
rc = SR352_WRITE_LIST(sr352_preview_320_240);
|
||||
break;
|
||||
#ifdef CONFIG_MACH_MILLETLTE_KOR
|
||||
case MSM_SENSOR_RES_7:
|
||||
rc = SR352_WRITE_LIST(sr352_preview_352_288);
|
||||
break;
|
||||
case MSM_SENSOR_RES_8:
|
||||
rc = SR352_WRITE_LIST(sr352_preview_176_144);
|
||||
break;
|
||||
#else
|
||||
case MSM_SENSOR_RES_7:
|
||||
rc = SR352_WRITE_LIST(sr352_preview_176_144);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
pr_err("%s: Setting %d is invalid\n", __func__, mode);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
void sr352_init_camera(struct msm_sensor_ctrl_t *s_ctrl , int flicker_type)
|
||||
void sr352_init_camera(struct msm_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
int32_t rc = 0;
|
||||
if(settings_type == 1) {
|
||||
|
@ -555,10 +546,10 @@ void sr352_init_camera(struct msm_sensor_ctrl_t *s_ctrl , int flicker_type)
|
|||
#if defined (AF_FLASH_SUPPORT)
|
||||
SR352_WRITE_LIST(sr352_AF_Init_Reg);
|
||||
#endif
|
||||
if(flicker_type == MSM_CAM_FLICKER_50HZ) {
|
||||
rc = SR352_WRITE_LIST(sr352_50hz_setting);
|
||||
} else {
|
||||
if(ANTIBANDING_60HZ) {
|
||||
rc = SR352_WRITE_LIST(sr352_60hz_setting);
|
||||
} else {
|
||||
rc = SR352_WRITE_LIST(sr352_50hz_setting);
|
||||
}
|
||||
if(rc <0) {
|
||||
pr_err("%s:%d error writing 50hz failed\n", __func__, __LINE__);
|
||||
|
@ -647,7 +638,6 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
int32_t rc = 0;
|
||||
int32_t i = 0;
|
||||
mutex_lock(s_ctrl->msm_sensor_mutex);
|
||||
sr352_ctrl.settings.flicker = cdata->flicker_type;
|
||||
|
||||
switch (cdata->cfgtype) {
|
||||
case CFG_GET_SENSOR_INFO:
|
||||
|
@ -677,7 +667,7 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
sr352_regs_table_init("/data/"REG_SET_FILE);
|
||||
pr_err("/data/"REG_SET_FILE" inside CFG_SET_INIT_SETTING");
|
||||
#endif
|
||||
sr352_init_camera(s_ctrl , cdata->flicker_type);
|
||||
sr352_init_camera(s_ctrl);
|
||||
|
||||
#if !defined (AF_FLASH_SUPPORT)
|
||||
//Stop stream and start in START_STREAM
|
||||
|
@ -689,7 +679,7 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
if (sr352_ctrl.prev_mode == CAMERA_MODE_RECORDING &&
|
||||
sr352_ctrl.settings.resolution == MSM_SENSOR_RES_3) {
|
||||
|
||||
sr352_init_camera(s_ctrl , cdata->flicker_type);
|
||||
sr352_init_camera(s_ctrl);
|
||||
//Stop stream and start in START_STREAM
|
||||
SR352_WRITE_LIST(sr352_stop_stream);
|
||||
CDBG("CFG CFG_SET_RESOLUTION - HD Recording mode off");
|
||||
|
@ -718,12 +708,12 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
switch(sr352_ctrl.op_mode) {
|
||||
case CAMERA_MODE_PREVIEW:
|
||||
{
|
||||
sr352_set_resolution(s_ctrl , sr352_ctrl.settings.resolution , cdata->flicker_type);
|
||||
sr352_set_resolution(s_ctrl , sr352_ctrl.settings.resolution);
|
||||
#if !defined(AF_FLASH_SUPPORT)
|
||||
if (sr352_ctrl.prev_mode == CAMERA_MODE_RECORDING &&
|
||||
sr352_ctrl.settings.prev_resolution == MSM_SENSOR_RES_3) {
|
||||
|
||||
sr352_set_ae_awb_lock(s_ctrl, 0, cdata->flicker_type);
|
||||
sr352_set_ae_awb_lock(s_ctrl, 0);
|
||||
msleep(100);
|
||||
}
|
||||
|
||||
|
@ -737,21 +727,17 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
{
|
||||
#if defined (AF_FLASH_SUPPORT)
|
||||
if (!is_af_run)
|
||||
sr352_ae_stable_without_af(s_ctrl,sr352_ctrl.settings.flicker);
|
||||
sr352_ae_stable_without_af(s_ctrl);
|
||||
if (need_main_flash) {
|
||||
SR352_WRITE_LIST(sr352_stop_stream);
|
||||
if(sr352_ctrl.settings.flicker == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable4_1_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable4_1);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable4_1);
|
||||
sr352_set_ev_data_mainFlash_func3(s_ctrl);
|
||||
set_led_flash(MSM_CAMERA_LED_HIGH);
|
||||
SR352_WRITE_LIST(sr352_StartMainFlash_FlashRegTable5);
|
||||
flash_status = MSM_CAMERA_LED_HIGH;
|
||||
}
|
||||
#endif
|
||||
sr352_set_resolution(s_ctrl , sr352_ctrl.settings.resolution , cdata->flicker_type);
|
||||
sr352_set_resolution(s_ctrl , sr352_ctrl.settings.resolution);
|
||||
}
|
||||
break;
|
||||
case CAMERA_MODE_RECORDING:
|
||||
|
@ -764,10 +750,10 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
#endif
|
||||
if ( sr352_ctrl.settings.resolution == MSM_SENSOR_RES_3 ) {
|
||||
CDBG("CFG writing *** sr352_recording_50Hz_HD");
|
||||
sr352_set_resolution( s_ctrl , sr352_ctrl.settings.resolution , cdata->flicker_type );
|
||||
sr352_set_resolution( s_ctrl , sr352_ctrl.settings.resolution);
|
||||
} else {
|
||||
CDBG("CFG writing *** sr352_recording_50Hz_30fps");
|
||||
sr352_set_resolution( s_ctrl , MSM_SENSOR_RES_5 , cdata->flicker_type);
|
||||
sr352_set_resolution( s_ctrl , MSM_SENSOR_RES_5);
|
||||
if(settings_type == 1) {
|
||||
rc = SR352_WRITE_LIST(sr352_recording_50Hz_30fps_01);
|
||||
}
|
||||
|
@ -793,11 +779,7 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
if (flash_status == MSM_CAMERA_LED_HIGH) {
|
||||
set_led_flash(MSM_CAMERA_LED_OFF);
|
||||
flash_status = MSM_CAMERA_LED_OFF;
|
||||
if(sr352_ctrl.settings.flicker == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_AfterMainFlash_FlashRegTable6_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_AfterMainFlash_FlashRegTable6);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_AfterMainFlash_FlashRegTable6);
|
||||
sr352_return_ev_data_func4(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndMainFlash_FlashRegTable7);
|
||||
need_main_flash = 0;
|
||||
|
@ -1097,33 +1079,21 @@ int32_t sr352_sensor_config(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
|
||||
|
||||
#if defined (AF_FLASH_SUPPORT)
|
||||
void sr352_ae_stable_without_af(struct msm_sensor_ctrl_t *s_ctrl, int flicker_type)
|
||||
void sr352_ae_stable_without_af(struct msm_sensor_ctrl_t *s_ctrl)
|
||||
{
|
||||
is_preflash = sr352_is_required_flash(s_ctrl, flash_mode);
|
||||
if (is_preflash) {
|
||||
memset(&Flash, 0, sizeof(Flash));
|
||||
if(flicker_type == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_StartPreFlash_FlashRegTable1_60Hz);
|
||||
sr352_get_ev_data_flash_Off_func1(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_ReadyPreFlash_FlashRegTable2_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_StartPreFlash_FlashRegTable1);
|
||||
sr352_get_ev_data_flash_Off_func1(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_ReadyPreFlash_FlashRegTable2);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_StartPreFlash_FlashRegTable1);
|
||||
sr352_get_ev_data_flash_Off_func1(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_ReadyPreFlash_FlashRegTable2);
|
||||
set_led_flash(MSM_CAMERA_LED_LOW);
|
||||
flash_status = MSM_CAMERA_LED_LOW;
|
||||
need_main_flash = 1;
|
||||
msleep(600); /* AE become stable here */
|
||||
if(flicker_type == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable3_60Hz);
|
||||
sr352_get_ev_data_preflash_func2(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndPreFlash_FlashRegTable4_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable3);
|
||||
sr352_get_ev_data_preflash_func2(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndPreFlash_FlashRegTable4);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable3);
|
||||
sr352_get_ev_data_preflash_func2(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndPreFlash_FlashRegTable4);
|
||||
msleep(50);
|
||||
set_led_flash(MSM_CAMERA_LED_OFF);
|
||||
msleep(300);
|
||||
|
@ -1942,7 +1912,7 @@ void sr352_cancel_af(struct msm_sensor_ctrl_t *s_ctrl)
|
|||
SR352_WRITE_ADDR(0x11, focus_reg);
|
||||
}
|
||||
|
||||
int32_t sr352_set_af_status(struct msm_sensor_ctrl_t *s_ctrl, int status, int initial_pos, int flicker_type)
|
||||
int32_t sr352_set_af_status(struct msm_sensor_ctrl_t *s_ctrl, int status, int initial_pos)
|
||||
{
|
||||
int rc = -EINVAL;
|
||||
|
||||
|
@ -1954,15 +1924,9 @@ int32_t sr352_set_af_status(struct msm_sensor_ctrl_t *s_ctrl, int status, int in
|
|||
|
||||
if (is_preflash) {
|
||||
memset(&Flash, 0, sizeof(Flash));
|
||||
if(flicker_type == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_StartPreFlash_FlashRegTable1_60Hz);
|
||||
sr352_get_ev_data_flash_Off_func1(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_ReadyPreFlash_FlashRegTable2_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_StartPreFlash_FlashRegTable1);
|
||||
sr352_get_ev_data_flash_Off_func1(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_ReadyPreFlash_FlashRegTable2);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_StartPreFlash_FlashRegTable1);
|
||||
sr352_get_ev_data_flash_Off_func1(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_ReadyPreFlash_FlashRegTable2);
|
||||
set_led_flash(MSM_CAMERA_LED_LOW);
|
||||
flash_status = MSM_CAMERA_LED_LOW;
|
||||
rc = SENSOR_AF_PRE_FLASH_ON;
|
||||
|
@ -1976,15 +1940,9 @@ int32_t sr352_set_af_status(struct msm_sensor_ctrl_t *s_ctrl, int status, int in
|
|||
case SENSOR_AF_PRE_FLASH_OFF:
|
||||
CDBG("SENSOR_AF_PRE_FLASH_OFF\n");
|
||||
if (is_preflash) {
|
||||
if(flicker_type == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable3_60Hz);
|
||||
sr352_get_ev_data_preflash_func2(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndPreFlash_FlashRegTable4_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable3);
|
||||
sr352_get_ev_data_preflash_func2(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndPreFlash_FlashRegTable4);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_AfterPreFlash_FlashRegTable3);
|
||||
sr352_get_ev_data_preflash_func2(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndPreFlash_FlashRegTable4);
|
||||
if (!is_touchaf)
|
||||
msleep(100);
|
||||
|
||||
|
@ -2105,10 +2063,10 @@ int32_t sr352_sensor_native_control(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
#if defined (AF_FLASH_SUPPORT)
|
||||
if(!flash_mode){
|
||||
CDBG("EXT_CAM_SET_AE_AWB, !flash_mode");
|
||||
sr352_set_ae_awb_lock(s_ctrl, sr352_ctrl.settings.aeawblock, sr352_ctrl.settings.flicker);
|
||||
sr352_set_ae_awb_lock(s_ctrl, sr352_ctrl.settings.aeawblock);
|
||||
}
|
||||
#else
|
||||
sr352_set_ae_awb_lock(s_ctrl, sr352_ctrl.settings.aeawblock, sr352_ctrl.settings.flicker);
|
||||
sr352_set_ae_awb_lock(s_ctrl, sr352_ctrl.settings.aeawblock);
|
||||
#endif
|
||||
break;
|
||||
#if defined (AF_FLASH_SUPPORT)
|
||||
|
@ -2122,7 +2080,7 @@ int32_t sr352_sensor_native_control(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
CDBG("DAFF EXT_CAM_SET_AF_STATUS: %d : %d\n", cam_info->value_1, cam_info->value_2);
|
||||
|
||||
cam_info->value_1 = sr352_set_af_status(s_ctrl, cam_info->value_1,
|
||||
cam_info->value_2, sr352_ctrl.settings.flicker);
|
||||
cam_info->value_2);
|
||||
|
||||
if (!copy_to_user((void *)argp, (const void *)&cam_info,
|
||||
sizeof(cam_info)))
|
||||
|
@ -2169,11 +2127,7 @@ int32_t sr352_sensor_native_control(struct msm_sensor_ctrl_t *s_ctrl,
|
|||
if (flash_status == MSM_CAMERA_LED_HIGH) {
|
||||
set_led_flash(MSM_CAMERA_LED_OFF);
|
||||
flash_status = MSM_CAMERA_LED_OFF;
|
||||
if(sr352_ctrl.settings.flicker == MSM_CAM_FLICKER_60HZ) {
|
||||
SR352_WRITE_LIST(sr352_AfterMainFlash_FlashRegTable6_60Hz);
|
||||
} else {
|
||||
SR352_WRITE_LIST(sr352_AfterMainFlash_FlashRegTable6);
|
||||
}
|
||||
SR352_WRITE_LIST(sr352_AfterMainFlash_FlashRegTable6);
|
||||
sr352_return_ev_data_func4(s_ctrl);
|
||||
SR352_WRITE_LIST(sr352_EndMainFlash_FlashRegTable7);
|
||||
need_main_flash = 0;
|
||||
|
@ -2203,7 +2157,6 @@ void sr352_set_default_settings(void)
|
|||
sr352_ctrl.settings.effect = CAMERA_EFFECT_OFF;
|
||||
sr352_ctrl.settings.scenemode = CAMERA_SCENE_AUTO;
|
||||
sr352_ctrl.settings.aeawblock = 0;
|
||||
sr352_ctrl.settings.flicker = MSM_CAM_FLICKER_50HZ;
|
||||
}
|
||||
|
||||
#ifndef NO_BURST
|
||||
|
|
|
@ -17609,57 +17609,6 @@ static struct msm_camera_i2c_reg_conf sr352_preview_320_240[] ={
|
|||
|
||||
};
|
||||
|
||||
#ifdef CONFIG_MACH_MILLETLTE_KOR
|
||||
static struct msm_camera_i2c_reg_conf sr352_preview_352_288[] ={
|
||||
{0x03, 0xc1,},
|
||||
{0x10, 0x06,}, // ssd tranfer disable
|
||||
{0xff, 0x01,},
|
||||
|
||||
{0x03, 0x00,},
|
||||
{0x01, 0x01,}, // Sleep On
|
||||
|
||||
{0x03, 0xc1,},
|
||||
{0x10, 0x07,}, // ssd tranfer enable
|
||||
|
||||
///////////////////////////////////////////
|
||||
// Scaler 352_288
|
||||
///////////////////////////////////////////
|
||||
{0x03, 0x19,},
|
||||
{0x10, 0x00,}, //hw scaler off
|
||||
{0x14, 0x03,}, //sawtooth on 320_240 176_144 pre filter //Bit[5] on
|
||||
|
||||
//Scaler
|
||||
{0x03, 0xc0,},
|
||||
{0xa0, 0x00,}, //fw scaler off
|
||||
{0xa2, 0x01,}, //width
|
||||
{0xa3, 0x60,},
|
||||
{0xa4, 0x01,}, //height
|
||||
{0xa5, 0x20,},
|
||||
|
||||
{0xa1, 0x00,}, //zoom step
|
||||
{0xa0, 0xc0,}, //fw scaler on
|
||||
|
||||
{0x03, 0x19,},
|
||||
{0x10, 0x07,}, //hw scaler on
|
||||
|
||||
///////////////////////////////////////////
|
||||
// 05 Page MIPI Size
|
||||
///////////////////////////////////////////
|
||||
{0x03, 0x05,}, // Page05
|
||||
|
||||
{0x30, 0x02,}, // l_pkt_wc_h // Pre = 352 * 2 (YUV)
|
||||
{0x31, 0xc0,}, // l_pkt_wc_l
|
||||
//------------------------------------//
|
||||
|
||||
{0x03, 0x00,},
|
||||
{0x1e, 0x01,}, // frame update
|
||||
{0x01, 0x00,}, // Sleep Off
|
||||
|
||||
{0xff, 0x01,}, //delay 10ms
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_preview_800_480[] ={
|
||||
{0x03, 0xc1,},
|
||||
{0x10, 0x06,}, // ssd tranfer disable
|
||||
|
|
|
@ -36442,7 +36442,6 @@ static struct msm_camera_i2c_reg_conf sr352_50hz_setting[] = {
|
|||
{0x03, 0xc7,},
|
||||
{0x10, 0x70,}, //AE Off (Band Off) 50hz 70, 60hz 50
|
||||
{0x12, 0x30,}, // Fast speed
|
||||
{0x13, 0x61,},
|
||||
{0x15, 0xc0,}, // SSD Patch Weight Y Mean On
|
||||
|
||||
{0x1e, 0x03,}, // Band1 Step
|
||||
|
@ -36607,7 +36606,6 @@ static struct msm_camera_i2c_reg_conf sr352_60hz_setting[] = {
|
|||
{0x03, 0xc7,},
|
||||
{0x10, 0x50,}, //AE Off (Band Off) 50hz 70, 60hz 50
|
||||
{0x12, 0x30,}, // Fast speed
|
||||
{0x13, 0x61,},
|
||||
{0x15, 0xc0,}, // SSD Patch Weight Y Mean On
|
||||
|
||||
{0x1e, 0x03,}, // Band1 Step
|
||||
|
@ -36695,7 +36693,7 @@ static struct msm_camera_i2c_reg_conf sr352_HD_60hz_setting[] = {
|
|||
///////////////////////////////////////////////////////////////////////////////
|
||||
//Shutter Setting
|
||||
{0x03, 0xc7,},
|
||||
{0x10, 0x10,}, // AE Off (Band Off) 50hz 30, 60hz 10
|
||||
{0x10, 0x30,}, // AE Off (Band Off) 50hz 30, 60hz 10
|
||||
{0x12, 0x03,}, // Slow AE
|
||||
{0x15, 0xc0,}, // SSD Patch Weight Y Mean On
|
||||
|
||||
|
|
|
@ -37970,78 +37970,6 @@ static struct msm_camera_i2c_reg_conf sr352_StartPreFlash_FlashRegTable1[]={
|
|||
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_StartPreFlash_FlashRegTable1_60Hz[]={
|
||||
|
||||
{0x03, 0xc7}, //SW ExpMax 15fps
|
||||
{0xb3, 0x3f},
|
||||
{0xb4, 0x80},
|
||||
{0xb5, 0x00},
|
||||
{0xb6, 0x00},
|
||||
|
||||
{0xb7, 0x3f},
|
||||
{0xb8, 0x80},
|
||||
{0xb9, 0x00},
|
||||
{0xba, 0x00},
|
||||
|
||||
{0xbb, 0x3f},
|
||||
{0xbc, 0x80},
|
||||
{0xbd, 0x00},
|
||||
{0xbe, 0x00},
|
||||
|
||||
{0x32, 0x00},
|
||||
{0x33, 0x36},
|
||||
{0x34, 0xC9},
|
||||
{0x35, 0x00},
|
||||
{0x6F, 0x08},//SW ExpMaxStep 15fps
|
||||
|
||||
{0x03, 0x20}, //HW ExpMax 15fps
|
||||
{0x24, 0x00},
|
||||
{0x25, 0x36},
|
||||
{0x26, 0xC9},
|
||||
{0x27, 0x00},
|
||||
|
||||
{0x03, 0xD3}, // Adaptive start
|
||||
{0x85, 0x70}, // Cb _Sat_Dark1
|
||||
{0x86, 0x70}, // Cb _Sat_Dark2
|
||||
{0x8B, 0x70}, // Cr _Sat_Dark1
|
||||
{0x8C, 0x70}, // Cr _Sat_Dark2
|
||||
{0xB4, 0x80}, // LSC3_Ind_LowTmp gain g 80
|
||||
{0xB5, 0x80}, // LSC4_Ind_LowTmp gain b 80
|
||||
{0xB6, 0x7A}, // LSC5_Ind_LowTmp gain r 82
|
||||
{0xBA, 0x80}, // LSC3_Ind_MiddleTmp gain g 80
|
||||
{0xBB, 0x80}, // LSC4_Ind_MiddleTmp gain b 80
|
||||
{0xBC, 0x6E}, // LSC5_Ind_MiddleTmp gain r 74
|
||||
{0xC0, 0x80}, // LSC3_Ind_HighTmp gain g 80
|
||||
{0xC1, 0x80}, // LSC4_Ind_HighTmp gain b 80
|
||||
{0xC2, 0x6E}, // LSC5_Ind_HighTmp gain r 74
|
||||
{0xC6, 0x84}, // LSC3_Dark1_LowTmp gain g 68
|
||||
{0xC7, 0x84}, // LSC4_Dark1_LowTmp gain b 65
|
||||
{0xC8, 0x6A}, // LSC5_Dark1_LowTmp gain r 62
|
||||
{0xCC, 0x84}, // LSC3_Dark1_MiddleTmp gain g 68
|
||||
{0xCD, 0x84}, // LSC4_Dark1_MiddleTmp gain b 65
|
||||
{0xCE, 0x6A}, // LSC5_Dark1_MiddleTmp gain r 62
|
||||
{0xD2, 0x84}, // LSC3_Dark1_HighTmp gain g 68
|
||||
{0xD3, 0x84}, // LSC4_Dark1_HighTmp gain b 65
|
||||
{0xD4, 0x6A}, // LSC5_Dark1_HighTmp gain r 62
|
||||
{0xD8, 0x84}, // LSC3_Dark2 gain g 68
|
||||
{0xD9, 0x84}, // LSC4_Dark2 gain b 65
|
||||
{0xDA, 0x6A}, // LSC5_Dark2 gain r 52
|
||||
|
||||
{0x03, 0x00},
|
||||
{0xFF, 0x23}, // 350ms delay(unit=10ms)
|
||||
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0x50},
|
||||
{0x03, 0xC8},
|
||||
{0x10, 0x00},
|
||||
|
||||
{0x03, 0xCF},
|
||||
{0x2C, 0x06},
|
||||
|
||||
{0xFF, 0x0A}, // 100ms delay(unit=10ms)
|
||||
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_ReadyPreFlash_FlashRegTable2[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0xF0}, //AE on
|
||||
|
@ -38110,74 +38038,6 @@ static struct msm_camera_i2c_reg_conf sr352_ReadyPreFlash_FlashRegTable2[]={
|
|||
{0x10, 0xD3},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_ReadyPreFlash_FlashRegTable2_60Hz[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0xD0}, //AE on 60Hz
|
||||
{0x12, 0x70}, //AE Speed Hi
|
||||
{0x03, 0xC8},
|
||||
{0x10, 0x00},
|
||||
{0x14, 0x8F},
|
||||
{0x17, 0x77}, //AWB speed1
|
||||
{0x18, 0x77}, //AWB speed2
|
||||
{0x22, 0x80}, //AWB MaxStepInc
|
||||
{0x91, 0x20},
|
||||
{0x92, 0x20},
|
||||
{0x03, 0xCA},
|
||||
{0xA1, 0x80},
|
||||
{0xA2, 0x00},
|
||||
{0xA3, 0x00},
|
||||
{0x03, 0xC8},
|
||||
|
||||
{0xEB, 0x11}, //Indoor_aCtmpWgt
|
||||
{0xEC, 0x11}, //Indoor_aCtmpWgt_a01
|
||||
{0xED, 0x11}, //Indoor_aCtmpWgt_a02
|
||||
{0xEE, 0x11}, //Indoor_aCtmpWgt_a03
|
||||
{0xEF, 0x11}, //Indoor_aCtmpWgt_a04
|
||||
{0xF0, 0x11}, //Indoor_aCtmpWgt_a05
|
||||
{0xF1, 0x11}, //Indoor_aCtmpWgt_a06
|
||||
{0xF2, 0x11}, //Indoor_aCtmpWgt_a07
|
||||
{0xF3, 0x11}, //Indoor_aCtmpWgt_a08
|
||||
{0xF4, 0x12}, //Indoor_aCtmpWgt_a09
|
||||
{0xF5, 0x64}, //Indoor_aCtmpWgt_a10
|
||||
{0xF6, 0x11}, //Indoor_aCtmpWgt_a11
|
||||
{0xF7, 0x18}, //Indoor_aCtmpWgt_a12
|
||||
{0xF8, 0xFA}, //Indoor_aCtmpWgt_a13
|
||||
{0xF9, 0x11}, //Indoor_aCtmpWgt_a14
|
||||
{0xFA, 0x48}, //Indoor_aCtmpWgt_a15
|
||||
{0xFB, 0x82}, //Indoor_aCtmpWgt_a16
|
||||
{0xFC, 0x11}, //Indoor_aCtmpWgt_a17
|
||||
{0xFD, 0x11}, //Indoor_aCtmpWgt_a18
|
||||
|
||||
{0x03, 0xC9}, //c9 page
|
||||
|
||||
{0x10, 0x11}, //Indoor_aCtmpWgt_a19
|
||||
{0x11, 0x11}, //Indoor_aCtmpWgt_a20
|
||||
{0x12, 0x11}, //Indoor_aCtmpWgt_a21
|
||||
{0x13, 0x11}, //Indoor_aCtmpWgt_a22
|
||||
{0x14, 0x11}, //Indoor_aCtmpWgt_a23
|
||||
{0x15, 0x10}, //Indoor_aCtmpWgt_a24
|
||||
|
||||
{0x2B, 0x28}, //Indoor_aRgTgtOfs
|
||||
{0x2C, 0x24}, //Indoor_aRgTgtOfs_a01
|
||||
{0x2D, 0x20}, //Indoor_aRgTgtOfs_a02
|
||||
{0x2E, 0x1C}, //Indoor_aRgTgtOfs_a03 //h80->h84 Hando Extend MaxMax choi 0618
|
||||
{0x2F, 0x18}, //Indoor_aRgTgtOfs_a04 //h04->h00 choi 0618
|
||||
{0x30, 0xB0}, //Indoor_aBgTgtOfs
|
||||
{0x31, 0xAC}, //Indoor_aBgTgtOfs_a01
|
||||
{0x32, 0xA4}, //Indoor_aBgTgtOfs_a02
|
||||
{0x33, 0x9C}, //Indoor_aBgTgtOfs_a03 //h84->h8a Hando Extend MaxMax choi 0618
|
||||
{0x34, 0x90}, //Indoor_aBgTgtOfs_a04 //h00->h84 0618 choi
|
||||
{0x35, 0x38}, //bRgDefTgt //indoor
|
||||
{0x36, 0x00}, //bBgDefTgt //indoor
|
||||
|
||||
{0x03, 0xCA},
|
||||
{0x23, 0x00}, //0x92 //bRgDefTgt //Outdoor
|
||||
{0x24, 0x8D}, //0x8D //bBgDefTgt //Outdoor
|
||||
{0x03, 0xC8},
|
||||
{0x11, 0xC1},
|
||||
{0x10, 0xD3},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_AfterPreFlash_FlashRegTable3[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0x70}, // AE Off 50hz 70, 60hz 50
|
||||
|
@ -38186,14 +38046,6 @@ static struct msm_camera_i2c_reg_conf sr352_AfterPreFlash_FlashRegTable3[]={
|
|||
{0xFF, 0x0D}, // 130ms delay(unit=10ms)
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_AfterPreFlash_FlashRegTable3_60Hz[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0x50}, // AE Off 50hz 70, 60hz 50
|
||||
{0x03, 0xC8}, // AWB Off
|
||||
{0x10, 0x52},
|
||||
{0xFF, 0x0D}, // 130ms delay(unit=10ms)
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_EndPreFlash_FlashRegTable4[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0xF0}, // AE ON
|
||||
|
@ -38202,13 +38054,6 @@ static struct msm_camera_i2c_reg_conf sr352_EndPreFlash_FlashRegTable4[]={
|
|||
{0xFF, 0x0D}, // 130ms delay(unit=10ms)
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_EndPreFlash_FlashRegTable4_60Hz[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0xD0}, // AE ON
|
||||
{0x03, 0xC8}, // AWB ON
|
||||
{0x10, 0xD2},
|
||||
{0xFF, 0x0D}, // 130ms delay(unit=10ms)
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_AfterPreFlash_FlashRegTable4_1[]={
|
||||
{0x03, 0xC7},
|
||||
|
@ -38220,16 +38065,6 @@ static struct msm_camera_i2c_reg_conf sr352_AfterPreFlash_FlashRegTable4_1[]={
|
|||
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_AfterPreFlash_FlashRegTable4_1_60Hz[]={
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0x50}, // AE Off 50hz 70, 60hz 50
|
||||
{0x03, 0xC8}, // AWB Off
|
||||
{0x10, 0x52},
|
||||
|
||||
{0xFF, 0x0D}, // 130ms delay(unit=10ms)
|
||||
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_StartMainFlash_FlashRegTable5[]={
|
||||
{0xFF, 0x01}, // Array end flag
|
||||
|
||||
|
@ -38372,143 +38207,6 @@ static struct msm_camera_i2c_reg_conf sr352_AfterMainFlash_FlashRegTable6[]={
|
|||
{0x24, 0x8D}, // bBgDefTgt //Outdoor
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_AfterMainFlash_FlashRegTable6_60Hz[]={
|
||||
|
||||
{0x03, 0xC1},
|
||||
{0x10, 0x06}, // ssd tranfer disable
|
||||
|
||||
{0x03, 0xc7},
|
||||
{0xb3, 0x40},
|
||||
{0xb4, 0x12},
|
||||
{0xb5, 0x00},
|
||||
{0xb6, 0x00},
|
||||
|
||||
{0xb7, 0x40},
|
||||
{0xb8, 0x26},
|
||||
{0xb9, 0x00},
|
||||
{0xba, 0x00},
|
||||
|
||||
{0xbb, 0x40},
|
||||
{0xbc, 0x70},
|
||||
{0xbd, 0x00},
|
||||
{0xbe, 0x00},
|
||||
|
||||
{0x03, 0xc7}, // SW ExpMax 8fps
|
||||
{0x32, 0x00},
|
||||
{0x33, 0x66},
|
||||
{0x34, 0xB8},
|
||||
{0x35, 0xE0},
|
||||
{0x6F, 0x0F}, //SW ExpMaxStep 8fps
|
||||
|
||||
{0x03, 0x20}, //HW ExpMax 8fps
|
||||
{0x24, 0x00},
|
||||
{0x25, 0x66},
|
||||
{0x26, 0xB8},
|
||||
{0x27, 0xE0},
|
||||
|
||||
{0x03, 0xCA},
|
||||
{0xA1, 0x00},
|
||||
{0xA3, 0x00},
|
||||
{0x03, 0x26},
|
||||
{0x30, 0x28}, // Preview // sleep off
|
||||
{0x03, 0xC7},
|
||||
{0x10, 0x50},
|
||||
{0x03, 0xC8},
|
||||
{0x10, 0x00},
|
||||
{0x03, 0xD3}, // Adaptive
|
||||
{0x83, 0x98}, // Cb_Outdoor
|
||||
{0x84, 0x95}, // Cb _Sat_Indoor
|
||||
{0x85, 0xA0}, // Cb _Sat_Dark1
|
||||
{0x86, 0x8A}, // Cb _Sat_Dark2
|
||||
{0x87, 0x88}, // Cb _Sat_LowTemp
|
||||
{0x88, 0x96}, // Cb _Sat_HighTemp
|
||||
{0x89, 0x88}, // Cr _Sat_Outdoor
|
||||
{0x8A, 0x90}, // Cr _Sat_Indoor
|
||||
{0x8B, 0xA0}, // Cr _Sat_Dark1
|
||||
{0x8C, 0x84}, // Cr _Sat_Dark2
|
||||
{0x8D, 0x75}, // Cr _Sat_LowTemp
|
||||
{0x8E, 0x96}, // Cr _Sat_HighTemp
|
||||
{0xB4, 0x80}, // LSC3_Ind_LowTmp gain g
|
||||
{0xB5, 0x80}, // LSC4_Ind_LowTmp gain b
|
||||
{0xB6, 0x82}, // LSC5_Ind_LowTmp gain r
|
||||
{0xBA, 0x80}, // LSC3_Ind_MiddleTmp gain g
|
||||
{0xBB, 0x80}, // LSC4_Ind_MiddleTmp gain b
|
||||
{0xBC, 0x74}, // LSC5_Ind_MiddleTmp gain r
|
||||
{0xC0, 0x80}, // LSC3_Ind_HighTmp gain g
|
||||
{0xC1, 0x80}, // LSC4_Ind_HighTmp gain b
|
||||
{0xC2, 0x74}, // LSC5_Ind_HighTmp gain r
|
||||
{0xC6, 0x68}, // LSC3_Dark1_LowTmp gain g
|
||||
{0xC7, 0x65}, // LSC4_Dark1_LowTmp gain b
|
||||
{0xC8, 0x62}, // LSC5_Dark1_LowTmp gain r
|
||||
{0xCC, 0x68}, // LSC3_Dark1_MiddleTmp gain g
|
||||
{0xCD, 0x65}, // LSC4_Dark1_MiddleTmp gain b
|
||||
{0xCE, 0x62}, // LSC5_Dark1_MiddleTmp gain r
|
||||
{0xD2, 0x68}, // LSC3_Dark1_HighTmp gain g
|
||||
{0xD3, 0x65}, // LSC4_Dark1_HighTmp gain b
|
||||
{0xD4, 0x62}, // LSC5_Dark1_HighTmp gain r
|
||||
{0xD8, 0x68}, // LSC3_Dark2 gain g
|
||||
{0xD9, 0x65}, // LSC4_Dark2 gain b
|
||||
{0xDA, 0x62}, // LSC5_Dark2 gain r
|
||||
|
||||
{0x03, 0xC8}, // AWB Speed option recovery form Flash AWB
|
||||
{0x14, 0x9F},
|
||||
{0x17, 0x34}, // AWB speed1
|
||||
{0x18, 0x55}, // AWB speed2
|
||||
{0x22, 0x30}, // AWB MaxStep
|
||||
{0x03, 0xC8},
|
||||
|
||||
{0xEB, 0x11}, // Indoor_aCtmpWgt
|
||||
{0xEC, 0x11}, // Indoor_aCtmpWgt_a01
|
||||
{0xED, 0x12}, // Indoor_aCtmpWgt_a02
|
||||
{0xEE, 0x11}, // Indoor_aCtmpWgt_a03
|
||||
{0xEF, 0x11}, // Indoor_aCtmpWgt_a04
|
||||
{0xF0, 0x33}, // Indoor_aCtmpWgt_a05
|
||||
{0xF1, 0x11}, // Indoor_aCtmpWgt_a06
|
||||
{0xF2, 0x14}, // Indoor_aCtmpWgt_a07
|
||||
{0xF3, 0x43}, // Indoor_aCtmpWgt_a08
|
||||
{0xF4, 0x11}, // Indoor_aCtmpWgt_a09
|
||||
{0xF5, 0x55}, // Indoor_aCtmpWgt_a10
|
||||
{0xF6, 0x41}, // Indoor_aCtmpWgt_a11
|
||||
{0xF7, 0x16}, // Indoor_aCtmpWgt_a12
|
||||
{0xF8, 0x65}, // Indoor_aCtmpWgt_a13
|
||||
{0xF9, 0x11}, // Indoor_aCtmpWgt_a14
|
||||
{0xFA, 0x48}, // Indoor_aCtmpWgt_a15
|
||||
{0xFB, 0x61}, // Indoor_aCtmpWgt_a16
|
||||
{0xFC, 0x11}, // Indoor_aCtmpWgt_a17
|
||||
{0xFD, 0x46}, // Indoor_aCtmpWgt_a18
|
||||
|
||||
{0x03, 0xC9}, // c9 page
|
||||
|
||||
{0x10, 0x11}, // Indoor_aCtmpWgt_a19
|
||||
{0x11, 0x11}, // Indoor_aCtmpWgt_a20
|
||||
{0x12, 0x23}, // Indoor_aCtmpWgt_a21
|
||||
{0x13, 0x11}, // Indoor_aCtmpWgt_a22
|
||||
{0x14, 0x11}, // Indoor_aCtmpWgt_a23
|
||||
{0x15, 0x10}, // Indoor_aCtmpWgt_a24
|
||||
|
||||
{0x26, 0x3E}, // Indoor_aTgtAngle
|
||||
{0x27, 0x42}, // Indoor_aTgtAngle_a01
|
||||
{0x28, 0x4D}, // Indoor_aTgtAngle_a02
|
||||
{0x29, 0x52}, // Indoor_aTgtAngle_a03 //h50->h4e Hando Extend MaxMax choi 0618
|
||||
{0x2A, 0x77}, // Indoor_aTgtAngle_a04
|
||||
{0x2B, 0x12}, // Indoor_aRgTgtOfs
|
||||
{0x2C, 0x90}, // Indoor_aRgTgtOfs_a01
|
||||
{0x2D, 0x90}, // Indoor_aRgTgtOfs_a02
|
||||
{0x2E, 0x05}, // Indoor_aRgTgtOfs_a03 //h80->h84 Hando Extend MaxMax choi 0618
|
||||
{0x2F, 0x0E}, // Indoor_aRgTgtOfs_a04 //h04->h00 choi 0618
|
||||
{0x30, 0xCC}, // Indoor_aBgTgtOfs
|
||||
{0x31, 0xA7}, // Indoor_aBgTgtOfs_a01
|
||||
{0x32, 0xA7}, // Indoor_aBgTgtOfs_a02
|
||||
{0x33, 0x82}, // Indoor_aBgTgtOfs_a03 //h84->h8a Hando Extend MaxMax choi 0618
|
||||
{0x34, 0x83}, // Indoor_aBgTgtOfs_a04 //h00->h84 0618 choi
|
||||
{0x35, 0x24}, // 24 bRgDefTgt //indoor
|
||||
{0x36, 0x00}, // 00bBgDefTgt //indoor
|
||||
|
||||
{0x03, 0xCA},
|
||||
{0x23, 0x92}, // bRgDefTgt //Outdoor
|
||||
{0x24, 0x8D}, // bBgDefTgt //Outdoor
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf sr352_EndMainFlash_FlashRegTable7[]={
|
||||
{0x03, 0xC0}, // AE, AWB frame skip
|
||||
{0x55, 0x04},
|
||||
|
|
|
@ -448,7 +448,7 @@ enum camerab_mode_t {
|
|||
|
||||
struct sensorb_cfg_data {
|
||||
int cfgtype;
|
||||
#if defined(CONFIG_S5K4ECGX) || defined(CONFIG_SR030PC50) || defined(CONFIG_SR352) || defined(CONFIG_SR200PC20) || defined(CONFIG_SR130PC20)
|
||||
#if defined(CONFIG_SEC_ATLANTIC_PROJECT)
|
||||
int flicker_type;
|
||||
#endif
|
||||
union {
|
||||
|
|
Loading…
Reference in a new issue