diff options
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/media/msm_cam_sensor.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/uapi/media/msm_cam_sensor.h b/include/uapi/media/msm_cam_sensor.h index d83e00876fd5..5d340b9a2523 100644 --- a/include/uapi/media/msm_cam_sensor.h +++ b/include/uapi/media/msm_cam_sensor.h @@ -342,6 +342,13 @@ enum msm_actuator_cfg_type_t { CFG_ACTUATOR_INIT, }; +struct msm_ois_opcode { + uint32_t prog; + uint32_t coeff; + uint32_t pheripheral; + uint32_t memory; +}; + enum msm_ois_cfg_type_t { CFG_OIS_INIT, CFG_OIS_POWERDOWN, @@ -350,6 +357,11 @@ enum msm_ois_cfg_type_t { CFG_OIS_I2C_WRITE_SEQ_TABLE, }; +enum msm_ois_cfg_download_type_t { + CFG_OIS_DOWNLOAD, + CFG_OIS_DATA_CONFIG, +}; + enum msm_ois_i2c_operation { MSM_OIS_WRITE = 0, MSM_OIS_POLL, @@ -448,6 +460,11 @@ enum af_camera_name { ACTUATOR_WEB_CAM_2, }; +struct msm_ois_slave_info { + char ois_name[MAX_OIS_NAME_SIZE]; + uint32_t i2c_addr; + struct msm_ois_opcode opcode; +}; struct msm_ois_cfg_data { int cfgtype; union { @@ -456,6 +473,11 @@ struct msm_ois_cfg_data { } cfg; }; +struct msm_ois_cfg_download_data { + int cfgtype; + struct msm_ois_slave_info slave_info; +}; + struct msm_actuator_set_position_t { uint16_t number_of_steps; uint32_t hw_params; @@ -560,5 +582,8 @@ struct sensor_init_cfg_data { #define VIDIOC_MSM_FLASH_CFG \ _IOWR('V', BASE_VIDIOC_PRIVATE + 13, struct msm_flash_cfg_data_t) +#define VIDIOC_MSM_OIS_CFG_DOWNLOAD \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 14, struct msm_ois_cfg_download_data) + #endif |