msm: camera: add support to update sensor output format

Add support to get sensor output info as a part of
slave info.

Change-Id: I821c76d42fc91bcdd9b5f8df7f64a85f36fc4a51
Signed-off-by: Mayank Parashar <mayankp@codeaurora.org>
This commit is contained in:
Mayank Parashar 2015-02-06 12:42:05 +05:30
parent f62f95b715
commit 7fdd6b33e0
3 changed files with 17 additions and 3 deletions

View File

@ -635,6 +635,7 @@ int32_t msm_sensor_driver_probe(void *setting,
struct msm_camera_slave_info *camera_info = NULL;
unsigned long mount_pos = 0;
uint32_t is_yuv;
/* Validate input parameters */
if (!setting) {
@ -706,6 +707,8 @@ int32_t msm_sensor_driver_probe(void *setting,
slave_info32->sensor_init_params;
slave_info->is_flash_supported =
slave_info32->is_flash_supported;
slave_info->output_format =
slave_info32->output_format;
kfree(slave_info32);
} else
#endif
@ -941,9 +944,12 @@ CSID_TG:
goto free_camera_info;
}
/* Update sensor mount angle and position in media entity flag */
mount_pos = s_ctrl->sensordata->sensor_info->position << 16;
mount_pos = mount_pos | ((s_ctrl->sensordata->sensor_info->
sensor_mount_angle / 90) << 8);
is_yuv = (slave_info->output_format == MSM_SENSOR_YCBCR) ? 1 : 0;
mount_pos = is_yuv << 25 |
(s_ctrl->sensordata->sensor_info->position << 16) |
((s_ctrl->sensordata->
sensor_info->sensor_mount_angle / 90) << 8);
s_ctrl->msm_sd.sd.entity.flags = mount_pos | MEDIA_ENT_FL_DEFAULT;
/*Save sensor info*/

View File

@ -327,6 +327,7 @@ struct msm_camera_sensor_slave_info32 {
uint8_t is_init_params_valid;
struct msm_sensor_init_params sensor_init_params;
uint8_t is_flash_supported;
enum msm_sensor_output_format_t output_format;
};
struct msm_camera_csid_lut_params32 {

View File

@ -181,6 +181,12 @@ enum msm_flash_cfg_type_t {
CFG_FLASH_HIGH,
};
enum msm_sensor_output_format_t {
MSM_SENSOR_BAYER,
MSM_SENSOR_YCBCR,
MSM_SENSOR_META,
};
struct msm_sensor_power_setting {
enum msm_sensor_power_seq_type_t seq_type;
unsigned short seq_val;
@ -236,6 +242,7 @@ struct msm_camera_sensor_slave_info {
unsigned char is_init_params_valid;
struct msm_sensor_init_params sensor_init_params;
unsigned char is_flash_supported;
enum msm_sensor_output_format_t output_format;
};
struct msm_camera_i2c_reg_array {