summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorSureshnaidu Laveti <lsuresh@codeaurora.org>2016-04-27 17:25:11 -0700
committerKyle Yan <kyan@codeaurora.org>2016-06-14 14:45:00 -0700
commitf0c5be8a96d56845c9ad2ef04f348195d4611827 (patch)
tree616aeff02d1146ea66500a67696d01e07c603c0a /include/uapi
parent4e9f522a76cf1a109dd1cbfa02eef13d4a27d46e (diff)
msm: sensor: Add support for downloading OIS coefficient and framework
Add OIS framework and coefficient download in OIS driver. Change-Id: Iff8e1c0367d13bb0d89946d81fb79427b6ef070e Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
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