blob: 0028d85149fd95081a8ced850371aeaeadb1e672 [file] [log] [blame]
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
Iliyan Malchev94a144e2009-04-30 12:29:52 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_MSM_CAMERA_H
20#define __LINUX_MSM_CAMERA_H
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070021#ifdef MSM_CAMERA_BIONIC
22#include <sys/types.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070024#endif
25#include <linux/types.h>
Iliyan Malchev94a144e2009-04-30 12:29:52 -070026#include <linux/ioctl.h>
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070027#ifdef MSM_CAMERA_GCC
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#include <time.h>
30#else
31#include <linux/time.h>
32#endif
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#include <linux/ion.h>
35#define BIT(nr) (1UL << (nr))
Iliyan Malchev94a144e2009-04-30 12:29:52 -070036#define MSM_CAM_IOCTL_MAGIC 'm'
Iliyan Malchev07116002009-06-23 20:08:10 -070037#define MSM_CAM_IOCTL_GET_SENSOR_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 1, struct msm_camsensor_info *)
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070039#define MSM_CAM_IOCTL_REGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 2, struct msm_pmem_info *)
Iliyan Malchev07116002009-06-23 20:08:10 -070040#define MSM_CAM_IOCTL_UNREGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 3, unsigned)
Iliyan Malchev07116002009-06-23 20:08:10 -070041#define MSM_CAM_IOCTL_CTRL_COMMAND _IOW(MSM_CAM_IOCTL_MAGIC, 4, struct msm_ctrl_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070042#define MSM_CAM_IOCTL_CONFIG_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 5, struct msm_camera_vfe_cfg_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070044#define MSM_CAM_IOCTL_GET_STATS _IOR(MSM_CAM_IOCTL_MAGIC, 6, struct msm_camera_stats_event_ctrl *)
Iliyan Malchev07116002009-06-23 20:08:10 -070045#define MSM_CAM_IOCTL_GETFRAME _IOR(MSM_CAM_IOCTL_MAGIC, 7, struct msm_camera_get_frame *)
Iliyan Malchev07116002009-06-23 20:08:10 -070046#define MSM_CAM_IOCTL_ENABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 8, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070047#define MSM_CAM_IOCTL_CTRL_CMD_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 9, struct camera_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070049#define MSM_CAM_IOCTL_CONFIG_CMD _IOW(MSM_CAM_IOCTL_MAGIC, 10, struct camera_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070050#define MSM_CAM_IOCTL_DISABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 11, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070051#define MSM_CAM_IOCTL_PAD_REG_RESET2 _IOW(MSM_CAM_IOCTL_MAGIC, 12, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070052#define MSM_CAM_IOCTL_VFE_APPS_RESET _IOW(MSM_CAM_IOCTL_MAGIC, 13, struct camera_enable_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070054#define MSM_CAM_IOCTL_RELEASE_FRAME_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 14, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070055#define MSM_CAM_IOCTL_RELEASE_STATS_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 15, struct msm_stats_buf *)
Iliyan Malchev07116002009-06-23 20:08:10 -070056#define MSM_CAM_IOCTL_AXI_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 16, struct msm_camera_vfe_cfg_cmd *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070057#define MSM_CAM_IOCTL_GET_PICTURE _IOW(MSM_CAM_IOCTL_MAGIC, 17, struct msm_frame *)
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070059#define MSM_CAM_IOCTL_SET_CROP _IOW(MSM_CAM_IOCTL_MAGIC, 18, struct crop_info *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070060#define MSM_CAM_IOCTL_PICT_PP _IOW(MSM_CAM_IOCTL_MAGIC, 19, uint8_t *)
61#define MSM_CAM_IOCTL_PICT_PP_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 20, struct msm_snapshot_pp_status *)
Iliyan Malchev07116002009-06-23 20:08:10 -070062#define MSM_CAM_IOCTL_SENSOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 21, struct sensor_cfg_data *)
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070064#define MSM_CAM_IOCTL_FLASH_LED_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 22, unsigned *)
Iliyan Malchev07116002009-06-23 20:08:10 -070065#define MSM_CAM_IOCTL_UNBLOCK_POLL_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 23)
Iliyan Malchev07116002009-06-23 20:08:10 -070066#define MSM_CAM_IOCTL_CTRL_COMMAND_2 _IOW(MSM_CAM_IOCTL_MAGIC, 24, struct msm_ctrl_cmd *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070067#define MSM_CAM_IOCTL_AF_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 25, struct msm_ctrl_cmt_t *)
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070069#define MSM_CAM_IOCTL_AF_CTRL_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 26, struct msm_ctrl_cmt_t *)
70#define MSM_CAM_IOCTL_CONFIG_VPE _IOW(MSM_CAM_IOCTL_MAGIC, 27, struct msm_camera_vpe_cfg_cmd *)
71#define MSM_CAM_IOCTL_AXI_VPE_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 28, struct msm_camera_vpe_cfg_cmd *)
72#define MSM_CAM_IOCTL_STROBE_FLASH_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 29, uint32_t *)
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define MSM_CAM_IOCTL_STROBE_FLASH_CHARGE _IOW(MSM_CAM_IOCTL_MAGIC, 30, uint32_t *)
75#define MSM_CAM_IOCTL_STROBE_FLASH_RELEASE _IO(MSM_CAM_IOCTL_MAGIC, 31)
76#define MSM_CAM_IOCTL_FLASH_CTRL _IOW(MSM_CAM_IOCTL_MAGIC, 32, struct flash_ctrl_data *)
77#define MSM_CAM_IOCTL_ERROR_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 33, uint32_t *)
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define MSM_CAM_IOCTL_ABORT_CAPTURE _IO(MSM_CAM_IOCTL_MAGIC, 34)
80#define MSM_CAM_IOCTL_SET_FD_ROI _IOW(MSM_CAM_IOCTL_MAGIC, 35, struct fd_roi_info *)
81#define MSM_CAM_IOCTL_GET_CAMERA_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 36, struct msm_camera_info *)
82#define MSM_CAM_IOCTL_UNBLOCK_POLL_PIC_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 37)
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define MSM_CAM_IOCTL_RELEASE_PIC_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 38, struct camera_enable_cmd *)
85#define MSM_CAM_IOCTL_PUT_ST_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 39, struct msm_camera_st_frame *)
86#define MSM_CAM_IOCTL_V4L2_EVT_NOTIFY _IOR(MSM_CAM_IOCTL_MAGIC, 40, struct v4l2_event *)
87#define MSM_CAM_IOCTL_SET_MEM_MAP_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 41, struct msm_mem_map_info *)
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define MSM_CAM_IOCTL_ACTUATOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 42, struct msm_actuator_cfg_data *)
90#define MSM_CAM_IOCTL_MCTL_POST_PROC _IOW(MSM_CAM_IOCTL_MAGIC, 43, struct msm_mctl_post_proc_cmd *)
91#define MSM_CAM_IOCTL_RESERVE_FREE_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 44, struct msm_cam_evt_divert_frame *)
92#define MSM_CAM_IOCTL_RELEASE_FREE_FRAME _IOR(MSM_CAM_IOCTL_MAGIC, 45, struct msm_cam_evt_divert_frame *)
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define MSM_CAM_IOCTL_PICT_PP_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 46, struct msm_pp_frame *)
95#define MSM_CAM_IOCTL_SENSOR_V4l2_S_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 47, struct v4l2_control)
96#define MSM_CAM_IOCTL_SENSOR_V4l2_QUERY_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 48, struct v4l2_queryctrl)
97#define MSM_CAM_IOCTL_GET_KERNEL_SYSTEM_TIME _IOW(MSM_CAM_IOCTL_MAGIC, 49, struct timeval *)
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#define MSM_CAM_IOCTL_SET_VFE_OUTPUT_TYPE _IOW(MSM_CAM_IOCTL_MAGIC, 50, uint32_t *)
100#define MSM_CAM_IOCTL_MCTL_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 51, struct msm_cam_evt_divert_frame *)
101#define MSM_CAM_IOCTL_GET_ACTUATOR_INFO _IOW(MSM_CAM_IOCTL_MAGIC, 52, struct msm_actuator_cfg_data *)
102#define MSM_CAM_IOCTL_EEPROM_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 53, struct msm_eeprom_cfg_data *)
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define MSM_CAM_IOCTL_ISPIF_IO_CFG _IOR(MSM_CAM_IOCTL_MAGIC, 54, struct ispif_cfg_data *)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700105#define MSM_CAM_IOCTL_STATS_REQBUF _IOR(MSM_CAM_IOCTL_MAGIC, 55, struct msm_stats_reqbuf *)
106#define MSM_CAM_IOCTL_STATS_ENQUEUEBUF _IOR(MSM_CAM_IOCTL_MAGIC, 56, struct msm_stats_buf_info *)
107#define MSM_CAM_IOCTL_STATS_FLUSH_BUFQ _IOR(MSM_CAM_IOCTL_MAGIC, 57, struct msm_stats_flush_bufq *)
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define MSM_CAM_IOCTL_SET_MCTL_SDEV _IOW(MSM_CAM_IOCTL_MAGIC, 58, struct msm_mctl_set_sdev_data *)
110#define MSM_CAM_IOCTL_UNSET_MCTL_SDEV _IOW(MSM_CAM_IOCTL_MAGIC, 59, struct msm_mctl_set_sdev_data *)
111#define MSM_CAM_IOCTL_GET_INST_HANDLE _IOR(MSM_CAM_IOCTL_MAGIC, 60, uint32_t *)
112struct msm_stats_reqbuf {
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 int num_buf;
115 int stats_type;
116};
117struct msm_stats_flush_bufq {
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 int stats_type;
120};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700121struct msm_mctl_pp_cmd {
122 int32_t id;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700124 uint16_t length;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700125 void *value;
126};
127struct msm_mctl_post_proc_cmd {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700129 int32_t type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700130 struct msm_mctl_pp_cmd cmd;
131};
132#define MSM_CAMERA_LED_OFF 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700134#define MSM_CAMERA_LED_LOW 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700135#define MSM_CAMERA_LED_HIGH 2
136#define MSM_CAMERA_LED_INIT 3
137#define MSM_CAMERA_LED_RELEASE 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700139#define MSM_CAMERA_STROBE_FLASH_NONE 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700140#define MSM_CAMERA_STROBE_FLASH_XENON 1
141#define MSM_MAX_CAMERA_SENSORS 5
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700142#define MAX_SENSOR_NAME 32
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700144#define MAX_CAM_NAME_SIZE 32
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700145#define MAX_ACT_MOD_NAME_SIZE 32
146#define MAX_ACT_NAME_SIZE 32
147#define NUM_ACTUATOR_DIR 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700149#define MAX_ACTUATOR_SCENARIO 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700150#define MAX_ACTUATOR_REGION 5
151#define MAX_ACTUATOR_INIT_SET 12
152#define MAX_ACTUATOR_TYPE_SIZE 32
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700154#define MAX_ACTUATOR_REG_TBL_SIZE 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700155#define MSM_MAX_CAMERA_CONFIGS 2
156#define PP_SNAP 0x01
157#define PP_RAW_SNAP ((0x01)<<1)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700159#define PP_PREV ((0x01)<<2)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700160#define PP_THUMB ((0x01)<<3)
161#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB)
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700162#define MSM_CAM_CTRL_CMD_DONE 0
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700164#define MSM_CAM_SENSOR_VFE_CMD 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700165#define MAX_PLANES 8
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700166struct msm_ctrl_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700167 uint16_t type;
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700169 uint16_t length;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700170 void *value;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700171 uint16_t status;
172 uint32_t timeout_ms;
Ben Cheng654325d2012-03-07 21:13:49 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700174 int resp_fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700175 int vnode_id;
176 int queue_idx;
177 uint32_t evt_id;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700179 uint32_t stream_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700180 int config_ident;
181};
182struct msm_cam_evt_msg {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700184 unsigned short type;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700185 unsigned short msg_id;
186 unsigned int len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700187 uint32_t frame_id;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700189 void *data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700190 struct timespec timestamp;
191};
192struct msm_pp_frame_sp {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700194 unsigned long phy_addr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700195 uint32_t y_off;
196 uint32_t cbcr_off;
197 uint32_t length;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700199 int32_t fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700200 uint32_t addr_offset;
201 unsigned long vaddr;
202};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700204struct msm_pp_frame_mp {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700205 unsigned long phy_addr;
206 uint32_t data_offset;
207 uint32_t length;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700209 int32_t fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700210 uint32_t addr_offset;
211 unsigned long vaddr;
212};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700214struct msm_pp_frame {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700215 uint32_t handle;
216 uint32_t frame_id;
217 unsigned short buf_idx;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700219 int path;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700220 unsigned short image_type;
221 unsigned short num_planes;
222 struct timeval timestamp;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700224 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700225 struct msm_pp_frame_sp sp;
226 struct msm_pp_frame_mp mp[MAX_PLANES];
227 };
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700229 int node_type;
230 uint32_t inst_handle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700231};
232struct msm_cam_evt_divert_frame {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700234 unsigned short image_mode;
235 unsigned short op_mode;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700236 unsigned short inst_idx;
237 unsigned short node_idx;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700239 struct msm_pp_frame frame;
240 int do_pp;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700241};
242struct msm_mctl_pp_cmd_ack_event {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700244 uint32_t cmd;
245 int status;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700246 uint32_t cookie;
247};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700249struct msm_mctl_pp_event_info {
250 int32_t event;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700251 union {
252 struct msm_mctl_pp_cmd_ack_event ack;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700254 };
255};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700256struct msm_isp_event_ctrl {
257 unsigned short resptype;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700259 union {
260 struct msm_cam_evt_msg isp_msg;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700261 struct msm_ctrl_cmd ctrl;
262 struct msm_cam_evt_divert_frame div_frame;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700264 struct msm_mctl_pp_event_info pp_event_info;
265 } isp_data;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700266};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700267#define MSM_CAM_RESP_CTRL 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700269#define MSM_CAM_RESP_STAT_EVT_MSG 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700270#define MSM_CAM_RESP_STEREO_OP_1 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700271#define MSM_CAM_RESP_STEREO_OP_2 3
272#define MSM_CAM_RESP_V4L2 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700274#define MSM_CAM_RESP_DIV_FRAME_EVT_MSG 5
275#define MSM_CAM_RESP_DONE_EVENT 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700276#define MSM_CAM_RESP_MCTL_PP_EVENT 7
277#define MSM_CAM_RESP_MAX 8
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700279#define MSM_CAM_APP_NOTIFY_EVENT 0
280#define MSM_CAM_APP_NOTIFY_ERROR_EVENT 1
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700281struct msm_stats_event_ctrl {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700282 int resptype;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700284 int timeout_ms;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700285 struct msm_ctrl_cmd ctrl_cmd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700286 struct msm_cam_evt_msg stats_event;
287};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700289struct msm_camera_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700290 uint16_t cfg_type;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700291 uint16_t cmd_type;
292 uint16_t queue;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700294 uint16_t length;
295 void *value;
296};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700297#define CMD_GENERAL 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700299#define CMD_AXI_CFG_OUT1 1
300#define CMD_AXI_CFG_SNAP_O1_AND_O2 2
301#define CMD_AXI_CFG_OUT2 3
302#define CMD_PICT_T_AXI_CFG 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700304#define CMD_PICT_M_AXI_CFG 5
305#define CMD_RAW_PICT_AXI_CFG 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700306#define CMD_FRAME_BUF_RELEASE 7
307#define CMD_PREV_BUF_CFG 8
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700309#define CMD_SNAP_BUF_RELEASE 9
310#define CMD_SNAP_BUF_CFG 10
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700311#define CMD_STATS_DISABLE 11
312#define CMD_STATS_AEC_AWB_ENABLE 12
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700314#define CMD_STATS_AF_ENABLE 13
315#define CMD_STATS_AEC_ENABLE 14
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700316#define CMD_STATS_AWB_ENABLE 15
317#define CMD_STATS_ENABLE 16
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700319#define CMD_STATS_AXI_CFG 17
320#define CMD_STATS_AEC_AXI_CFG 18
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700321#define CMD_STATS_AF_AXI_CFG 19
322#define CMD_STATS_AWB_AXI_CFG 20
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700324#define CMD_STATS_RS_AXI_CFG 21
325#define CMD_STATS_CS_AXI_CFG 22
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700326#define CMD_STATS_IHIST_AXI_CFG 23
327#define CMD_STATS_SKIN_AXI_CFG 24
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700329#define CMD_STATS_BUF_RELEASE 25
330#define CMD_STATS_AEC_BUF_RELEASE 26
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700331#define CMD_STATS_AF_BUF_RELEASE 27
332#define CMD_STATS_AWB_BUF_RELEASE 28
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700334#define CMD_STATS_RS_BUF_RELEASE 29
335#define CMD_STATS_CS_BUF_RELEASE 30
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700336#define CMD_STATS_IHIST_BUF_RELEASE 31
337#define CMD_STATS_SKIN_BUF_RELEASE 32
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700339#define UPDATE_STATS_INVALID 33
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700340#define CMD_AXI_CFG_SNAP_GEMINI 34
341#define CMD_AXI_CFG_SNAP 35
342#define CMD_AXI_CFG_PREVIEW 36
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700344#define CMD_AXI_CFG_VIDEO 37
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700345#define CMD_STATS_IHIST_ENABLE 38
346#define CMD_STATS_RS_ENABLE 39
347#define CMD_STATS_CS_ENABLE 40
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700349#define CMD_VPE 41
350#define CMD_AXI_CFG_VPE 42
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700351#define CMD_AXI_CFG_ZSL 43
352#define CMD_AXI_CFG_SNAP_VPE 44
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700354#define CMD_AXI_CFG_SNAP_THUMB_VPE 45
355#define CMD_CONFIG_PING_ADDR 46
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700356#define CMD_CONFIG_PONG_ADDR 47
357#define CMD_CONFIG_FREE_BUF_ADDR 48
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700359#define CMD_AXI_CFG_ZSL_ALL_CHNLS 49
360#define CMD_AXI_CFG_VIDEO_ALL_CHNLS 50
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700361#define CMD_VFE_BUFFER_RELEASE 51
362#define CMD_VFE_PROCESS_IRQ 52
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700364#define CMD_AXI_CFG_PRIM BIT(8)
365#define CMD_AXI_CFG_PRIM_ALL_CHNLS BIT(9)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700366#define CMD_AXI_CFG_SEC BIT(10)
367#define CMD_AXI_CFG_SEC_ALL_CHNLS BIT(11)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700369#define CMD_AXI_CFG_TERT1 BIT(12)
370#define CMD_AXI_CFG_TERT2 BIT(13)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700371#define CMD_AXI_START 0xE1
372#define CMD_AXI_STOP 0xE2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700374struct msm_vfe_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700375 int cmd_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700376 uint16_t length;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700377 void *value;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700379};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700380struct msm_vpe_cfg_cmd {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700381 int cmd_type;
382 uint16_t length;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700384 void *value;
385};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700386#define MAX_CAMERA_ENABLE_NAME_LEN 32
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700387struct camera_enable_cmd {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700389 char name[MAX_CAMERA_ENABLE_NAME_LEN];
390};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700391#define MSM_PMEM_OUTPUT1 0
392#define MSM_PMEM_OUTPUT2 1
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700394#define MSM_PMEM_OUTPUT1_OUTPUT2 2
Iliyan Malchev82420122009-09-11 00:29:59 -0700395#define MSM_PMEM_THUMBNAIL 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700396#define MSM_PMEM_MAINIMG 4
397#define MSM_PMEM_RAW_MAINIMG 5
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700399#define MSM_PMEM_AEC_AWB 6
400#define MSM_PMEM_AF 7
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700401#define MSM_PMEM_AEC 8
402#define MSM_PMEM_AWB 9
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700404#define MSM_PMEM_RS 10
405#define MSM_PMEM_CS 11
406#define MSM_PMEM_IHIST 12
407#define MSM_PMEM_SKIN 13
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700409#define MSM_PMEM_VIDEO 14
410#define MSM_PMEM_PREVIEW 15
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700411#define MSM_PMEM_VIDEO_VPE 16
412#define MSM_PMEM_C2D 17
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700414#define MSM_PMEM_MAINIMG_VPE 18
415#define MSM_PMEM_THUMBNAIL_VPE 19
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700416#define MSM_PMEM_MAX 20
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700417#define STAT_AEAW 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700419#define STAT_AEC 1
420#define STAT_AF 2
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700421#define STAT_AWB 3
422#define STAT_RS 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700424#define STAT_CS 5
425#define STAT_IHIST 6
426#define STAT_SKIN 7
427#define STAT_MAX 8
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700429#define FRAME_PREVIEW_OUTPUT1 0
430#define FRAME_PREVIEW_OUTPUT2 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700431#define FRAME_SNAPSHOT 2
432#define FRAME_THUMBNAIL 3
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700434#define FRAME_RAW_SNAPSHOT 4
435#define FRAME_MAX 5
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700436enum msm_stats_enum_type {
437 MSM_STATS_TYPE_AEC,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700439 MSM_STATS_TYPE_AF,
440 MSM_STATS_TYPE_AWB,
441 MSM_STATS_TYPE_RS,
442 MSM_STATS_TYPE_CS,
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444 MSM_STATS_TYPE_IHIST,
445 MSM_STATS_TYPE_SKIN,
446 MSM_STATS_TYPE_BG,
447 MSM_STATS_TYPE_BF,
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 MSM_STATS_TYPE_BHIST,
450 MSM_STATS_TYPE_AE_AW,
451 MSM_STATS_TYPE_MAX
452};
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454struct msm_stats_buf_info {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700455 int type;
456 int fd;
457 void *vaddr;
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 uint32_t offset;
460 uint32_t len;
461 uint32_t y_off;
462 uint32_t cbcr_off;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 uint32_t planar0_off;
465 uint32_t planar1_off;
466 uint32_t planar2_off;
467 uint8_t active;
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700469 int buf_idx;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700470};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700471struct msm_pmem_info {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700472 int type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 int fd;
475 void *vaddr;
476 uint32_t offset;
477 uint32_t len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 uint32_t y_off;
480 uint32_t cbcr_off;
481 uint32_t planar0_off;
482 uint32_t planar1_off;
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 uint32_t planar2_off;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700485 uint8_t active;
486};
487struct outputCfg {
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 uint32_t height;
490 uint32_t width;
491 uint32_t window_height_firstline;
492 uint32_t window_height_lastline;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494};
495#define VIDEO_NODE 0
496#define MCTL_NODE 1
497#define OUTPUT_1 0
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499#define OUTPUT_2 1
500#define OUTPUT_1_AND_2 2
501#define OUTPUT_1_AND_3 3
502#define CAMIF_TO_AXI_VIA_OUTPUT_2 4
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504#define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 5
505#define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 6
506#define OUTPUT_1_2_AND_3 7
507#define OUTPUT_ALL_CHNLS 8
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509#define OUTPUT_VIDEO_ALL_CHNLS 9
510#define OUTPUT_ZSL_ALL_CHNLS 10
511#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
512#define OUTPUT_PRIM BIT(8)
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514#define OUTPUT_PRIM_ALL_CHNLS BIT(9)
515#define OUTPUT_SEC BIT(10)
516#define OUTPUT_SEC_ALL_CHNLS BIT(11)
517#define OUTPUT_TERT1 BIT(12)
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519#define OUTPUT_TERT2 BIT(13)
520#define MSM_FRAME_PREV_1 0
521#define MSM_FRAME_PREV_2 1
522#define MSM_FRAME_ENC 2
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524#define OUTPUT_TYPE_P BIT(0)
525#define OUTPUT_TYPE_T BIT(1)
526#define OUTPUT_TYPE_S BIT(2)
527#define OUTPUT_TYPE_V BIT(3)
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529#define OUTPUT_TYPE_L BIT(4)
530#define OUTPUT_TYPE_ST_L BIT(5)
531#define OUTPUT_TYPE_ST_R BIT(6)
532#define OUTPUT_TYPE_ST_D BIT(7)
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534#define OUTPUT_TYPE_R BIT(8)
535#define OUTPUT_TYPE_R1 BIT(9)
536struct fd_roi_info {
537 void *info;
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 int info_len;
540};
541struct msm_mem_map_info {
542 uint32_t cookie;
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 uint32_t length;
545 uint32_t mem_type;
546};
547#define MSM_MEM_MMAP 0
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549#define MSM_MEM_USERPTR 1
550#define MSM_PLANE_MAX 8
551#define MSM_PLANE_Y 0
552#define MSM_PLANE_UV 1
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554struct msm_frame {
555 struct timespec ts;
556 int path;
557 int type;
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559 unsigned long buffer;
560 uint32_t phy_offset;
561 uint32_t y_off;
562 uint32_t cbcr_off;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 uint32_t planar0_off;
565 uint32_t planar1_off;
566 uint32_t planar2_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700567 int fd;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700569 void *cropinfo;
570 int croplen;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700571 uint32_t error_code;
572 struct fd_roi_info roi_info;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700574 uint32_t frame_id;
575 int stcam_quality_ind;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700576 uint32_t stcam_conv_value;
577 struct ion_allocation_data ion_alloc;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700579 struct ion_fd_data fd_data;
580 int ion_dev_fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700581};
582enum msm_st_frame_packing {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700584 SIDE_BY_SIDE_HALF,
585 SIDE_BY_SIDE_FULL,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700586 TOP_DOWN_HALF,
587 TOP_DOWN_FULL,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700589};
590struct msm_st_crop {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700591 uint32_t in_w;
592 uint32_t in_h;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700594 uint32_t out_w;
595 uint32_t out_h;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700596};
597struct msm_st_half {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700599 uint32_t buf_p0_off;
600 uint32_t buf_p1_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700601 uint32_t buf_p0_stride;
602 uint32_t buf_p1_stride;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700604 uint32_t pix_x_off;
605 uint32_t pix_y_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700606 struct msm_st_crop stCropInfo;
607};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700609struct msm_st_frame {
610 struct msm_frame buf_info;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700611 int type;
612 enum msm_st_frame_packing packing;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700614 struct msm_st_half L;
615 struct msm_st_half R;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700616 int frame_id;
617};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700619#define MSM_CAMERA_ERR_MASK (0xFFFFFFFF & 1)
620struct stats_buff {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700621 unsigned long buff;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700622 int fd;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700624};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700625struct msm_stats_buf {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700626 uint8_t awb_ymin;
627 struct stats_buff aec;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700629 struct stats_buff awb;
630 struct stats_buff af;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700631 struct stats_buff ihist;
632 struct stats_buff rs;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700634 struct stats_buff cs;
635 struct stats_buff skin;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700636 int type;
637 uint32_t status_bits;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700639 unsigned long buffer;
640 int fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700641 int length;
642 struct ion_handle *handle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700644 uint32_t frame_id;
645 int buf_idx;
646};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700647#define MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700649#define MSM_V4L2_EXT_CAPTURE_MODE_PREVIEW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+1)
650#define MSM_V4L2_EXT_CAPTURE_MODE_VIDEO (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+2)
651#define MSM_V4L2_EXT_CAPTURE_MODE_MAIN (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+3)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700652#define MSM_V4L2_EXT_CAPTURE_MODE_THUMBNAIL (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+4)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700654#define MSM_V4L2_EXT_CAPTURE_MODE_RAW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+5)
655#define MSM_V4L2_EXT_CAPTURE_MODE_RDI (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+6)
656#define MSM_V4L2_EXT_CAPTURE_MODE_RDI1 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+7)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700657#define MSM_V4L2_EXT_CAPTURE_MODE_RDI2 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+8)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700659#define MSM_V4L2_EXT_CAPTURE_MODE_MAX (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+9)
660#define MSM_V4L2_PID_MOTION_ISO V4L2_CID_PRIVATE_BASE
661#define MSM_V4L2_PID_EFFECT (V4L2_CID_PRIVATE_BASE+1)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700662#define MSM_V4L2_PID_HJR (V4L2_CID_PRIVATE_BASE+2)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700664#define MSM_V4L2_PID_LED_MODE (V4L2_CID_PRIVATE_BASE+3)
665#define MSM_V4L2_PID_PREP_SNAPSHOT (V4L2_CID_PRIVATE_BASE+4)
666#define MSM_V4L2_PID_EXP_METERING (V4L2_CID_PRIVATE_BASE+5)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700667#define MSM_V4L2_PID_ISO (V4L2_CID_PRIVATE_BASE+6)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700669#define MSM_V4L2_PID_CAM_MODE (V4L2_CID_PRIVATE_BASE+7)
670#define MSM_V4L2_PID_LUMA_ADAPTATION (V4L2_CID_PRIVATE_BASE+8)
671#define MSM_V4L2_PID_BEST_SHOT (V4L2_CID_PRIVATE_BASE+9)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700672#define MSM_V4L2_PID_FOCUS_MODE (V4L2_CID_PRIVATE_BASE+10)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700674#define MSM_V4L2_PID_BL_DETECTION (V4L2_CID_PRIVATE_BASE+11)
675#define MSM_V4L2_PID_SNOW_DETECTION (V4L2_CID_PRIVATE_BASE+12)
676#define MSM_V4L2_PID_CTRL_CMD (V4L2_CID_PRIVATE_BASE+13)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700677#define MSM_V4L2_PID_EVT_SUB_INFO (V4L2_CID_PRIVATE_BASE+14)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700679#define MSM_V4L2_PID_STROBE_FLASH (V4L2_CID_PRIVATE_BASE+15)
680#define MSM_V4L2_PID_INST_HANDLE (V4L2_CID_PRIVATE_BASE+16)
681#define MSM_V4L2_PID_MMAP_INST (V4L2_CID_PRIVATE_BASE+17)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700682#define MSM_V4L2_PID_PP_PLANE_INFO (V4L2_CID_PRIVATE_BASE+18)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700684#define MSM_V4L2_PID_MAX MSM_V4L2_PID_PP_PLANE_INFO
685#define MSM_V4L2_CAM_OP_DEFAULT 0
686#define MSM_V4L2_CAM_OP_PREVIEW (MSM_V4L2_CAM_OP_DEFAULT+1)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700687#define MSM_V4L2_CAM_OP_VIDEO (MSM_V4L2_CAM_OP_DEFAULT+2)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700689#define MSM_V4L2_CAM_OP_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+3)
690#define MSM_V4L2_CAM_OP_ZSL (MSM_V4L2_CAM_OP_DEFAULT+4)
691#define MSM_V4L2_CAM_OP_RAW (MSM_V4L2_CAM_OP_DEFAULT+5)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700692#define MSM_V4L2_CAM_OP_JPEG_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+6)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700694#define MSM_V4L2_VID_CAP_TYPE 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700695#define MSM_V4L2_STREAM_ON 1
696#define MSM_V4L2_STREAM_OFF 2
697#define MSM_V4L2_SNAPSHOT 3
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700699#define MSM_V4L2_QUERY_CTRL 4
700#define MSM_V4L2_GET_CTRL 5
701#define MSM_V4L2_SET_CTRL 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700702#define MSM_V4L2_QUERY 7
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700704#define MSM_V4L2_GET_CROP 8
705#define MSM_V4L2_SET_CROP 9
706#define MSM_V4L2_OPEN 10
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700707#define MSM_V4L2_CLOSE 11
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700709#define MSM_V4L2_SET_CTRL_CMD 12
710#define MSM_V4L2_EVT_SUB_MASK 13
711#define MSM_V4L2_MAX 14
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700712#define V4L2_CAMERA_EXIT 43
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700714struct crop_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700715 void *info;
716 int len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700717};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700719struct msm_postproc {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700720 int ftnum;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700721 struct msm_frame fthumnail;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700722 int fmnum;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700724 struct msm_frame fmain;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700725};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700726struct msm_snapshot_pp_status {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700727 void *status;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700729};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700730#define CFG_SET_MODE 0
731#define CFG_SET_EFFECT 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700732#define CFG_START 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700734#define CFG_PWR_UP 3
735#define CFG_PWR_DOWN 4
736#define CFG_WRITE_EXPOSURE_GAIN 5
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700737#define CFG_SET_DEFAULT_FOCUS 6
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700739#define CFG_MOVE_FOCUS 7
740#define CFG_REGISTER_TO_REAL_GAIN 8
741#define CFG_REAL_TO_REGISTER_GAIN 9
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700742#define CFG_SET_FPS 10
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700744#define CFG_SET_PICT_FPS 11
745#define CFG_SET_BRIGHTNESS 12
746#define CFG_SET_CONTRAST 13
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700747#define CFG_SET_ZOOM 14
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700749#define CFG_SET_EXPOSURE_MODE 15
750#define CFG_SET_WB 16
751#define CFG_SET_ANTIBANDING 17
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700752#define CFG_SET_EXP_GAIN 18
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700754#define CFG_SET_PICT_EXP_GAIN 19
755#define CFG_SET_LENS_SHADING 20
756#define CFG_GET_PICT_FPS 21
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700757#define CFG_GET_PREV_L_PF 22
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700759#define CFG_GET_PREV_P_PL 23
760#define CFG_GET_PICT_L_PF 24
761#define CFG_GET_PICT_P_PL 25
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700762#define CFG_GET_AF_MAX_STEPS 26
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700764#define CFG_GET_PICT_MAX_EXP_LC 27
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700765#define CFG_SEND_WB_INFO 28
766#define CFG_SENSOR_INIT 29
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700767#define CFG_GET_3D_CALI_DATA 30
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700769#define CFG_GET_CALIB_DATA 31
770#define CFG_GET_OUTPUT_INFO 32
771#define CFG_GET_EEPROM_INFO 33
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700772#define CFG_GET_EEPROM_DATA 34
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700774#define CFG_SET_ACTUATOR_INFO 35
775#define CFG_GET_ACTUATOR_INFO 36
776#define CFG_SET_SATURATION 37
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700777#define CFG_SET_SHARPNESS 38
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700779#define CFG_SET_TOUCHAEC 39
780#define CFG_SET_AUTO_FOCUS 40
781#define CFG_SET_AUTOFLASH 41
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700782#define CFG_SET_EXPOSURE_COMPENSATION 42
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700784#define CFG_SET_ISO 43
785#define CFG_START_STREAM 44
786#define CFG_STOP_STREAM 45
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700787#define CFG_GET_CSI_PARAMS 46
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700789#define CFG_MAX 47
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700790#define MOVE_NEAR 0
791#define MOVE_FAR 1
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700792#define SENSOR_PREVIEW_MODE 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700794#define SENSOR_SNAPSHOT_MODE 1
795#define SENSOR_RAW_SNAPSHOT_MODE 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700796#define SENSOR_HFR_60FPS_MODE 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700797#define SENSOR_HFR_90FPS_MODE 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700799#define SENSOR_HFR_120FPS_MODE 5
800#define SENSOR_QTR_SIZE 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700801#define SENSOR_FULL_SIZE 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700802#define SENSOR_QVGA_SIZE 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700804#define SENSOR_INVALID_SIZE 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700805#define CAMERA_EFFECT_OFF 0
806#define CAMERA_EFFECT_MONO 1
807#define CAMERA_EFFECT_NEGATIVE 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700809#define CAMERA_EFFECT_SOLARIZE 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700810#define CAMERA_EFFECT_SEPIA 4
811#define CAMERA_EFFECT_POSTERIZE 5
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700812#define CAMERA_EFFECT_WHITEBOARD 6
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700814#define CAMERA_EFFECT_BLACKBOARD 7
815#define CAMERA_EFFECT_AQUA 8
816#define CAMERA_EFFECT_EMBOSS 9
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700817#define CAMERA_EFFECT_SKETCH 10
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700819#define CAMERA_EFFECT_NEON 11
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700820#define CAMERA_EFFECT_MAX 12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700821#define CAMERA_EFFECT_BW 10
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700822#define CAMERA_EFFECT_BLUISH 12
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700824#define CAMERA_EFFECT_REDDISH 13
825#define CAMERA_EFFECT_GREENISH 14
826#define CAMERA_ANTIBANDING_OFF 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700827#define CAMERA_ANTIBANDING_50HZ 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700829#define CAMERA_ANTIBANDING_60HZ 1
830#define CAMERA_ANTIBANDING_AUTO 3
831#define CAMERA_CONTRAST_LV0 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700832#define CAMERA_CONTRAST_LV1 1
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700834#define CAMERA_CONTRAST_LV2 2
835#define CAMERA_CONTRAST_LV3 3
836#define CAMERA_CONTRAST_LV4 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700837#define CAMERA_CONTRAST_LV5 5
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700839#define CAMERA_CONTRAST_LV6 6
840#define CAMERA_CONTRAST_LV7 7
841#define CAMERA_CONTRAST_LV8 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700842#define CAMERA_CONTRAST_LV9 9
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700844#define CAMERA_BRIGHTNESS_LV0 0
845#define CAMERA_BRIGHTNESS_LV1 1
846#define CAMERA_BRIGHTNESS_LV2 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700847#define CAMERA_BRIGHTNESS_LV3 3
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700849#define CAMERA_BRIGHTNESS_LV4 4
850#define CAMERA_BRIGHTNESS_LV5 5
851#define CAMERA_BRIGHTNESS_LV6 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700852#define CAMERA_BRIGHTNESS_LV7 7
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700854#define CAMERA_BRIGHTNESS_LV8 8
855#define CAMERA_SATURATION_LV0 0
856#define CAMERA_SATURATION_LV1 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700857#define CAMERA_SATURATION_LV2 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700859#define CAMERA_SATURATION_LV3 3
860#define CAMERA_SATURATION_LV4 4
861#define CAMERA_SATURATION_LV5 5
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700862#define CAMERA_SATURATION_LV6 6
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700864#define CAMERA_SATURATION_LV7 7
865#define CAMERA_SATURATION_LV8 8
866#define CAMERA_SHARPNESS_LV0 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700867#define CAMERA_SHARPNESS_LV1 3
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700869#define CAMERA_SHARPNESS_LV2 6
870#define CAMERA_SHARPNESS_LV3 9
871#define CAMERA_SHARPNESS_LV4 12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700872#define CAMERA_SHARPNESS_LV5 15
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700874#define CAMERA_SHARPNESS_LV6 18
875#define CAMERA_SHARPNESS_LV7 21
876#define CAMERA_SHARPNESS_LV8 24
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700877#define CAMERA_SHARPNESS_LV9 27
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700879#define CAMERA_SHARPNESS_LV10 30
880#define CAMERA_SETAE_AVERAGE 0
881#define CAMERA_SETAE_CENWEIGHT 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700882#define CAMERA_WB_AUTO 1
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700884#define CAMERA_WB_CUSTOM 2
885#define CAMERA_WB_INCANDESCENT 3
886#define CAMERA_WB_FLUORESCENT 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700887#define CAMERA_WB_DAYLIGHT 5
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700889#define CAMERA_WB_CLOUDY_DAYLIGHT 6
890#define CAMERA_WB_TWILIGHT 7
891#define CAMERA_WB_SHADE 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700892#define CAMERA_EXPOSURE_COMPENSATION_LV0 12
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700893/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700894#define CAMERA_EXPOSURE_COMPENSATION_LV1 6
895#define CAMERA_EXPOSURE_COMPENSATION_LV2 0
896#define CAMERA_EXPOSURE_COMPENSATION_LV3 -6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700897#define CAMERA_EXPOSURE_COMPENSATION_LV4 -12
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700898/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700899enum msm_v4l2_saturation_level {
900 MSM_V4L2_SATURATION_L0,
901 MSM_V4L2_SATURATION_L1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700902 MSM_V4L2_SATURATION_L2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700903/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700904 MSM_V4L2_SATURATION_L3,
905 MSM_V4L2_SATURATION_L4,
906 MSM_V4L2_SATURATION_L5,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700907 MSM_V4L2_SATURATION_L6,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700908/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700909 MSM_V4L2_SATURATION_L7,
910 MSM_V4L2_SATURATION_L8,
911 MSM_V4L2_SATURATION_L9,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700912 MSM_V4L2_SATURATION_L10,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700913/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700914};
915enum msm_v4l2_contrast_level {
916 MSM_V4L2_CONTRAST_L0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700917 MSM_V4L2_CONTRAST_L1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700918/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700919 MSM_V4L2_CONTRAST_L2,
920 MSM_V4L2_CONTRAST_L3,
921 MSM_V4L2_CONTRAST_L4,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700922 MSM_V4L2_CONTRAST_L5,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700923/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700924 MSM_V4L2_CONTRAST_L6,
925 MSM_V4L2_CONTRAST_L7,
926 MSM_V4L2_CONTRAST_L8,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700927 MSM_V4L2_CONTRAST_L9,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700928/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700929 MSM_V4L2_CONTRAST_L10,
930};
931enum msm_v4l2_exposure_level {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700932 MSM_V4L2_EXPOSURE_N2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700933/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700934 MSM_V4L2_EXPOSURE_N1,
935 MSM_V4L2_EXPOSURE_D,
936 MSM_V4L2_EXPOSURE_P1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700937 MSM_V4L2_EXPOSURE_P2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700938/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700939};
940enum msm_v4l2_sharpness_level {
941 MSM_V4L2_SHARPNESS_L0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700942 MSM_V4L2_SHARPNESS_L1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700943/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700944 MSM_V4L2_SHARPNESS_L2,
945 MSM_V4L2_SHARPNESS_L3,
946 MSM_V4L2_SHARPNESS_L4,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700947 MSM_V4L2_SHARPNESS_L5,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700948/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700949 MSM_V4L2_SHARPNESS_L6,
950};
951enum msm_v4l2_expo_metering_mode {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700952 MSM_V4L2_EXP_FRAME_AVERAGE,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700953/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700954 MSM_V4L2_EXP_CENTER_WEIGHTED,
955 MSM_V4L2_EXP_SPOT_METERING,
956};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700957enum msm_v4l2_iso_mode {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700958/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700959 MSM_V4L2_ISO_AUTO = 0,
960 MSM_V4L2_ISO_DEBLUR,
961 MSM_V4L2_ISO_100,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700962 MSM_V4L2_ISO_200,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700963/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700964 MSM_V4L2_ISO_400,
965 MSM_V4L2_ISO_800,
966 MSM_V4L2_ISO_1600,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700967};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700968/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700969enum msm_v4l2_wb_mode {
970 MSM_V4L2_WB_OFF,
971 MSM_V4L2_WB_AUTO ,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700972 MSM_V4L2_WB_CUSTOM,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700973/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700974 MSM_V4L2_WB_INCANDESCENT,
975 MSM_V4L2_WB_FLUORESCENT,
976 MSM_V4L2_WB_DAYLIGHT,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700977 MSM_V4L2_WB_CLOUDY_DAYLIGHT,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700978/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700979};
980enum msm_v4l2_special_effect {
981 MSM_V4L2_EFFECT_OFF,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700982 MSM_V4L2_EFFECT_MONO,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700983/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700984 MSM_V4L2_EFFECT_NEGATIVE,
985 MSM_V4L2_EFFECT_SOLARIZE,
986 MSM_V4L2_EFFECT_SEPIA,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700987 MSM_V4L2_EFFECT_POSTERAIZE,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700988/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700989 MSM_V4L2_EFFECT_WHITEBOARD,
990 MSM_V4L2_EFFECT_BLACKBOARD,
991 MSM_V4L2_EFFECT_AQUA,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700992 MSM_V4L2_EFFECT_EMBOSS,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700993/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700994 MSM_V4L2_EFFECT_SKETCH,
995 MSM_V4L2_EFFECT_NEON,
996 MSM_V4L2_EFFECT_MAX,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700997};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700998/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700999enum msm_v4l2_power_line_frequency {
1000 MSM_V4L2_POWER_LINE_OFF,
1001 MSM_V4L2_POWER_LINE_60HZ,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001002 MSM_V4L2_POWER_LINE_50HZ,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001003/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001004 MSM_V4L2_POWER_LINE_AUTO,
1005};
1006#define CAMERA_ISO_TYPE_AUTO 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001007#define CAMEAR_ISO_TYPE_HJR 1
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001008/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001009#define CAMEAR_ISO_TYPE_100 2
1010#define CAMERA_ISO_TYPE_200 3
1011#define CAMERA_ISO_TYPE_400 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001012#define CAMEAR_ISO_TYPE_800 5
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001013/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001014#define CAMERA_ISO_TYPE_1600 6
1015struct sensor_pict_fps {
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001016 uint16_t prevfps;
1017 uint16_t pictfps;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001018/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001019};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001020struct exp_gain_cfg {
1021 uint16_t gain;
1022 uint32_t line;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001024};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001025struct focus_cfg {
1026 int32_t steps;
1027 int dir;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001029};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001030struct fps_cfg {
1031 uint16_t f_mult;
1032 uint16_t fps_div;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001034 uint32_t pict_fps_div;
1035};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001036struct wb_info_cfg {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001037 uint16_t red_gain;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001039 uint16_t green_gain;
1040 uint16_t blue_gain;
1041};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001042struct sensor_3d_exp_cfg {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001044 uint16_t gain;
1045 uint32_t line;
1046 uint16_t r_gain;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001047 uint16_t b_gain;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001049 uint16_t gr_gain;
1050 uint16_t gb_gain;
1051 uint16_t gain_adjust;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001052};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001054struct sensor_3d_cali_data_t{
1055 unsigned char left_p_matrix[3][4][8];
1056 unsigned char right_p_matrix[3][4][8];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001057 unsigned char square_len[8];
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001059 unsigned char focal_len[8];
1060 unsigned char pixel_pitch[8];
1061 uint16_t left_r;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001062 uint16_t left_b;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001064 uint16_t left_gb;
1065 uint16_t left_af_far;
1066 uint16_t left_af_mid;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001067 uint16_t left_af_short;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001069 uint16_t left_af_5um;
1070 uint16_t left_af_50up;
1071 uint16_t left_af_50down;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001072 uint16_t right_r;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001074 uint16_t right_b;
1075 uint16_t right_gb;
1076 uint16_t right_af_far;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001077 uint16_t right_af_mid;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001079 uint16_t right_af_short;
1080 uint16_t right_af_5um;
1081 uint16_t right_af_50up;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001082 uint16_t right_af_50down;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001084};
1085struct sensor_init_cfg {
1086 uint8_t prev_res;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001087 uint8_t pict_res;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001089};
1090struct sensor_calib_data {
1091 uint16_t r_over_g;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001092 uint16_t b_over_g;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001094 uint16_t gr_over_gb;
1095 uint16_t macro_2_inf;
1096 uint16_t inf_2_macro;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001097 uint16_t stroke_amt;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001099 uint16_t af_pos_1m;
1100 uint16_t af_pos_inf;
1101};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001102enum msm_sensor_resolution_t {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001104 MSM_SENSOR_RES_FULL,
1105 MSM_SENSOR_RES_QTR,
1106 MSM_SENSOR_RES_2,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001107 MSM_SENSOR_RES_3,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001109 MSM_SENSOR_RES_4,
1110 MSM_SENSOR_RES_5,
1111 MSM_SENSOR_RES_6,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001112 MSM_SENSOR_RES_7,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001114 MSM_SENSOR_INVALID_RES,
1115};
1116struct msm_sensor_output_info_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001117 uint16_t x_output;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001119 uint16_t y_output;
1120 uint16_t line_length_pclk;
1121 uint16_t frame_length_lines;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001122 uint32_t vt_pixel_clk;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001124 uint32_t op_pixel_clk;
1125 uint16_t binning_factor;
1126};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001127struct sensor_output_info_t {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001129 struct msm_sensor_output_info_t *output_info;
1130 uint16_t num_info;
1131};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001132struct mirror_flip {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001134 int32_t x_mirror;
1135 int32_t y_flip;
1136};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001137struct cord {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001139 uint32_t x;
1140 uint32_t y;
1141};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001142struct msm_eeprom_data_t {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001144 void *eeprom_data;
1145 uint16_t index;
1146};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001147struct msm_camera_csid_vc_cfg {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001149 uint8_t cid;
1150 uint8_t dt;
1151 uint8_t decode_format;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001152};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001154struct csi_lane_params_t {
1155 uint8_t csi_lane_assign;
1156 uint8_t csi_lane_mask;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001157 uint8_t csi_if;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001159 uint8_t csid_core;
1160 uint32_t csid_version;
1161};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001162#define CSI_EMBED_DATA 0x12
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001164#define CSI_RESERVED_DATA_0 0x13
1165#define CSI_YUV422_8 0x1E
1166#define CSI_RAW8 0x2A
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001167#define CSI_RAW10 0x2B
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001169#define CSI_RAW12 0x2C
1170#define CSI_DECODE_6BIT 0
1171#define CSI_DECODE_8BIT 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001172#define CSI_DECODE_10BIT 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001174#define CSI_DECODE_DPCM_10_8_10 5
1175#define ISPIF_STREAM(intf, action) (((intf)<<ISPIF_S_STREAM_SHIFT)+(action))
1176#define ISPIF_ON_FRAME_BOUNDARY (0x01 << 0)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001177#define ISPIF_OFF_FRAME_BOUNDARY (0x01 << 1)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001179#define ISPIF_OFF_IMMEDIATELY (0x01 << 2)
1180#define ISPIF_S_STREAM_SHIFT 4
1181#define PIX_0 (0x01 << 0)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001182#define RDI_0 (0x01 << 1)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001184#define PIX_1 (0x01 << 2)
1185#define RDI_1 (0x01 << 3)
1186#define PIX_2 (0x01 << 4)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001187#define RDI_2 (0x01 << 5)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001189enum msm_ispif_intftype {
1190 PIX0,
1191 RDI0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001192 PIX1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001194 RDI1,
1195 PIX2,
1196 RDI2,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001197 INTF_MAX,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001199};
1200enum msm_ispif_vc {
1201 VC0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001202 VC1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001204 VC2,
1205 VC3,
1206};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001207enum msm_ispif_cid {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001209 CID0,
1210 CID1,
1211 CID2,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001212 CID3,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001214 CID4,
1215 CID5,
1216 CID6,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001217 CID7,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001219 CID8,
1220 CID9,
1221 CID10,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001222 CID11,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001224 CID12,
1225 CID13,
1226 CID14,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001227 CID15,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001229};
1230struct msm_ispif_params {
1231 uint8_t intftype;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001232 uint16_t cid_mask;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001234 uint8_t csid;
1235};
1236struct msm_ispif_params_list {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001237 uint32_t len;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001239 struct msm_ispif_params params[4];
1240};
1241enum ispif_cfg_type_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001242 ISPIF_INIT,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001244 ISPIF_SET_CFG,
1245 ISPIF_SET_ON_FRAME_BOUNDARY,
1246 ISPIF_SET_OFF_FRAME_BOUNDARY,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001247 ISPIF_SET_OFF_IMMEDIATELY,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001249 ISPIF_RELEASE,
1250};
1251struct ispif_cfg_data {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001252 enum ispif_cfg_type_t cfgtype;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001254 union {
1255 uint32_t csid_version;
1256 int cmd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001257 struct msm_ispif_params_list ispif_params;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001259 } cfg;
1260};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -07001261struct sensor_cfg_data {
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001262 int cfgtype;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001264 int mode;
1265 int rs;
1266 uint8_t max_steps;
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001267 union {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001269 int8_t effect;
1270 uint8_t lens_shading;
1271 uint16_t prevl_pf;
1272 uint16_t prevp_pl;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001274 uint16_t pictl_pf;
1275 uint16_t pictp_pl;
1276 uint32_t pict_max_exp_lc;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001277 uint16_t p_fps;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001279 uint8_t iso_type;
1280 struct sensor_init_cfg init_info;
1281 struct sensor_pict_fps gfps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001282 struct exp_gain_cfg exp_gain;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001284 struct focus_cfg focus;
1285 struct fps_cfg fps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001286 struct wb_info_cfg wb_info;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001287 struct sensor_3d_exp_cfg sensor_3d_exp;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001289 struct sensor_calib_data calib_info;
1290 struct sensor_output_info_t output_info;
1291 struct msm_eeprom_data_t eeprom_data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001292 struct csi_lane_params_t csi_lane_params;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001294 uint16_t antibanding;
1295 uint8_t contrast;
1296 uint8_t saturation;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001297 uint8_t sharpness;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001299 int8_t brightness;
1300 int ae_mode;
1301 uint8_t wb_val;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001302 int8_t exp_compensation;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001304 struct cord aec_cord;
1305 int is_autoflash;
1306 struct mirror_flip mirror_flip;
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001307 } cfg;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001309};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001310struct damping_params_t {
1311 uint32_t damping_step;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001312 uint32_t damping_delay;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001314 uint32_t hw_params;
1315};
1316enum actuator_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001317 ACTUATOR_VCM,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001319 ACTUATOR_PIEZO,
1320};
1321enum msm_actuator_data_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001322 MSM_ACTUATOR_BYTE_DATA = 1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001324 MSM_ACTUATOR_WORD_DATA,
1325};
1326enum msm_actuator_addr_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001327 MSM_ACTUATOR_BYTE_ADDR = 1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001329 MSM_ACTUATOR_WORD_ADDR,
1330};
1331enum msm_actuator_write_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001332 MSM_ACTUATOR_WRITE_HW_DAMP,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001334 MSM_ACTUATOR_WRITE_DAC,
1335};
1336struct msm_actuator_reg_params_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001337 enum msm_actuator_write_type reg_write_type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001339 uint32_t hw_mask;
1340 uint16_t reg_addr;
1341 uint16_t hw_shift;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001342 uint16_t data_shift;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001344};
1345struct reg_settings_t {
1346 uint16_t reg_addr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001347 uint16_t reg_data;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001349};
1350struct region_params_t {
1351 uint16_t step_bound[2];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001352 uint16_t code_per_step;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001354};
1355struct msm_actuator_move_params_t {
1356 int8_t dir;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001357 int8_t sign_dir;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001359 int16_t dest_step_pos;
1360 int32_t num_steps;
1361 struct damping_params_t *ringing_params;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001362};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001364struct msm_actuator_tuning_params_t {
1365 int16_t initial_code;
1366 uint16_t pwd_step;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001367 uint16_t region_size;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001369 uint32_t total_steps;
1370 struct region_params_t *region_params;
1371};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001372struct msm_actuator_params_t {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001374 enum actuator_type act_type;
1375 uint8_t reg_tbl_size;
1376 uint16_t data_size;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001377 uint16_t init_setting_size;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001379 uint32_t i2c_addr;
1380 enum msm_actuator_addr_type i2c_addr_type;
1381 enum msm_actuator_data_type i2c_data_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001382 struct msm_actuator_reg_params_t *reg_tbl_params;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001384 struct reg_settings_t *init_settings;
1385};
1386struct msm_actuator_set_info_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001387 struct msm_actuator_params_t actuator_params;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001389 struct msm_actuator_tuning_params_t af_tuning_params;
1390};
1391struct msm_actuator_get_info_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001392 uint32_t focal_length_num;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001394 uint32_t focal_length_den;
1395 uint32_t f_number_num;
1396 uint32_t f_number_den;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001397 uint32_t f_pix_num;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001399 uint32_t f_pix_den;
1400 uint32_t total_f_dist_num;
1401 uint32_t total_f_dist_den;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001402 uint32_t hor_view_angle_num;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001404 uint32_t hor_view_angle_den;
1405 uint32_t ver_view_angle_num;
1406 uint32_t ver_view_angle_den;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001407};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001409enum af_camera_name {
1410 ACTUATOR_MAIN_CAM_0,
1411 ACTUATOR_MAIN_CAM_1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001412 ACTUATOR_MAIN_CAM_2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001414 ACTUATOR_MAIN_CAM_3,
1415 ACTUATOR_MAIN_CAM_4,
1416 ACTUATOR_MAIN_CAM_5,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001417 ACTUATOR_WEB_CAM_0,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001419 ACTUATOR_WEB_CAM_1,
1420 ACTUATOR_WEB_CAM_2,
1421};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001422struct msm_actuator_cfg_data {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001424 int cfgtype;
1425 uint8_t is_af_supported;
1426 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001427 struct msm_actuator_move_params_t move;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001429 struct msm_actuator_set_info_t set_info;
1430 struct msm_actuator_get_info_t get_info;
1431 enum af_camera_name cam_name;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001432 } cfg;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001434};
1435struct msm_eeprom_support {
1436 uint16_t is_supported;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001437 uint16_t size;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001439 uint16_t index;
1440 uint16_t qvalue;
1441};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001442struct msm_calib_wb {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001444 uint16_t r_over_g;
1445 uint16_t b_over_g;
1446 uint16_t gr_over_gb;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001447};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001449struct msm_calib_af {
1450 uint16_t macro_dac;
1451 uint16_t inf_dac;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001452 uint16_t start_dac;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001454};
1455struct msm_calib_lsc {
1456 uint16_t r_gain[221];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001457 uint16_t b_gain[221];
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001459 uint16_t gr_gain[221];
1460 uint16_t gb_gain[221];
1461};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001462struct pixel_t {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001464 int x;
1465 int y;
1466};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001467struct msm_calib_dpc {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001469 uint16_t validcount;
1470 struct pixel_t snapshot_coord[128];
1471 struct pixel_t preview_coord[128];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001472 struct pixel_t video_coord[128];
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001474};
1475struct msm_camera_eeprom_info_t {
1476 struct msm_eeprom_support af;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001477 struct msm_eeprom_support wb;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001479 struct msm_eeprom_support lsc;
1480 struct msm_eeprom_support dpc;
1481};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001482struct msm_eeprom_cfg_data {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001484 int cfgtype;
1485 uint8_t is_eeprom_supported;
1486 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001487 struct msm_eeprom_data_t get_data;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001489 struct msm_camera_eeprom_info_t get_info;
1490 } cfg;
1491};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001492struct sensor_large_data {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001494 int cfgtype;
1495 union {
1496 struct sensor_3d_cali_data_t sensor_3d_cali_data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001497 } data;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001499};
1500enum sensor_type_t {
1501 BAYER,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001502 YUV,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001504 JPEG_SOC,
1505};
1506enum flash_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001507 LED_FLASH,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001509 STROBE_FLASH,
1510};
1511enum strobe_flash_ctrl_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001512 STROBE_FLASH_CTRL_INIT,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001514 STROBE_FLASH_CTRL_CHARGE,
1515 STROBE_FLASH_CTRL_RELEASE
1516};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001517struct strobe_flash_ctrl_data {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001519 enum strobe_flash_ctrl_type type;
1520 int charge_en;
1521};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001522struct msm_camera_info {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001524 int num_cameras;
1525 uint8_t has_3d_support[MSM_MAX_CAMERA_SENSORS];
1526 uint8_t is_internal_cam[MSM_MAX_CAMERA_SENSORS];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001527 uint32_t s_mount_angle[MSM_MAX_CAMERA_SENSORS];
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001529 const char *video_dev_name[MSM_MAX_CAMERA_SENSORS];
1530 enum sensor_type_t sensor_type[MSM_MAX_CAMERA_SENSORS];
1531};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001532struct msm_cam_config_dev_info {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001534 int num_config_nodes;
1535 const char *config_dev_name[MSM_MAX_CAMERA_CONFIGS];
1536 int config_dev_id[MSM_MAX_CAMERA_CONFIGS];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001537};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001539struct msm_mctl_node_info {
1540 int num_mctl_nodes;
1541 const char *mctl_node_name[MSM_MAX_CAMERA_SENSORS];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001542};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001544struct flash_ctrl_data {
1545 int flashtype;
1546 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001547 int led_state;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001549 struct strobe_flash_ctrl_data strobe_ctrl;
1550 } ctrl_data;
1551};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001552#define GET_NAME 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001554#define GET_PREVIEW_LINE_PER_FRAME 1
1555#define GET_PREVIEW_PIXELS_PER_LINE 2
1556#define GET_SNAPSHOT_LINE_PER_FRAME 3
1557#define GET_SNAPSHOT_PIXELS_PER_LINE 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001559#define GET_SNAPSHOT_FPS 5
1560#define GET_SNAPSHOT_MAX_EP_LINE_CNT 6
Iliyan Malchevbf8709f2009-06-04 11:55:53 -07001561struct msm_camsensor_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001562 char name[MAX_SENSOR_NAME];
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001564 uint8_t flash_enabled;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001565 uint8_t strobe_flash_enabled;
1566 uint8_t actuator_enabled;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001567 uint8_t ispif_supported;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001569 int8_t total_steps;
1570 uint8_t support_3d;
1571 enum flash_type flashtype;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001572 enum sensor_type_t sensor_type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001574 uint32_t pxlcode;
1575 uint32_t camera_type;
1576 int mount_angle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001577 uint32_t max_width;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001579 uint32_t max_height;
1580};
1581#define V4L2_SINGLE_PLANE 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001582#define V4L2_MULTI_PLANE_Y 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001584#define V4L2_MULTI_PLANE_CBCR 1
1585#define V4L2_MULTI_PLANE_CB 1
1586#define V4L2_MULTI_PLANE_CR 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001587struct plane_data {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001589 int plane_id;
1590 uint32_t offset;
1591 unsigned long size;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001592};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001594struct img_plane_info {
1595 uint32_t width;
1596 uint32_t height;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001597 uint32_t pixelformat;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001599 uint8_t buffer_type;
1600 uint8_t output_port;
1601 uint32_t ext_mode;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001602 uint8_t num_planes;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001604 struct plane_data plane[MAX_PLANES];
1605 uint32_t sp_y_offset;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001606 uint32_t inst_handle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001607};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001609#define QCAMERA_NAME "qcamera"
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001610#define QCAMERA_SERVER_NAME "qcamera_server"
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001611#define QCAMERA_DEVICE_GROUP_ID 1
1612#define QCAMERA_VNODE_GROUP_ID 2
1613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001614enum msm_cam_subdev_type {
1615 CSIPHY_DEV,
1616 CSID_DEV,
1617 CSIC_DEV,
1618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1619 ISPIF_DEV,
1620 VFE_DEV,
1621 AXI_DEV,
1622 VPE_DEV,
1623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1624 SENSOR_DEV,
1625 ACTUATOR_DEV,
1626 EEPROM_DEV,
1627 GESTURE_DEV,
1628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1629 IRQ_ROUTER_DEV,
1630 CPP_DEV,
1631};
1632struct msm_mctl_set_sdev_data {
1633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1634 uint32_t revision;
1635 enum msm_cam_subdev_type sdev_type;
1636};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001637#define MSM_CAM_V4L2_IOCTL_GET_CAMERA_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001639#define MSM_CAM_V4L2_IOCTL_GET_CONFIG_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
1640#define MSM_CAM_V4L2_IOCTL_GET_MCTL_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
1641#define MSM_CAM_V4L2_IOCTL_CTRL_CMD_DONE _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001642#define MSM_CAM_V4L2_IOCTL_GET_EVENT_PAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001644#define MSM_CAM_IOCTL_SEND_EVENT _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct v4l2_event)
1645#define MSM_CAM_V4L2_IOCTL_CFG_VPE _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_vpe_cfg_cmd)
1646#define MSM_CAM_V4L2_IOCTL_PRIVATE_S_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001647#define MSM_CAM_V4L2_IOCTL_PRIVATE_G_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 9, struct msm_camera_v4l2_ioctl_t)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001649#define VIDIOC_MSM_VPE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 15)
1650#define VIDIOC_MSM_VPE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 16)
1651#define VIDIOC_MSM_VPE_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 17, struct msm_mctl_pp_params *)
1652#define VIDIOC_MSM_AXI_INIT _IO('V', BASE_VIDIOC_PRIVATE + 18)
1653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1654#define VIDIOC_MSM_AXI_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 19)
1655#define VIDIOC_MSM_AXI_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 20, void *)
1656#define VIDIOC_MSM_AXI_IRQ _IOWR('V', BASE_VIDIOC_PRIVATE + 21, void *)
1657#define VIDIOC_MSM_AXI_BUF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
1658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1659#define VIDIOC_MSM_VFE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 22)
1660#define VIDIOC_MSM_VFE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 23)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001661struct msm_camera_v4l2_ioctl_t {
1662 uint32_t id;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001664 void __user *ioctl_ptr;
1665 uint32_t len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001666};
1667enum msm_camss_irq_idx {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001669 CAMERA_SS_IRQ_0,
1670 CAMERA_SS_IRQ_1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001671 CAMERA_SS_IRQ_2,
1672 CAMERA_SS_IRQ_3,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001674 CAMERA_SS_IRQ_4,
1675 CAMERA_SS_IRQ_5,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001676 CAMERA_SS_IRQ_6,
1677 CAMERA_SS_IRQ_7,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001679 CAMERA_SS_IRQ_8,
1680 CAMERA_SS_IRQ_9,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001681 CAMERA_SS_IRQ_10,
1682 CAMERA_SS_IRQ_11,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001684 CAMERA_SS_IRQ_12,
1685 CAMERA_SS_IRQ_MAX
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001686};
1687enum msm_cam_hw_idx {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001689 MSM_CAM_HW_MICRO,
1690 MSM_CAM_HW_CCI,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001691 MSM_CAM_HW_CSI0,
1692 MSM_CAM_HW_CSI1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001694 MSM_CAM_HW_CSI2,
1695 MSM_CAM_HW_CSI3,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001696 MSM_CAM_HW_ISPIF,
1697 MSM_CAM_HW_CPP,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001699 MSM_CAM_HW_VFE0,
1700 MSM_CAM_HW_VFE1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001701 MSM_CAM_HW_JPEG0,
1702 MSM_CAM_HW_JPEG1,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001704 MSM_CAM_HW_JPEG2,
1705 MSM_CAM_HW_MAX
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001706};
1707struct msm_camera_irq_cfg {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001709 uint32_t cam_hw_mask;
1710 uint8_t irq_idx;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001711 uint8_t num_hwcore;
1712};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001714#define MSM_IRQROUTER_CFG_COMPIRQ _IOWR('V', BASE_VIDIOC_PRIVATE, void __user *)
1715#define MAX_NUM_CPP_STRIPS 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001716enum msm_cpp_frame_type {
1717 MSM_CPP_OFFLINE_FRAME,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001719 MSM_CPP_REALTIME_FRAME,
1720};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001721struct msm_cpp_frame_strip_info {
1722 int scale_v_en;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001724 int scale_h_en;
1725 int upscale_v_en;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001726 int upscale_h_en;
1727 int src_start_x;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001729 int src_end_x;
1730 int src_start_y;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001731 int src_end_y;
1732 int pad_bottom;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001734 int pad_top;
1735 int pad_right;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001736 int pad_left;
1737 int v_init_phase;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001739 int h_init_phase;
1740 int h_phase_step;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001741 int v_phase_step;
1742 int prescale_crop_width_first_pixel;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001744 int prescale_crop_width_last_pixel;
1745 int prescale_crop_height_first_line;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001746 int prescale_crop_height_last_line;
1747 int postscale_crop_height_first_line;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001749 int postscale_crop_height_last_line;
1750 int postscale_crop_width_first_pixel;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001751 int postscale_crop_width_last_pixel;
1752 int dst_start_x;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001754 int dst_end_x;
1755 int dst_start_y;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001756 int dst_end_y;
1757 int bytes_per_pixel;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001759 unsigned int source_address;
1760 unsigned int destination_address;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001761 unsigned int src_stride;
1762 unsigned int dst_stride;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001764 int rotate_270;
1765 int horizontal_flip;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001766 int vertical_flip;
1767 int scale_output_width;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001769 int scale_output_height;
1770};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001771struct msm_cpp_frame_info_t {
1772 int32_t frame_id;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001774 uint32_t inst_id;
1775 uint32_t client_id;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001776 enum msm_cpp_frame_type frame_type;
1777 uint32_t num_strips;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001779 struct msm_cpp_frame_strip_info *strip_info;
1780};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001781#define VIDIOC_MSM_CPP_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
1782#define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001784#define VIDIOC_MSM_CPP_GET_INST_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
1785#define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001786#define CLR_IMG_MODE(handle) (handle &= 0xFF00FFFF)
1787#define SET_IMG_MODE(handle, data) (handle |= ((0x1 << 23) | ((data & 0x7F) << 16)))
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001789#define GET_IMG_MODE(handle) ((handle & 0x800000) ? ((handle & 0x7F0000) >> 16) : 0xFF)
1790#define CLR_MCTLPP_INST_IDX(handle) (handle &= 0xFFFF00FF)
1791#define SET_MCTLPP_INST_IDX(handle, data) (handle |= ((0x1 << 15) | ((data & 0x7F) << 8)))
1792#define GET_MCTLPP_INST_IDX(handle) ((handle & 0x8000) ? ((handle & 0x7F00) >> 8) : 0xFF)
1793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1794#define CLR_VIDEO_INST_IDX(handle) (handle &= 0xFFFFFF00)
1795#define GET_VIDEO_INST_IDX(handle) ((handle & 0x80) ? (handle & 0x7F) : 0xFF)
1796#define SET_VIDEO_INST_IDX(handle, data) (handle |= (0x1 << 7) | (data & 0x7F))
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001797#endif
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001799