summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/media/msm_cam_sensor.h25
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