예제 #1
0
/*
================================================================================
FUNCTION
================================================================================
*/
void camsensor_icp_hd_tup_init (int8_t *stream)
{
#if 0
    int8_t *stream = NULL;
#endif
    CAM_INFO(">>%s ()", __func__);

    icp_hd_tup_init();
#if 0
    stream = icp_hd_tup_load_file();
#endif
    if (stream == NULL)
    {
        CAM_INFO("<<%s ()", __func__);
        return;
    }
    CAM_INFO("TUNEUP file is loaded!");

    icp_hd_tup_load_params((const int8_t *)stream);
    CAM_INFO("TUNEUP params are loaded!");

    kfree(stream);

    CAM_INFO("<<%s ()", __func__);
    return;
}
예제 #2
0
static int icp_hd_reset(int set)
{
	int rc = 0;

	rc = gpio_tlmm_config(GPIO_CFG(SENSOR_RESET_8M, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),GPIO_CFG_ENABLE);

	if (!rc) {
		CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
		gpio_set_value(SENSOR_RESET_8M,0);		
		if(set){
			gpio_set_value(SENSOR_RESET_8M,1);		
		}
	}
	else{
		CAM_ERR("icp_hd_reset gpio_tlmm_config Failed!\n");
		goto reset_fail;
	}

	CAM_INFO("%s %s Success:%d\n", __FILE__, __func__, __LINE__);
	return rc;

reset_fail:
	CAM_ERR("%s %s Failed!:%d\n", __FILE__, __func__, __LINE__);
	return rc;
}
예제 #3
0
/*
================================================================================
FUNCTION
================================================================================
*/
static void yacbac1sddas_tup_init (void)
{
    CAM_INFO(">>%s ()", __func__);

    yacbac1sddas_tup_init_num_params = 0;
    memset(yacbac1sddas_tup_init_params, 0, sizeof(yacbac1sddas_tup_init_params));

    memset(yacbac1sddas_tup_wb_num_params, 0, sizeof(yacbac1sddas_tup_wb_num_params));
    memset(yacbac1sddas_tup_wb_params, 0, sizeof(yacbac1sddas_tup_wb_params));

    memset(yacbac1sddas_tup_bright_num_params, 0, sizeof(yacbac1sddas_tup_bright_num_params));
    memset(yacbac1sddas_tup_bright_params, 0, sizeof(yacbac1sddas_tup_bright_params));

    memset(yacbac1sddas_tup_exposure_num_params, 0, sizeof(yacbac1sddas_tup_exposure_num_params));
    memset(yacbac1sddas_tup_exposure_params, 0, sizeof(yacbac1sddas_tup_exposure_params));

    memset(yacbac1sddas_tup_ffps_num_params, 0, sizeof(yacbac1sddas_tup_ffps_num_params));
    memset(yacbac1sddas_tup_ffps_params, 0, sizeof(yacbac1sddas_tup_ffps_params));

    memset(yacbac1sddas_tup_reflect_num_params, 0, sizeof(yacbac1sddas_tup_reflect_num_params));
    memset(yacbac1sddas_tup_reflect_params, 0, sizeof(yacbac1sddas_tup_reflect_params));

    memset(yacbac1sddas_tup_effect_num_params, 0, sizeof(yacbac1sddas_tup_effect_num_params));
    memset(yacbac1sddas_tup_effect_params, 0, sizeof(yacbac1sddas_tup_effect_params));

    memset(yacbac1sddas_tup_flicker_num_params, 0, sizeof(yacbac1sddas_tup_flicker_num_params));
    memset(yacbac1sddas_tup_flicker_params, 0, sizeof(yacbac1sddas_tup_flicker_params));

    CAM_INFO("<<%s ()", __func__);
    return;
}
예제 #4
0
static int s5k6aafx13_reset(int set)//const struct msm_camera_sensor_info *dev)
{
	int rc = 0;

	//rc = gpio_request(dev->sensor_reset, "s5k6aafx13");
	rc = gpio_tlmm_config(GPIO_CFG(SENSOR_RESET, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),GPIO_CFG_ENABLE);

	if (!rc) {
		CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
		gpio_set_value(SENSOR_RESET,0);
		//rc = gpio_direction_output(137, 0);
		mdelay(20);
		if(set) {
			gpio_set_value(SENSOR_RESET,1);
		}
		//rc = gpio_direction_output(137, 1);
	}

	//standby
	rc = gpio_tlmm_config(GPIO_CFG(SENSOR_STANDBY, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),GPIO_CFG_ENABLE);

	if (!rc) {
		CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
		gpio_set_value(SENSOR_STANDBY,set);
		//rc = gpio_direction_output(137, 0);
		mdelay(20);		
	}

	//gpio_free(dev->sensor_reset);
	return rc;
}
예제 #5
0
static int s5k6aafx13_vreg_init()
{
	int rc;
	CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
#if 0
	lvs3b_1p8v = regulator_get(NULL, "8901_mvs0");//"8901_lvs3");
	if (IS_ERR(lvs3b_1p8v)) {
		CAM_ERR("regulator_get lvs2b_1p8v fail\n" );;
		return -ENODEV;
	}
	
	lvs2b_1p8v = regulator_get(NULL, "8901_lvs2");
	if (IS_ERR(lvs2b_1p8v)) {
		CAM_ERR("regulator_get lvs2b_1p8v fail\n" );;
		return -ENODEV;
	}
#endif	
	l1b_2p8v = regulator_get(NULL, "8901_l1");
	if (IS_ERR(l1b_2p8v)) {
		CAM_ERR("regulator_get l1b_2p8v fail\n" );;
		return -ENODEV;
	}
	rc = regulator_set_voltage(l1b_2p8v, 2800000, 2800000);
	if (rc) {
		CAM_ERR("%s: unable to set l1b_2p8v voltage to 2.8V\n", __func__);
		goto fail;
	}
	
	l15a_1p5v = regulator_get(NULL, "8058_l15");
	if (IS_ERR(l15a_1p5v)) {
		CAM_ERR("regulator_get l15a_1p5v fail\n" );;
		return -ENODEV;
	}	
	rc = regulator_set_voltage(l15a_1p5v, 1500000, 1500000);
	if (rc) {
		CAM_ERR("%s: unable to set l15a_1p5v voltage to 1.5V\n", __func__);
		goto fail;
	}
	
	lvs1b_1p8v = regulator_get(NULL, "8901_lvs1");
	if (IS_ERR(lvs1b_1p8v)) {
		CAM_ERR("regulator_get lvs1b_1p8v fail\n" );;
		return -ENODEV;
	}	
	
	CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
	return rc;
fail:
	CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
	if(l15a_1p5v) {
	regulator_put(l15a_1p5v);
	}
	if(l1b_2p8v) {
	regulator_put(l1b_2p8v);
	}
	return rc;	
}
예제 #6
0
static int mt9v113_power(int on)
{
	int rc = 0;
	int status = 0;
	//CAM_INFO("%s %s:%d power = %d\n", __FILE__, __func__, __LINE__,on);
	if(on) {
		rc = regulator_enable(lvs3b_1p8v);
		if (rc) {
			CAM_ERR("%s: Enable regulator lvs3b_1p8v failed\n", __func__);
			goto fail;
		}
		msleep(1);
		rc = regulator_enable(lvs1b_1p8v);
		if (rc) {
			CAM_ERR("%s: Enable regulator lvs1b_1p8v failed\n", __func__);
			goto fail;
		}
		msleep(1);
		rc = regulator_enable(l15a_2p8v);
		if (rc) {
			CAM_ERR("%s: Enable regulator l15a_2p8v failed\n", __func__);
			goto fail;
		}
		msleep(1);
	}
	else {
		rc = regulator_disable(l15a_2p8v);
		if (rc)
			CAM_INFO("%s: Disable regulator l15a_2p8v failed\n", __func__);
		regulator_put(l15a_2p8v);
		
		rc = regulator_disable(lvs3b_1p8v);
		if (rc)
			CAM_ERR("%s: Disable regulator lvs3b_1p8v failed\n", __func__);
		rc = regulator_disable(lvs1b_1p8v);
		if (rc)
			CAM_ERR("%s: Disable regulator lvs1b_1p8v failed\n", __func__);
	}
	//CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);

	status = gpio_tlmm_config(GPIO_CFG(SENSOR_RESET, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA),GPIO_CFG_ENABLE);

	if (!status) 
    {
		//CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
		gpio_set_value(SENSOR_RESET,0);
	}
	
	return rc;
fail:
	CAM_INFO("%s %s:%d\n", __FILE__, __func__, __LINE__);
	if(l15a_2p8v)
		regulator_put(l15a_2p8v);
	return rc;			
}
예제 #7
0
/*
================================================================================
FUNCTION
================================================================================
*/
static void mt9p111_tup_load_params (const int8_t *stream)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- stream = 0x%08x", stream, 0, 0);

    mt9p111_tup_load_init_params(stream);
    mt9p111_tup_load_wb_params(stream);
    mt9p111_tup_load_bright_params(stream);

    CAM_INFO("<<%s ()", __func__);
    return;
}
예제 #8
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_init_params
(
    icp_hd_cfg_param_t **init_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- *init_params = 0x%08x", *init_params, 0);

    *init_params = &icp_hd_tup_init_params[0];
    CAM_INFO("<<%s (%d) (0x%08x)", __func__, icp_hd_tup_init_num_params, *init_params);

    return icp_hd_tup_init_num_params;
}
예제 #9
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_yacbac1sddas_tup_get_init_params
(
    yacbac1sddas_cfg_param_t **init_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- *init_params = 0x%08x", *init_params, 0);

    *init_params = &yacbac1sddas_tup_init_params[0];
    CAM_INFO("<<%s (%d) (0x%08x)", __func__, yacbac1sddas_tup_init_num_params, *init_params);

    return yacbac1sddas_tup_init_num_params;
}
예제 #10
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_init_params
(
    mt9p111_cfg_param_t **init_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- *init_params = 0x%08x", *init_params, 0);

    *init_params = &mt9p111_tup_init_params[0];
    CAM_INFO("<<%s (%d) (0x%08x)", __func__, mt9p111_tup_init_num_params, *init_params);

    return mt9p111_tup_init_num_params;
}
예제 #11
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_all_params
(
    mt9p111_tup_params *params_struct_prt
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- *params_struct = 0x%08x", params_struct_prt, 0, 0);
    
    params_struct_prt->mt9p111_tup_init_params = &mt9p111_tup_init_params[0];
    params_struct_prt->mt9p111_tup_wb_params = &mt9p111_tup_wb_params[0][0];
    params_struct_prt->mt9p111_tup_bright_params = &mt9p111_tup_bright_params[0][0];

    CAM_INFO("<<%s (0x%08x) (0x%08x)", __func__, params_struct_prt->mt9p111_tup_init_params, &mt9p111_tup_init_params[0]);
    return mt9p111_tup_init_num_params;
}
예제 #12
0
/*
================================================================================
FUNCTION
================================================================================
*/
static void mt9p111_tup_init (void)
{
    CAM_INFO(">>%s ()", __func__);

    mt9p111_tup_init_num_params = 0;
    pdata_init_count = 0;	 // for burst mode initialize 
    memset(mt9p111_tup_init_params, 0, sizeof(mt9p111_tup_init_params));

    memset(mt9p111_tup_wb_num_params, 0, sizeof(mt9p111_tup_wb_num_params));
    memset(mt9p111_tup_wb_params, 0, sizeof(mt9p111_tup_wb_params));

    memset(mt9p111_tup_bright_num_params, 0, sizeof(mt9p111_tup_bright_num_params));
    memset(mt9p111_tup_bright_params, 0, sizeof(mt9p111_tup_bright_params));

    CAM_INFO("<<%s ()", __func__);
    return;
}
예제 #13
0
/*
================================================================================
FUNCTION
================================================================================
*/
static void yacbac1sddas_tup_load_params (const int8_t *stream)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- stream = 0x%08x", stream, 0, 0);

    yacbac1sddas_tup_load_init_params(stream);
    yacbac1sddas_tup_load_wb_params(stream);
    yacbac1sddas_tup_load_bright_params(stream);
    yacbac1sddas_tup_load_exposure_params(stream);
    yacbac1sddas_tup_load_ffps_params(stream);
#if 0
    yacbac1sddas_tup_load_reflect_params(stream);
    yacbac1sddas_tup_load_effect_params(stream);
    yacbac1sddas_tup_load_flicker_params(stream);
#endif	
    CAM_INFO("<<%s ()", __func__);
    return;
}
예제 #14
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_all_params
(
    icp_hd_tup_params *params_struct_prt
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- *params_struct = 0x%08x", params_struct_prt, 0, 0);
    
    params_struct_prt->icp_hd_tup_init_params = &icp_hd_tup_init_params[0];
    params_struct_prt->icp_hd_tup_wb_params = &icp_hd_tup_wb_params[0][0];
    params_struct_prt->icp_hd_tup_bright_params = &icp_hd_tup_bright_params[0][0];
    params_struct_prt->icp_hd_tup_exposure_params = &icp_hd_tup_exposure_params[0][0];
    params_struct_prt->icp_hd_tup_ffps_params = &icp_hd_tup_ffps_params[0][0];
    params_struct_prt->icp_hd_tup_reflect_params = &icp_hd_tup_reflect_params[0][0];
    params_struct_prt->icp_hd_tup_effect_params = &icp_hd_tup_effect_params[0][0];

    CAM_INFO("<<%s (0x%08x) (0x%08x)", __func__, params_struct_prt->icp_hd_tup_init_params, &icp_hd_tup_init_params[0]);
    return icp_hd_tup_init_num_params;
}
예제 #15
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_antishake_params
(
    icp_hd_cfg_antishake_e antishake,
    icp_hd_cfg_param_t **antishake_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- antishake = %d, *antishake_params = 0x%08X", antishake, *antishake_params, 0);

    if ((antishake < ICP_HD_CFG_ANTISHAKE_OFF) || (antishake >= ICP_HD_CFG_ANTISHAKE_MAX))
    {
        CAM_INFO("Invalid param! [antishake = %d]", antishake, 0, 0);
        return 0;
    }

    *antishake_params = &icp_hd_tup_antishake_params[antishake][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_antishake_num_params[antishake], *antishake_params);

    return icp_hd_tup_antishake_num_params[antishake];
}
예제 #16
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_effect_params
(
    icp_hd_cfg_effect_e effect,
    icp_hd_cfg_param_t **effect_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- effect = %d, *effect_params = 0x%08X", effect, *effect_params, 0);

    if ((effect < ICP_HD_CFG_EFFECT_NONE) || (effect >= ICP_HD_CFG_EFFECT_MAX))
    {
        CAM_INFO("Invalid param! [effect = %d]", effect, 0, 0);
        return 0;
    }

    *effect_params = &icp_hd_tup_effect_params[effect][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_effect_num_params[effect], *effect_params);

    return icp_hd_tup_effect_num_params[effect];
}
예제 #17
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_flicker_params
(
    icp_hd_cfg_flicker_e flicker,
    icp_hd_cfg_param_t **flicker_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- flicker = %d, *flicker_params = 0x%08X", flicker, *flicker_params, 0);

    if ((flicker < ICP_HD_CFG_FLICKER_OFF) || (flicker >= ICP_HD_CFG_FLICKER_MAX))
    {
        CAM_INFO("Invalid param! [flicker = %d]", flicker, 0, 0);
        return 0;
    }

    *flicker_params = &icp_hd_tup_flicker_params[flicker][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_flicker_num_params[flicker], *flicker_params);

    return icp_hd_tup_flicker_num_params[flicker];
}
예제 #18
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_ffps_params
(
    u_int32_t ffps,
    icp_hd_cfg_param_t **ffps_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- ffps = %d, *ffps_params = 0x%08X", ffps, *ffps_params, 0);

    if ((ffps < ICP_HD_CFG_FFPS_MIN) || (ffps > ICP_HD_CFG_FFPS_MAX))
    {
        CAM_INFO("Invalid param! [ffps = %d]", ffps, 0, 0);
        return 0;
    }

    *ffps_params = &icp_hd_tup_ffps_params[ffps - ICP_HD_CFG_FFPS_MIN][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_ffps_num_params[ffps - ICP_HD_CFG_FFPS_MIN], *ffps_params);

    return icp_hd_tup_ffps_num_params[ffps - ICP_HD_CFG_FFPS_MIN];
}
예제 #19
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_reflect_params
(
    icp_hd_cfg_reflect_e reflect,
    icp_hd_cfg_param_t **reflect_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- reflect = %d, *reflect_params = 0x%08X", reflect, *reflect_params, 0);

    if ((reflect < ICP_HD_CFG_REFLECT_NONE) || (reflect >= ICP_HD_CFG_REFLECT_MAX))
    {
        CAM_INFO("Invalid param! [reflect = %d]", reflect, 0, 0);
        return 0;
    }

    *reflect_params = &icp_hd_tup_reflect_params[reflect][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_reflect_num_params[reflect], *reflect_params);

    return icp_hd_tup_reflect_num_params[reflect];
}
예제 #20
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_bright_params
(
    icp_hd_cfg_bright_e bright,
    icp_hd_cfg_param_t **bright_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- bright = %d, *bright_params = 0x%08x", bright, *bright_params, 0);

    if ((bright < ICP_HD_CFG_BRIGHT_M5) || (bright >= ICP_HD_CFG_BRIGHT_MAX))
    {
        CAM_INFO("Invalid param! [bright = %d]", bright, 0, 0);
        return 0;
    }

    *bright_params = &icp_hd_tup_bright_params[bright][0];
    CAM_INFO("<<%s (%d) (0x%08x)", __func__, icp_hd_tup_bright_num_params[bright], *bright_params);

    return icp_hd_tup_bright_num_params[bright];
}
예제 #21
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_exposure_params
(
    icp_hd_cfg_exposure_e exposure,
    icp_hd_cfg_param_t **exposure_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- exposure = %d, *exposure_params = 0x%08x", exposure, *exposure_params, 0);

    if ((exposure < ICP_HD_CFG_EXPOSURE_NORMAL) || (exposure >= ICP_HD_CFG_EXPOSURE_MAX))
    {
        CAM_INFO("Invalid param! [exposure = %d]", exposure, 0, 0);
        return 0;
    }

    *exposure_params = &icp_hd_tup_exposure_params[exposure][0];
    CAM_INFO("<<%s (%d) (0x%08x)", __func__, icp_hd_tup_exposure_num_params[exposure], *exposure_params);

    return icp_hd_tup_exposure_num_params[exposure];
}
예제 #22
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_flicker_params
(
    mt9p111_cfg_flicker_e flicker,
    mt9p111_cfg_param_t **flicker_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- flicker = %d, *flicker_params = 0x%08X", flicker, *flicker_params, 0);

    if ((flicker < MT9P111_CFG_FLICKER_OFF) || (flicker >= MT9P111_CFG_FLICKER_MAX))
    {
        CAM_INFO("Invalid param! [flicker = %d]", flicker, 0, 0);
        return 0;
    }

    *flicker_params = &mt9p111_tup_flicker_params[flicker][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, mt9p111_tup_flicker_num_params[flicker], *flicker_params);

    return mt9p111_tup_flicker_num_params[flicker];
}
예제 #23
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_focus_step_params
(
    icp_hd_cfg_focus_step_e focus_step,
    icp_hd_cfg_param_t **focus_step_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- focus_step = %d, *focus_step_params = 0x%08X", focus_step, *focus_step_params, 0);

    if ((focus_step < ICP_HD_CFG_FOCUS_STEP_0) || (focus_step >= ICP_HD_CFG_FOCUS_STEP_MAX))
    {
        CAM_INFO("Invalid param! [focus_step = %d]", focus_step, 0, 0);
        return 0;
    }

    *focus_step_params = &icp_hd_tup_focus_step_params[focus_step][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_focus_step_num_params[focus_step], *focus_step_params);

    return icp_hd_tup_focus_step_num_params[focus_step];
}
예제 #24
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_antishake_params
(
    mt9p111_cfg_antishake_e antishake,
    mt9p111_cfg_param_t **antishake_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- antishake = %d, *antishake_params = 0x%08X", antishake, *antishake_params, 0);

    if ((antishake < MT9P111_CFG_ANTISHAKE_OFF) || (antishake >= MT9P111_CFG_ANTISHAKE_MAX))
    {
        CAM_INFO("Invalid param! [antishake = %d]", antishake, 0, 0);
        return 0;
    }

    *antishake_params = &mt9p111_tup_antishake_params[antishake][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, mt9p111_tup_antishake_num_params[antishake], *antishake_params);

    return mt9p111_tup_antishake_num_params[antishake];
}
예제 #25
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_focus_step_params
(
    mt9p111_cfg_focus_step_e focus_step,
    mt9p111_cfg_param_t **focus_step_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- focus_step = %d, *focus_step_params = 0x%08X", focus_step, *focus_step_params, 0);

    if ((focus_step < MT9P111_CFG_FOCUS_STEP_0) || (focus_step >= MT9P111_CFG_FOCUS_STEP_MAX))
    {
        CAM_INFO("Invalid param! [focus_step = %d]", focus_step, 0, 0);
        return 0;
    }

    *focus_step_params = &mt9p111_tup_focus_step_params[focus_step][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, mt9p111_tup_focus_step_num_params[focus_step], *focus_step_params);

    return mt9p111_tup_focus_step_num_params[focus_step];
}
예제 #26
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_scene_params
(
    mt9p111_cfg_scene_mode_e scene,
    mt9p111_cfg_param_t **scene_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- scene = %d, *scene_params = 0x%08X", scene, *scene_params, 0);

    if ((scene < MT9P111_CFG_SCENE_MODE_OFF) || (scene >= MT9P111_CFG_SCENE_MODE_MAX))
    {
        CAM_INFO("Invalid param! [scene = %d]", scene, 0, 0);
        return 0;
    }

    *scene_params = &mt9p111_tup_scene_params[scene][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, mt9p111_tup_scene_num_params[scene], *scene_params);

    return mt9p111_tup_scene_num_params[scene];
}
예제 #27
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_scene_params
(
    icp_hd_cfg_scene_mode_e scene,
    icp_hd_cfg_param_t **scene_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- scene = %d, *scene_params = 0x%08X", scene, *scene_params, 0);

    if ((scene < ICP_HD_CFG_SCENE_MODE_OFF) || (scene >= ICP_HD_CFG_SCENE_MODE_MAX))
    {
        CAM_INFO("Invalid param! [scene = %d]", scene, 0, 0);
        return 0;
    }

    *scene_params = &icp_hd_tup_scene_params[scene][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, icp_hd_tup_scene_num_params[scene], *scene_params);

    return icp_hd_tup_scene_num_params[scene];
}
예제 #28
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_mt9p111_tup_get_effect_params
(
    mt9p111_cfg_effect_e effect,
    mt9p111_cfg_param_t **effect_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- effect = %d, *effect_params = 0x%08X", effect, *effect_params, 0);

    if ((effect < MT9P111_CFG_EFFECT_NONE) || (effect >= MT9P111_CFG_EFFECT_MAX))
    {
        CAM_INFO("Invalid param! [effect = %d]", effect, 0, 0);
        return 0;
    }

    *effect_params = &mt9p111_tup_effect_params[effect][0];
    CAM_INFO("<<%s (%d) (0x%08X)", __func__, mt9p111_tup_effect_num_params[effect], *effect_params);

    return mt9p111_tup_effect_num_params[effect];
}
예제 #29
0
/*
================================================================================
FUNCTION
================================================================================
*/
static void icp_hd_tup_load_params (const int8_t *stream)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- stream = 0x%08x", stream, 0, 0);

    icp_hd_tup_load_init_params(stream);
    icp_hd_tup_load_wb_params(stream);
    icp_hd_tup_load_bright_params(stream);
    icp_hd_tup_load_exposure_params(stream);
    icp_hd_tup_load_ffps_params(stream);
    //icp_hd_tup_load_reflect_params(stream);
    //icp_hd_tup_load_effect_params(stream);
    icp_hd_tup_load_flicker_params(stream);
    icp_hd_tup_load_antishake_params(stream);
    icp_hd_tup_load_focus_step_params(stream);
    icp_hd_tup_load_scene_params(stream);	

    CAM_INFO("<<%s ()", __func__);
    return;
}
예제 #30
0
/*
================================================================================
FUNCTION
================================================================================
*/
u_int32_t camsensor_icp_hd_tup_get_wb_params
(
    icp_hd_cfg_wb_e wb,
    icp_hd_cfg_param_t **wb_params
)
{
    CAM_INFO(">>%s ()", __func__);
    CAM_INFO("- wb = %d, *wb_params = 0x%08x", wb, *wb_params, 0);

    if ((wb < ICP_HD_CFG_WB_AUTO) || (wb >= ICP_HD_CFG_WB_MAX))
    {
        CAM_INFO("Invalid param! [wb = %d]", wb, 0, 0);
        return 0;
    }

    *wb_params = &icp_hd_tup_wb_params[wb][0];
    CAM_INFO("<<%s (%d) (0x%08x)", __func__, icp_hd_tup_wb_num_params[wb], *wb_params);

    return icp_hd_tup_wb_num_params[wb];
}