1 /****************************************************************************
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  ***
10  ***   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  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_MSM_CAMERA_H
20 #define __LINUX_MSM_CAMERA_H
21 #ifdef MSM_CAMERA_BIONIC
22 #include <sys/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #endif
25 #include <linux/types.h>
26 #include <linux/ioctl.h>
27 #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/msm_ion.h>
35 #define BIT(nr) (1UL << (nr))
36 #define MSM_CAM_IOCTL_MAGIC 'm'
37 #define MSM_CAM_IOCTL_GET_SENSOR_INFO   _IOR(MSM_CAM_IOCTL_MAGIC, 1, struct msm_camsensor_info *)
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define MSM_CAM_IOCTL_REGISTER_PMEM   _IOW(MSM_CAM_IOCTL_MAGIC, 2, struct msm_pmem_info *)
40 #define MSM_CAM_IOCTL_UNREGISTER_PMEM   _IOW(MSM_CAM_IOCTL_MAGIC, 3, unsigned)
41 #define MSM_CAM_IOCTL_CTRL_COMMAND   _IOW(MSM_CAM_IOCTL_MAGIC, 4, struct msm_ctrl_cmd *)
42 #define MSM_CAM_IOCTL_CONFIG_VFE   _IOW(MSM_CAM_IOCTL_MAGIC, 5, struct msm_camera_vfe_cfg_cmd *)
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define MSM_CAM_IOCTL_GET_STATS   _IOR(MSM_CAM_IOCTL_MAGIC, 6, struct msm_camera_stats_event_ctrl *)
45 #define MSM_CAM_IOCTL_GETFRAME   _IOR(MSM_CAM_IOCTL_MAGIC, 7, struct msm_camera_get_frame *)
46 #define MSM_CAM_IOCTL_ENABLE_VFE   _IOW(MSM_CAM_IOCTL_MAGIC, 8, struct camera_enable_cmd *)
47 #define MSM_CAM_IOCTL_CTRL_CMD_DONE   _IOW(MSM_CAM_IOCTL_MAGIC, 9, struct camera_cmd *)
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define MSM_CAM_IOCTL_CONFIG_CMD   _IOW(MSM_CAM_IOCTL_MAGIC, 10, struct camera_cmd *)
50 #define MSM_CAM_IOCTL_DISABLE_VFE   _IOW(MSM_CAM_IOCTL_MAGIC, 11, struct camera_enable_cmd *)
51 #define MSM_CAM_IOCTL_PAD_REG_RESET2   _IOW(MSM_CAM_IOCTL_MAGIC, 12, struct camera_enable_cmd *)
52 #define MSM_CAM_IOCTL_VFE_APPS_RESET   _IOW(MSM_CAM_IOCTL_MAGIC, 13, struct camera_enable_cmd *)
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define MSM_CAM_IOCTL_RELEASE_FRAME_BUFFER   _IOW(MSM_CAM_IOCTL_MAGIC, 14, struct camera_enable_cmd *)
55 #define MSM_CAM_IOCTL_RELEASE_STATS_BUFFER   _IOW(MSM_CAM_IOCTL_MAGIC, 15, struct msm_stats_buf *)
56 #define MSM_CAM_IOCTL_AXI_CONFIG   _IOW(MSM_CAM_IOCTL_MAGIC, 16, struct msm_camera_vfe_cfg_cmd *)
57 #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 */
59 #define MSM_CAM_IOCTL_SET_CROP   _IOW(MSM_CAM_IOCTL_MAGIC, 18, struct crop_info *)
60 #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 *)
62 #define MSM_CAM_IOCTL_SENSOR_IO_CFG   _IOW(MSM_CAM_IOCTL_MAGIC, 21, struct sensor_cfg_data *)
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define MSM_CAM_IOCTL_FLASH_LED_CFG   _IOW(MSM_CAM_IOCTL_MAGIC, 22, unsigned *)
65 #define MSM_CAM_IOCTL_UNBLOCK_POLL_FRAME   _IO(MSM_CAM_IOCTL_MAGIC, 23)
66 #define MSM_CAM_IOCTL_CTRL_COMMAND_2   _IOW(MSM_CAM_IOCTL_MAGIC, 24, struct msm_ctrl_cmd *)
67 #define MSM_CAM_IOCTL_AF_CTRL   _IOR(MSM_CAM_IOCTL_MAGIC, 25, struct msm_ctrl_cmt_t *)
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #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 *)
105 #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 *)
112 #define MSM_CAM_IOCTL_STATS_UNREG_BUF   _IOR(MSM_CAM_IOCTL_MAGIC, 61, struct msm_stats_flush_bufq *)
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 struct msm_stats_reqbuf
115 {
116  int num_buf;
117  int stats_type;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 };
120 struct msm_stats_flush_bufq
121 {
122  int stats_type;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 };
125 struct msm_mctl_pp_cmd
126 {
127  int32_t id;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  uint16_t length;
130  void *value;
131 };
132 struct msm_mctl_post_proc_cmd
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 {
135  int32_t type;
136  struct msm_mctl_pp_cmd cmd;
137 };
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define MSM_CAMERA_LED_OFF 0
140 #define MSM_CAMERA_LED_LOW 1
141 #define MSM_CAMERA_LED_HIGH 2
142 #define MSM_CAMERA_LED_INIT 3
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define MSM_CAMERA_LED_RELEASE 4
145 #define MSM_CAMERA_STROBE_FLASH_NONE 0
146 #define MSM_CAMERA_STROBE_FLASH_XENON 1
147 #define MSM_MAX_CAMERA_SENSORS 5
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define MAX_SENSOR_NAME 32
150 #define MAX_CAM_NAME_SIZE 32
151 #define MAX_ACT_MOD_NAME_SIZE 32
152 #define MAX_ACT_NAME_SIZE 32
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define NUM_ACTUATOR_DIR 2
155 #define MAX_ACTUATOR_SCENARIO 8
156 #define MAX_ACTUATOR_REGION 5
157 #define MAX_ACTUATOR_INIT_SET 12
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 #define MAX_ACTUATOR_TYPE_SIZE 32
160 #define MAX_ACTUATOR_REG_TBL_SIZE 8
161 #define MSM_MAX_CAMERA_CONFIGS 2
162 #define PP_SNAP 0x01
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 #define PP_RAW_SNAP ((0x01)<<1)
165 #define PP_PREV ((0x01)<<2)
166 #define PP_THUMB ((0x01)<<3)
167 #define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB)
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 #define MSM_CAM_CTRL_CMD_DONE 0
170 #define MSM_CAM_SENSOR_VFE_CMD 1
171 #define MAX_PLANES 8
172 struct msm_ctrl_cmd
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 {
175  uint16_t type;
176  uint16_t length;
177  void *value;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  uint16_t status;
180  uint32_t timeout_ms;
181  int resp_fd;
182  int vnode_id;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  int queue_idx;
185  uint32_t evt_id;
186  uint32_t stream_type;
187  int config_ident;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 };
190 struct msm_cam_evt_msg
191 {
192  unsigned short type;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  unsigned short msg_id;
195  unsigned int len;
196  uint32_t frame_id;
197  void *data;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  struct timespec timestamp;
200 };
201 struct msm_pp_frame_sp
202 {
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  unsigned long phy_addr;
205  uint32_t y_off;
206  uint32_t cbcr_off;
207  uint32_t length;
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  int32_t fd;
210  uint32_t addr_offset;
211  unsigned long vaddr;
212 };
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 struct msm_pp_frame_mp
215 {
216  unsigned long phy_addr;
217  uint32_t data_offset;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  uint32_t length;
220  int32_t fd;
221  uint32_t addr_offset;
222  unsigned long vaddr;
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 };
225 struct msm_pp_frame
226 {
227  uint32_t handle;
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  uint32_t frame_id;
230  unsigned short buf_idx;
231  int path;
232  unsigned short image_type;
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  unsigned short num_planes;
235  struct timeval timestamp;
236  union
237  {
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  struct msm_pp_frame_sp sp;
240  struct msm_pp_frame_mp mp[MAX_PLANES];
241  };
242  int node_type;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  uint32_t inst_handle;
245 };
246 struct msm_pp_crop
247 {
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  uint32_t src_x;
250  uint32_t src_y;
251  uint32_t src_w;
252  uint32_t src_h;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  uint32_t dst_x;
255  uint32_t dst_y;
256  uint32_t dst_w;
257  uint32_t dst_h;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  uint8_t update_flag;
260 };
261 struct msm_mctl_pp_frame_cmd
262 {
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  uint32_t cookie;
265  uint8_t vpe_output_action;
266  struct msm_pp_frame src_frame;
267  struct msm_pp_frame dest_frame;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  struct msm_pp_crop crop;
270  int path;
271 };
272 struct msm_cam_evt_divert_frame
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 {
275  unsigned short image_mode;
276  unsigned short op_mode;
277  unsigned short inst_idx;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  unsigned short node_idx;
280  struct msm_pp_frame frame;
281  int do_pp;
282 };
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 struct msm_mctl_pp_cmd_ack_event
285 {
286  uint32_t cmd;
287  int status;
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  uint32_t cookie;
290 };
291 struct msm_mctl_pp_event_info
292 {
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  int32_t event;
295  union
296  {
297  struct msm_mctl_pp_cmd_ack_event ack;
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  };
300 };
301 struct msm_isp_event_ctrl
302 {
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  unsigned short resptype;
305  union
306  {
307  struct msm_cam_evt_msg isp_msg;
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  struct msm_ctrl_cmd ctrl;
310  struct msm_cam_evt_divert_frame div_frame;
311  struct msm_mctl_pp_event_info pp_event_info;
312  } isp_data;
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314 };
315 #define MSM_CAM_RESP_CTRL 0
316 #define MSM_CAM_RESP_STAT_EVT_MSG 1
317 #define MSM_CAM_RESP_STEREO_OP_1 2
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 #define MSM_CAM_RESP_STEREO_OP_2 3
320 #define MSM_CAM_RESP_V4L2 4
321 #define MSM_CAM_RESP_DIV_FRAME_EVT_MSG 5
322 #define MSM_CAM_RESP_DONE_EVENT 6
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 #define MSM_CAM_RESP_MCTL_PP_EVENT 7
325 #define MSM_CAM_RESP_MAX 8
326 #define MSM_CAM_APP_NOTIFY_EVENT 0
327 #define MSM_CAM_APP_NOTIFY_ERROR_EVENT 1
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 struct msm_stats_event_ctrl
330 {
331  int resptype;
332  int timeout_ms;
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  struct msm_ctrl_cmd ctrl_cmd;
335  struct msm_cam_evt_msg stats_event;
336 };
337 struct msm_camera_cfg_cmd
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 {
340  uint16_t cfg_type;
341  uint16_t cmd_type;
342  uint16_t queue;
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  uint16_t length;
345  void *value;
346 };
347 #define CMD_GENERAL 0
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349 #define CMD_AXI_CFG_OUT1 1
350 #define CMD_AXI_CFG_SNAP_O1_AND_O2 2
351 #define CMD_AXI_CFG_OUT2 3
352 #define CMD_PICT_T_AXI_CFG 4
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 #define CMD_PICT_M_AXI_CFG 5
355 #define CMD_RAW_PICT_AXI_CFG 6
356 #define CMD_FRAME_BUF_RELEASE 7
357 #define CMD_PREV_BUF_CFG 8
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 #define CMD_SNAP_BUF_RELEASE 9
360 #define CMD_SNAP_BUF_CFG 10
361 #define CMD_STATS_DISABLE 11
362 #define CMD_STATS_AEC_AWB_ENABLE 12
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 #define CMD_STATS_AF_ENABLE 13
365 #define CMD_STATS_AEC_ENABLE 14
366 #define CMD_STATS_AWB_ENABLE 15
367 #define CMD_STATS_ENABLE 16
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 #define CMD_STATS_AXI_CFG 17
370 #define CMD_STATS_AEC_AXI_CFG 18
371 #define CMD_STATS_AF_AXI_CFG 19
372 #define CMD_STATS_AWB_AXI_CFG 20
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 #define CMD_STATS_RS_AXI_CFG 21
375 #define CMD_STATS_CS_AXI_CFG 22
376 #define CMD_STATS_IHIST_AXI_CFG 23
377 #define CMD_STATS_SKIN_AXI_CFG 24
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 #define CMD_STATS_BUF_RELEASE 25
380 #define CMD_STATS_AEC_BUF_RELEASE 26
381 #define CMD_STATS_AF_BUF_RELEASE 27
382 #define CMD_STATS_AWB_BUF_RELEASE 28
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 #define CMD_STATS_RS_BUF_RELEASE 29
385 #define CMD_STATS_CS_BUF_RELEASE 30
386 #define CMD_STATS_IHIST_BUF_RELEASE 31
387 #define CMD_STATS_SKIN_BUF_RELEASE 32
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 #define UPDATE_STATS_INVALID 33
390 #define CMD_AXI_CFG_SNAP_GEMINI 34
391 #define CMD_AXI_CFG_SNAP 35
392 #define CMD_AXI_CFG_PREVIEW 36
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 #define CMD_AXI_CFG_VIDEO 37
395 #define CMD_STATS_IHIST_ENABLE 38
396 #define CMD_STATS_RS_ENABLE 39
397 #define CMD_STATS_CS_ENABLE 40
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 #define CMD_VPE 41
400 #define CMD_AXI_CFG_VPE 42
401 #define CMD_AXI_CFG_ZSL 43
402 #define CMD_AXI_CFG_SNAP_VPE 44
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 #define CMD_AXI_CFG_SNAP_THUMB_VPE 45
405 #define CMD_CONFIG_PING_ADDR 46
406 #define CMD_CONFIG_PONG_ADDR 47
407 #define CMD_CONFIG_FREE_BUF_ADDR 48
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 #define CMD_AXI_CFG_ZSL_ALL_CHNLS 49
410 #define CMD_AXI_CFG_VIDEO_ALL_CHNLS 50
411 #define CMD_VFE_BUFFER_RELEASE 51
412 #define CMD_VFE_PROCESS_IRQ 52
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414 #define CMD_STATS_BG_ENABLE 53
415 #define CMD_STATS_BF_ENABLE 54
416 #define CMD_STATS_BHIST_ENABLE 55
417 #define CMD_STATS_BG_BUF_RELEASE 56
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419 #define CMD_STATS_BF_BUF_RELEASE 57
420 #define CMD_STATS_BHIST_BUF_RELEASE 58
421 #define CMD_VFE_SOF_COUNT_UPDATE 59
422 #define CMD_VFE_COUNT_SOF_ENABLE 60
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 #define CMD_AXI_CFG_PRIM BIT(8)
425 #define CMD_AXI_CFG_PRIM_ALL_CHNLS BIT(9)
426 #define CMD_AXI_CFG_SEC BIT(10)
427 #define CMD_AXI_CFG_SEC_ALL_CHNLS BIT(11)
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 #define CMD_AXI_CFG_TERT1 BIT(12)
430 #define CMD_AXI_CFG_TERT2 BIT(13)
431 #define CMD_AXI_START 0xE1
432 #define CMD_AXI_STOP 0xE2
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 #define CMD_AXI_RESET 0xE3
435 #define AXI_CMD_PREVIEW BIT(0)
436 #define AXI_CMD_CAPTURE BIT(1)
437 #define AXI_CMD_RECORD BIT(2)
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 #define AXI_CMD_ZSL BIT(3)
440 #define AXI_CMD_RAW_CAPTURE BIT(4)
441 #define AXI_CMD_LIVESHOT BIT(5)
442 struct msm_vfe_cfg_cmd
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444 {
445  int cmd_type;
446  uint16_t length;
447  void *value;
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 };
450 struct msm_vpe_cfg_cmd
451 {
452  int cmd_type;
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454  uint16_t length;
455  void *value;
456 };
457 #define MAX_CAMERA_ENABLE_NAME_LEN 32
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 struct camera_enable_cmd
460 {
461  char name[MAX_CAMERA_ENABLE_NAME_LEN];
462 };
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 #define MSM_PMEM_OUTPUT1 0
465 #define MSM_PMEM_OUTPUT2 1
466 #define MSM_PMEM_OUTPUT1_OUTPUT2 2
467 #define MSM_PMEM_THUMBNAIL 3
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 #define MSM_PMEM_MAINIMG 4
470 #define MSM_PMEM_RAW_MAINIMG 5
471 #define MSM_PMEM_AEC_AWB 6
472 #define MSM_PMEM_AF 7
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 #define MSM_PMEM_AEC 8
475 #define MSM_PMEM_AWB 9
476 #define MSM_PMEM_RS 10
477 #define MSM_PMEM_CS 11
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 #define MSM_PMEM_IHIST 12
480 #define MSM_PMEM_SKIN 13
481 #define MSM_PMEM_VIDEO 14
482 #define MSM_PMEM_PREVIEW 15
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 #define MSM_PMEM_VIDEO_VPE 16
485 #define MSM_PMEM_C2D 17
486 #define MSM_PMEM_MAINIMG_VPE 18
487 #define MSM_PMEM_THUMBNAIL_VPE 19
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 #define MSM_PMEM_BAYER_GRID 20
490 #define MSM_PMEM_BAYER_FOCUS 21
491 #define MSM_PMEM_BAYER_HIST 22
492 #define MSM_PMEM_MAX 23
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 #define STAT_AEAW 0
495 #define STAT_AEC 1
496 #define STAT_AF 2
497 #define STAT_AWB 3
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499 #define STAT_RS 4
500 #define STAT_CS 5
501 #define STAT_IHIST 6
502 #define STAT_SKIN 7
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 #define STAT_BG 8
505 #define STAT_BF 9
506 #define STAT_BHIST 10
507 #define STAT_MAX 11
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509 #define FRAME_PREVIEW_OUTPUT1 0
510 #define FRAME_PREVIEW_OUTPUT2 1
511 #define FRAME_SNAPSHOT 2
512 #define FRAME_THUMBNAIL 3
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 #define FRAME_RAW_SNAPSHOT 4
515 #define FRAME_MAX 5
516 enum msm_stats_enum_type
517 {
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519  MSM_STATS_TYPE_AEC,
520  MSM_STATS_TYPE_AF,
521  MSM_STATS_TYPE_AWB,
522  MSM_STATS_TYPE_RS,
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  MSM_STATS_TYPE_CS,
525  MSM_STATS_TYPE_IHIST,
526  MSM_STATS_TYPE_SKIN,
527  MSM_STATS_TYPE_BG,
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529  MSM_STATS_TYPE_BF,
530  MSM_STATS_TYPE_BHIST,
531  MSM_STATS_TYPE_AE_AW,
532  MSM_STATS_TYPE_MAX
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 };
535 struct msm_stats_buf_info
536 {
537  int type;
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539  int fd;
540  void *vaddr;
541  uint32_t offset;
542  uint32_t len;
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544  uint32_t y_off;
545  uint32_t cbcr_off;
546  uint32_t planar0_off;
547  uint32_t planar1_off;
548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549  uint32_t planar2_off;
550  uint8_t active;
551  int buf_idx;
552 };
553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 struct msm_pmem_info
555 {
556  int type;
557  int fd;
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559  void *vaddr;
560  uint32_t offset;
561  uint32_t len;
562  uint32_t y_off;
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564  uint32_t cbcr_off;
565  uint32_t planar0_off;
566  uint32_t planar1_off;
567  uint32_t planar2_off;
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569  uint8_t active;
570 };
571 struct outputCfg
572 {
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574  uint32_t height;
575  uint32_t width;
576  uint32_t window_height_firstline;
577  uint32_t window_height_lastline;
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579 };
580 #define VIDEO_NODE 0
581 #define MCTL_NODE 1
582 #define OUTPUT_1 0
583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584 #define OUTPUT_2 1
585 #define OUTPUT_1_AND_2 2
586 #define OUTPUT_1_AND_3 3
587 #define CAMIF_TO_AXI_VIA_OUTPUT_2 4
588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589 #define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 5
590 #define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 6
591 #define OUTPUT_1_2_AND_3 7
592 #define OUTPUT_ALL_CHNLS 8
593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594 #define OUTPUT_VIDEO_ALL_CHNLS 9
595 #define OUTPUT_ZSL_ALL_CHNLS 10
596 #define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
597 #define OUTPUT_PRIM BIT(8)
598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599 #define OUTPUT_PRIM_ALL_CHNLS BIT(9)
600 #define OUTPUT_SEC BIT(10)
601 #define OUTPUT_SEC_ALL_CHNLS BIT(11)
602 #define OUTPUT_TERT1 BIT(12)
603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604 #define OUTPUT_TERT2 BIT(13)
605 #define MSM_FRAME_PREV_1 0
606 #define MSM_FRAME_PREV_2 1
607 #define MSM_FRAME_ENC 2
608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609 #define OUTPUT_TYPE_P BIT(0)
610 #define OUTPUT_TYPE_T BIT(1)
611 #define OUTPUT_TYPE_S BIT(2)
612 #define OUTPUT_TYPE_V BIT(3)
613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614 #define OUTPUT_TYPE_L BIT(4)
615 #define OUTPUT_TYPE_ST_L BIT(5)
616 #define OUTPUT_TYPE_ST_R BIT(6)
617 #define OUTPUT_TYPE_ST_D BIT(7)
618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619 #define OUTPUT_TYPE_R BIT(8)
620 #define OUTPUT_TYPE_R1 BIT(9)
621 struct fd_roi_info
622 {
623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624  void *info;
625  int info_len;
626 };
627 struct msm_mem_map_info
628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629 {
630  uint32_t cookie;
631  uint32_t length;
632  uint32_t mem_type;
633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634 };
635 #define MSM_MEM_MMAP 0
636 #define MSM_MEM_USERPTR 1
637 #define MSM_PLANE_MAX 8
638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639 #define MSM_PLANE_Y 0
640 #define MSM_PLANE_UV 1
641 struct msm_frame
642 {
643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644  struct timespec ts;
645  int path;
646  int type;
647  unsigned long buffer;
648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649  uint32_t phy_offset;
650  uint32_t y_off;
651  uint32_t cbcr_off;
652  uint32_t planar0_off;
653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654  uint32_t planar1_off;
655  uint32_t planar2_off;
656  int fd;
657  void *cropinfo;
658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659  int croplen;
660  uint32_t error_code;
661  struct fd_roi_info roi_info;
662  uint32_t frame_id;
663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664  int stcam_quality_ind;
665  uint32_t stcam_conv_value;
666  struct ion_allocation_data ion_alloc;
667  struct ion_fd_data fd_data;
668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669  int ion_dev_fd;
670 };
671 enum msm_st_frame_packing
672 {
673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674  SIDE_BY_SIDE_HALF,
675  SIDE_BY_SIDE_FULL,
676  TOP_DOWN_HALF,
677  TOP_DOWN_FULL,
678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679 };
680 struct msm_st_crop
681 {
682  uint32_t in_w;
683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684  uint32_t in_h;
685  uint32_t out_w;
686  uint32_t out_h;
687 };
688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689 struct msm_st_half
690 {
691  uint32_t buf_p0_off;
692  uint32_t buf_p1_off;
693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694  uint32_t buf_p0_stride;
695  uint32_t buf_p1_stride;
696  uint32_t pix_x_off;
697  uint32_t pix_y_off;
698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699  struct msm_st_crop stCropInfo;
700 };
701 struct msm_st_frame
702 {
703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704  struct msm_frame buf_info;
705  int type;
706  enum msm_st_frame_packing packing;
707  struct msm_st_half L;
708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709  struct msm_st_half R;
710  int frame_id;
711 };
712 #define MSM_CAMERA_ERR_MASK (0xFFFFFFFF & 1)
713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714 struct stats_buff
715 {
716  unsigned long buff;
717  int fd;
718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719 };
720 struct msm_stats_buf
721 {
722  uint8_t awb_ymin;
723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724  struct stats_buff aec;
725  struct stats_buff awb;
726  struct stats_buff af;
727  struct stats_buff ihist;
728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729  struct stats_buff rs;
730  struct stats_buff cs;
731  struct stats_buff skin;
732  int type;
733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734  uint32_t status_bits;
735  unsigned long buffer;
736  int fd;
737  int length;
738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739  struct ion_handle *handle;
740  uint32_t frame_id;
741  int buf_idx;
742 };
743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744 #define MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT 0
745 #define MSM_V4L2_EXT_CAPTURE_MODE_PREVIEW   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+1)
746 #define MSM_V4L2_EXT_CAPTURE_MODE_VIDEO   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+2)
747 #define MSM_V4L2_EXT_CAPTURE_MODE_MAIN (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+3)
748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749 #define MSM_V4L2_EXT_CAPTURE_MODE_THUMBNAIL   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+4)
750 #define MSM_V4L2_EXT_CAPTURE_MODE_RAW   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+5)
751 #define MSM_V4L2_EXT_CAPTURE_MODE_RDI   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+6)
752 #define MSM_V4L2_EXT_CAPTURE_MODE_RDI1   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+7)
753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754 #define MSM_V4L2_EXT_CAPTURE_MODE_RDI2   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+8)
755 #define MSM_V4L2_EXT_CAPTURE_MODE_AEC   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+9)
756 #define MSM_V4L2_EXT_CAPTURE_MODE_AWB   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+10)
757 #define MSM_V4L2_EXT_CAPTURE_MODE_AF   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+11)
758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759 #define MSM_V4L2_EXT_CAPTURE_MODE_IHIST   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+12)
760 #define MSM_V4L2_EXT_CAPTURE_MODE_CS   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+13)
761 #define MSM_V4L2_EXT_CAPTURE_MODE_RS   (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+14)
762 #define MSM_V4L2_EXT_CAPTURE_MODE_MAX (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+15)
763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764 #define MSM_V4L2_PID_MOTION_ISO V4L2_CID_PRIVATE_BASE
765 #define MSM_V4L2_PID_EFFECT (V4L2_CID_PRIVATE_BASE+1)
766 #define MSM_V4L2_PID_HJR (V4L2_CID_PRIVATE_BASE+2)
767 #define MSM_V4L2_PID_LED_MODE (V4L2_CID_PRIVATE_BASE+3)
768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769 #define MSM_V4L2_PID_PREP_SNAPSHOT (V4L2_CID_PRIVATE_BASE+4)
770 #define MSM_V4L2_PID_EXP_METERING (V4L2_CID_PRIVATE_BASE+5)
771 #define MSM_V4L2_PID_ISO (V4L2_CID_PRIVATE_BASE+6)
772 #define MSM_V4L2_PID_CAM_MODE (V4L2_CID_PRIVATE_BASE+7)
773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774 #define MSM_V4L2_PID_LUMA_ADAPTATION (V4L2_CID_PRIVATE_BASE+8)
775 #define MSM_V4L2_PID_BEST_SHOT (V4L2_CID_PRIVATE_BASE+9)
776 #define MSM_V4L2_PID_FOCUS_MODE (V4L2_CID_PRIVATE_BASE+10)
777 #define MSM_V4L2_PID_BL_DETECTION (V4L2_CID_PRIVATE_BASE+11)
778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779 #define MSM_V4L2_PID_SNOW_DETECTION (V4L2_CID_PRIVATE_BASE+12)
780 #define MSM_V4L2_PID_CTRL_CMD (V4L2_CID_PRIVATE_BASE+13)
781 #define MSM_V4L2_PID_EVT_SUB_INFO (V4L2_CID_PRIVATE_BASE+14)
782 #define MSM_V4L2_PID_STROBE_FLASH (V4L2_CID_PRIVATE_BASE+15)
783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784 #define MSM_V4L2_PID_INST_HANDLE (V4L2_CID_PRIVATE_BASE+16)
785 #define MSM_V4L2_PID_MMAP_INST (V4L2_CID_PRIVATE_BASE+17)
786 #define MSM_V4L2_PID_PP_PLANE_INFO (V4L2_CID_PRIVATE_BASE+18)
787 #define MSM_V4L2_PID_MAX MSM_V4L2_PID_PP_PLANE_INFO
788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789 #define MSM_V4L2_CAM_OP_DEFAULT 0
790 #define MSM_V4L2_CAM_OP_PREVIEW (MSM_V4L2_CAM_OP_DEFAULT+1)
791 #define MSM_V4L2_CAM_OP_VIDEO (MSM_V4L2_CAM_OP_DEFAULT+2)
792 #define MSM_V4L2_CAM_OP_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+3)
793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794 #define MSM_V4L2_CAM_OP_ZSL (MSM_V4L2_CAM_OP_DEFAULT+4)
795 #define MSM_V4L2_CAM_OP_RAW (MSM_V4L2_CAM_OP_DEFAULT+5)
796 #define MSM_V4L2_CAM_OP_JPEG_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+6)
797 #define MSM_V4L2_VID_CAP_TYPE 0
798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799 #define MSM_V4L2_STREAM_ON 1
800 #define MSM_V4L2_STREAM_OFF 2
801 #define MSM_V4L2_SNAPSHOT 3
802 #define MSM_V4L2_QUERY_CTRL 4
803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804 #define MSM_V4L2_GET_CTRL 5
805 #define MSM_V4L2_SET_CTRL 6
806 #define MSM_V4L2_QUERY 7
807 #define MSM_V4L2_GET_CROP 8
808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809 #define MSM_V4L2_SET_CROP 9
810 #define MSM_V4L2_OPEN 10
811 #define MSM_V4L2_CLOSE 11
812 #define MSM_V4L2_SET_CTRL_CMD 12
813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814 #define MSM_V4L2_EVT_SUB_MASK 13
815 #define MSM_V4L2_MAX 14
816 #define V4L2_CAMERA_EXIT 43
817 struct crop_info
818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819 {
820  void *info;
821  int len;
822 };
823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824 struct msm_postproc
825 {
826  int ftnum;
827  struct msm_frame fthumnail;
828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829  int fmnum;
830  struct msm_frame fmain;
831 };
832 struct msm_snapshot_pp_status
833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834 {
835  void *status;
836 };
837 #define CFG_SET_MODE 0
838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839 #define CFG_SET_EFFECT 1
840 #define CFG_START 2
841 #define CFG_PWR_UP 3
842 #define CFG_PWR_DOWN 4
843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844 #define CFG_WRITE_EXPOSURE_GAIN 5
845 #define CFG_SET_DEFAULT_FOCUS 6
846 #define CFG_MOVE_FOCUS 7
847 #define CFG_REGISTER_TO_REAL_GAIN 8
848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849 #define CFG_REAL_TO_REGISTER_GAIN 9
850 #define CFG_SET_FPS 10
851 #define CFG_SET_PICT_FPS 11
852 #define CFG_SET_BRIGHTNESS 12
853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854 #define CFG_SET_CONTRAST 13
855 #define CFG_SET_ZOOM 14
856 #define CFG_SET_EXPOSURE_MODE 15
857 #define CFG_SET_WB 16
858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859 #define CFG_SET_ANTIBANDING 17
860 #define CFG_SET_EXP_GAIN 18
861 #define CFG_SET_PICT_EXP_GAIN 19
862 #define CFG_SET_LENS_SHADING 20
863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864 #define CFG_GET_PICT_FPS 21
865 #define CFG_GET_PREV_L_PF 22
866 #define CFG_GET_PREV_P_PL 23
867 #define CFG_GET_PICT_L_PF 24
868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869 #define CFG_GET_PICT_P_PL 25
870 #define CFG_GET_AF_MAX_STEPS 26
871 #define CFG_GET_PICT_MAX_EXP_LC 27
872 #define CFG_SEND_WB_INFO 28
873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874 #define CFG_SENSOR_INIT 29
875 #define CFG_GET_3D_CALI_DATA 30
876 #define CFG_GET_CALIB_DATA 31
877 #define CFG_GET_OUTPUT_INFO 32
878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879 #define CFG_GET_EEPROM_INFO 33
880 #define CFG_GET_EEPROM_DATA 34
881 #define CFG_SET_ACTUATOR_INFO 35
882 #define CFG_GET_ACTUATOR_INFO 36
883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884 #define CFG_SET_SATURATION 37
885 #define CFG_SET_SHARPNESS 38
886 #define CFG_SET_TOUCHAEC 39
887 #define CFG_SET_AUTO_FOCUS 40
888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889 #define CFG_SET_AUTOFLASH 41
890 #define CFG_SET_EXPOSURE_COMPENSATION 42
891 #define CFG_SET_ISO 43
892 #define CFG_START_STREAM 44
893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894 #define CFG_STOP_STREAM 45
895 #define CFG_GET_CSI_PARAMS 46
896 #define CFG_MAX 47
897 #define MOVE_NEAR 0
898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899 #define MOVE_FAR 1
900 #define SENSOR_PREVIEW_MODE 0
901 #define SENSOR_SNAPSHOT_MODE 1
902 #define SENSOR_RAW_SNAPSHOT_MODE 2
903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904 #define SENSOR_HFR_60FPS_MODE 3
905 #define SENSOR_HFR_90FPS_MODE 4
906 #define SENSOR_HFR_120FPS_MODE 5
907 #define SENSOR_QTR_SIZE 0
908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909 #define SENSOR_FULL_SIZE 1
910 #define SENSOR_QVGA_SIZE 2
911 #define SENSOR_INVALID_SIZE 3
912 #define CAMERA_EFFECT_OFF 0
913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914 #define CAMERA_EFFECT_MONO 1
915 #define CAMERA_EFFECT_NEGATIVE 2
916 #define CAMERA_EFFECT_SOLARIZE 3
917 #define CAMERA_EFFECT_SEPIA 4
918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919 #define CAMERA_EFFECT_POSTERIZE 5
920 #define CAMERA_EFFECT_WHITEBOARD 6
921 #define CAMERA_EFFECT_BLACKBOARD 7
922 #define CAMERA_EFFECT_AQUA 8
923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924 #define CAMERA_EFFECT_EMBOSS 9
925 #define CAMERA_EFFECT_SKETCH 10
926 #define CAMERA_EFFECT_NEON 11
927 #define CAMERA_EFFECT_MAX 12
928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929 #define CAMERA_EFFECT_BW 10
930 #define CAMERA_EFFECT_BLUISH 12
931 #define CAMERA_EFFECT_REDDISH 13
932 #define CAMERA_EFFECT_GREENISH 14
933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934 #define CAMERA_ANTIBANDING_OFF 0
935 #define CAMERA_ANTIBANDING_50HZ 2
936 #define CAMERA_ANTIBANDING_60HZ 1
937 #define CAMERA_ANTIBANDING_AUTO 3
938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939 #define CAMERA_CONTRAST_LV0 0
940 #define CAMERA_CONTRAST_LV1 1
941 #define CAMERA_CONTRAST_LV2 2
942 #define CAMERA_CONTRAST_LV3 3
943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944 #define CAMERA_CONTRAST_LV4 4
945 #define CAMERA_CONTRAST_LV5 5
946 #define CAMERA_CONTRAST_LV6 6
947 #define CAMERA_CONTRAST_LV7 7
948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
949 #define CAMERA_CONTRAST_LV8 8
950 #define CAMERA_CONTRAST_LV9 9
951 #define CAMERA_BRIGHTNESS_LV0 0
952 #define CAMERA_BRIGHTNESS_LV1 1
953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
954 #define CAMERA_BRIGHTNESS_LV2 2
955 #define CAMERA_BRIGHTNESS_LV3 3
956 #define CAMERA_BRIGHTNESS_LV4 4
957 #define CAMERA_BRIGHTNESS_LV5 5
958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
959 #define CAMERA_BRIGHTNESS_LV6 6
960 #define CAMERA_BRIGHTNESS_LV7 7
961 #define CAMERA_BRIGHTNESS_LV8 8
962 #define CAMERA_SATURATION_LV0 0
963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
964 #define CAMERA_SATURATION_LV1 1
965 #define CAMERA_SATURATION_LV2 2
966 #define CAMERA_SATURATION_LV3 3
967 #define CAMERA_SATURATION_LV4 4
968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
969 #define CAMERA_SATURATION_LV5 5
970 #define CAMERA_SATURATION_LV6 6
971 #define CAMERA_SATURATION_LV7 7
972 #define CAMERA_SATURATION_LV8 8
973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
974 #define CAMERA_SHARPNESS_LV0 0
975 #define CAMERA_SHARPNESS_LV1 3
976 #define CAMERA_SHARPNESS_LV2 6
977 #define CAMERA_SHARPNESS_LV3 9
978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
979 #define CAMERA_SHARPNESS_LV4 12
980 #define CAMERA_SHARPNESS_LV5 15
981 #define CAMERA_SHARPNESS_LV6 18
982 #define CAMERA_SHARPNESS_LV7 21
983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
984 #define CAMERA_SHARPNESS_LV8 24
985 #define CAMERA_SHARPNESS_LV9 27
986 #define CAMERA_SHARPNESS_LV10 30
987 #define CAMERA_SETAE_AVERAGE 0
988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
989 #define CAMERA_SETAE_CENWEIGHT 1
990 #define CAMERA_WB_AUTO 1
991 #define CAMERA_WB_CUSTOM 2
992 #define CAMERA_WB_INCANDESCENT 3
993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994 #define CAMERA_WB_FLUORESCENT 4
995 #define CAMERA_WB_DAYLIGHT 5
996 #define CAMERA_WB_CLOUDY_DAYLIGHT 6
997 #define CAMERA_WB_TWILIGHT 7
998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
999 #define CAMERA_WB_SHADE 8
1000 #define CAMERA_EXPOSURE_COMPENSATION_LV0 12
1001 #define CAMERA_EXPOSURE_COMPENSATION_LV1 6
1002 #define CAMERA_EXPOSURE_COMPENSATION_LV2 0
1003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1004 #define CAMERA_EXPOSURE_COMPENSATION_LV3 -6
1005 #define CAMERA_EXPOSURE_COMPENSATION_LV4 -12
1006 enum msm_v4l2_saturation_level
1007 {
1008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1009  MSM_V4L2_SATURATION_L0,
1010  MSM_V4L2_SATURATION_L1,
1011  MSM_V4L2_SATURATION_L2,
1012  MSM_V4L2_SATURATION_L3,
1013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1014  MSM_V4L2_SATURATION_L4,
1015  MSM_V4L2_SATURATION_L5,
1016  MSM_V4L2_SATURATION_L6,
1017  MSM_V4L2_SATURATION_L7,
1018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1019  MSM_V4L2_SATURATION_L8,
1020  MSM_V4L2_SATURATION_L9,
1021  MSM_V4L2_SATURATION_L10,
1022 };
1023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1024 enum msm_v4l2_contrast_level
1025 {
1026  MSM_V4L2_CONTRAST_L0,
1027  MSM_V4L2_CONTRAST_L1,
1028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1029  MSM_V4L2_CONTRAST_L2,
1030  MSM_V4L2_CONTRAST_L3,
1031  MSM_V4L2_CONTRAST_L4,
1032  MSM_V4L2_CONTRAST_L5,
1033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1034  MSM_V4L2_CONTRAST_L6,
1035  MSM_V4L2_CONTRAST_L7,
1036  MSM_V4L2_CONTRAST_L8,
1037  MSM_V4L2_CONTRAST_L9,
1038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1039  MSM_V4L2_CONTRAST_L10,
1040 };
1041 enum msm_v4l2_exposure_level
1042 {
1043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044  MSM_V4L2_EXPOSURE_N2,
1045  MSM_V4L2_EXPOSURE_N1,
1046  MSM_V4L2_EXPOSURE_D,
1047  MSM_V4L2_EXPOSURE_P1,
1048 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1049  MSM_V4L2_EXPOSURE_P2,
1050 };
1051 enum msm_v4l2_sharpness_level
1052 {
1053 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1054  MSM_V4L2_SHARPNESS_L0,
1055  MSM_V4L2_SHARPNESS_L1,
1056  MSM_V4L2_SHARPNESS_L2,
1057  MSM_V4L2_SHARPNESS_L3,
1058 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1059  MSM_V4L2_SHARPNESS_L4,
1060  MSM_V4L2_SHARPNESS_L5,
1061  MSM_V4L2_SHARPNESS_L6,
1062 };
1063 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1064 enum msm_v4l2_expo_metering_mode
1065 {
1066  MSM_V4L2_EXP_FRAME_AVERAGE,
1067  MSM_V4L2_EXP_CENTER_WEIGHTED,
1068 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1069  MSM_V4L2_EXP_SPOT_METERING,
1070 };
1071 enum msm_v4l2_iso_mode
1072 {
1073 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1074  MSM_V4L2_ISO_AUTO = 0,
1075  MSM_V4L2_ISO_DEBLUR,
1076  MSM_V4L2_ISO_100,
1077  MSM_V4L2_ISO_200,
1078 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1079  MSM_V4L2_ISO_400,
1080  MSM_V4L2_ISO_800,
1081  MSM_V4L2_ISO_1600,
1082 };
1083 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1084 enum msm_v4l2_wb_mode
1085 {
1086  MSM_V4L2_WB_OFF,
1087  MSM_V4L2_WB_AUTO,
1088 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1089  MSM_V4L2_WB_CUSTOM,
1090  MSM_V4L2_WB_INCANDESCENT,
1091  MSM_V4L2_WB_FLUORESCENT,
1092  MSM_V4L2_WB_DAYLIGHT,
1093 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1094  MSM_V4L2_WB_CLOUDY_DAYLIGHT,
1095 };
1096 enum msm_v4l2_special_effect
1097 {
1098 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1099  MSM_V4L2_EFFECT_OFF,
1100  MSM_V4L2_EFFECT_MONO,
1101  MSM_V4L2_EFFECT_NEGATIVE,
1102  MSM_V4L2_EFFECT_SOLARIZE,
1103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1104  MSM_V4L2_EFFECT_SEPIA,
1105  MSM_V4L2_EFFECT_POSTERAIZE,
1106  MSM_V4L2_EFFECT_WHITEBOARD,
1107  MSM_V4L2_EFFECT_BLACKBOARD,
1108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1109  MSM_V4L2_EFFECT_AQUA,
1110  MSM_V4L2_EFFECT_EMBOSS,
1111  MSM_V4L2_EFFECT_SKETCH,
1112  MSM_V4L2_EFFECT_NEON,
1113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1114  MSM_V4L2_EFFECT_MAX,
1115 };
1116 enum msm_v4l2_power_line_frequency
1117 {
1118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1119  MSM_V4L2_POWER_LINE_OFF,
1120  MSM_V4L2_POWER_LINE_60HZ,
1121  MSM_V4L2_POWER_LINE_50HZ,
1122  MSM_V4L2_POWER_LINE_AUTO,
1123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1124 };
1125 #define CAMERA_ISO_TYPE_AUTO 0
1126 #define CAMEAR_ISO_TYPE_HJR 1
1127 #define CAMEAR_ISO_TYPE_100 2
1128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1129 #define CAMERA_ISO_TYPE_200 3
1130 #define CAMERA_ISO_TYPE_400 4
1131 #define CAMEAR_ISO_TYPE_800 5
1132 #define CAMERA_ISO_TYPE_1600 6
1133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1134 struct sensor_pict_fps
1135 {
1136  uint16_t prevfps;
1137  uint16_t pictfps;
1138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1139 };
1140 struct exp_gain_cfg
1141 {
1142  uint16_t gain;
1143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1144  uint32_t line;
1145 };
1146 struct focus_cfg
1147 {
1148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1149  int32_t steps;
1150  int dir;
1151 };
1152 struct fps_cfg
1153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1154 {
1155  uint16_t f_mult;
1156  uint16_t fps_div;
1157  uint32_t pict_fps_div;
1158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1159 };
1160 struct wb_info_cfg
1161 {
1162  uint16_t red_gain;
1163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1164  uint16_t green_gain;
1165  uint16_t blue_gain;
1166 };
1167 struct sensor_3d_exp_cfg
1168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1169 {
1170  uint16_t gain;
1171  uint32_t line;
1172  uint16_t r_gain;
1173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1174  uint16_t b_gain;
1175  uint16_t gr_gain;
1176  uint16_t gb_gain;
1177  uint16_t gain_adjust;
1178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1179 };
1180 struct sensor_3d_cali_data_t
1181 {
1182  unsigned char left_p_matrix[3][4][8];
1183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1184  unsigned char right_p_matrix[3][4][8];
1185  unsigned char square_len[8];
1186  unsigned char focal_len[8];
1187  unsigned char pixel_pitch[8];
1188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1189  uint16_t left_r;
1190  uint16_t left_b;
1191  uint16_t left_gb;
1192  uint16_t left_af_far;
1193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1194  uint16_t left_af_mid;
1195  uint16_t left_af_short;
1196  uint16_t left_af_5um;
1197  uint16_t left_af_50up;
1198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1199  uint16_t left_af_50down;
1200  uint16_t right_r;
1201  uint16_t right_b;
1202  uint16_t right_gb;
1203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1204  uint16_t right_af_far;
1205  uint16_t right_af_mid;
1206  uint16_t right_af_short;
1207  uint16_t right_af_5um;
1208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1209  uint16_t right_af_50up;
1210  uint16_t right_af_50down;
1211 };
1212 struct sensor_init_cfg
1213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1214 {
1215  uint8_t prev_res;
1216  uint8_t pict_res;
1217 };
1218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1219 #define ROLLOFF_CALDATA_SIZE (17 * 13)
1220 typedef struct
1221 {
1222  unsigned short mesh_rolloff_table_size;
1223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1224  uint8_t r_gain[ROLLOFF_CALDATA_SIZE];
1225  uint8_t gr_gain[ROLLOFF_CALDATA_SIZE];
1226  uint8_t gb_gain[ROLLOFF_CALDATA_SIZE];
1227  uint8_t b_gain[ROLLOFF_CALDATA_SIZE];
1228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1229  uint8_t red_ref[17];
1230 } rolloff_caldata_array_type;
1231 struct sensor_calib_data
1232 {
1233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1234  uint16_t r_over_g;
1235  uint16_t b_over_g;
1236  uint16_t gr_over_gb;
1237  uint16_t macro_2_inf;
1238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1239  uint16_t inf_2_macro;
1240  uint16_t stroke_amt;
1241  uint16_t af_pos_1m;
1242  uint16_t af_pos_inf;
1243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1244  rolloff_caldata_array_type rolloff;
1245 };
1246 enum msm_sensor_resolution_t
1247 {
1248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1249  MSM_SENSOR_RES_FULL,
1250  MSM_SENSOR_RES_QTR,
1251  MSM_SENSOR_RES_2,
1252  MSM_SENSOR_RES_3,
1253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1254  MSM_SENSOR_RES_4,
1255  MSM_SENSOR_RES_5,
1256  MSM_SENSOR_RES_6,
1257  MSM_SENSOR_RES_7,
1258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1259  MSM_SENSOR_INVALID_RES,
1260 };
1261 struct msm_sensor_output_info_t
1262 {
1263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1264  uint16_t x_output;
1265  uint16_t y_output;
1266  uint16_t line_length_pclk;
1267  uint16_t frame_length_lines;
1268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1269  uint32_t vt_pixel_clk;
1270  uint32_t op_pixel_clk;
1271  uint16_t binning_factor;
1272 };
1273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1274 struct sensor_output_info_t
1275 {
1276  struct msm_sensor_output_info_t *output_info;
1277  uint16_t num_info;
1278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1279 };
1280 struct mirror_flip
1281 {
1282  int32_t x_mirror;
1283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1284  int32_t y_flip;
1285 };
1286 struct cord
1287 {
1288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1289  uint32_t x;
1290  uint32_t y;
1291 };
1292 struct msm_eeprom_data_t
1293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1294 {
1295  void *eeprom_data;
1296  uint16_t index;
1297 };
1298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1299 struct msm_camera_csid_vc_cfg
1300 {
1301  uint8_t cid;
1302  uint8_t dt;
1303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1304  uint8_t decode_format;
1305 };
1306 struct csi_lane_params_t
1307 {
1308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1309  uint8_t csi_lane_assign;
1310  uint8_t csi_lane_mask;
1311  uint8_t csi_if;
1312  uint8_t csid_core;
1313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1314  uint32_t csid_version;
1315 };
1316 #define CSI_EMBED_DATA 0x12
1317 #define CSI_RESERVED_DATA_0 0x13
1318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1319 #define CSI_YUV422_8 0x1E
1320 #define CSI_RAW8 0x2A
1321 #define CSI_RAW10 0x2B
1322 #define CSI_RAW12 0x2C
1323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1324 #define CSI_DECODE_6BIT 0
1325 #define CSI_DECODE_8BIT 1
1326 #define CSI_DECODE_10BIT 2
1327 #define CSI_DECODE_DPCM_10_8_10 5
1328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1329 #define ISPIF_STREAM(intf, action, vfe) (((intf)<<ISPIF_S_STREAM_SHIFT)+  (action)+((vfe)<<ISPIF_VFE_INTF_SHIFT))
1330 #define ISPIF_ON_FRAME_BOUNDARY (0x01 << 0)
1331 #define ISPIF_OFF_FRAME_BOUNDARY (0x01 << 1)
1332 #define ISPIF_OFF_IMMEDIATELY (0x01 << 2)
1333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1334 #define ISPIF_S_STREAM_SHIFT 4
1335 #define ISPIF_VFE_INTF_SHIFT 12
1336 #define PIX_0 (0x01 << 0)
1337 #define RDI_0 (0x01 << 1)
1338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1339 #define PIX_1 (0x01 << 2)
1340 #define RDI_1 (0x01 << 3)
1341 #define RDI_2 (0x01 << 4)
1342 enum msm_ispif_vfe_intf
1343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1344 {
1345  VFE0,
1346  VFE1,
1347  VFE_MAX,
1348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1349 };
1350 enum msm_ispif_intftype
1351 {
1352  PIX0,
1353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1354  RDI0,
1355  PIX1,
1356  RDI1,
1357  RDI2,
1358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1359  INTF_MAX,
1360 };
1361 enum msm_ispif_vc
1362 {
1363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1364  VC0,
1365  VC1,
1366  VC2,
1367  VC3,
1368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1369 };
1370 enum msm_ispif_cid
1371 {
1372  CID0,
1373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1374  CID1,
1375  CID2,
1376  CID3,
1377  CID4,
1378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1379  CID5,
1380  CID6,
1381  CID7,
1382  CID8,
1383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1384  CID9,
1385  CID10,
1386  CID11,
1387  CID12,
1388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1389  CID13,
1390  CID14,
1391  CID15,
1392 };
1393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1394 struct msm_ispif_params
1395 {
1396  uint8_t intftype;
1397  uint16_t cid_mask;
1398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1399  uint8_t csid;
1400  uint8_t vfe_intf;
1401 };
1402 struct msm_ispif_params_list
1403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1404 {
1405  uint32_t len;
1406  struct msm_ispif_params params[4];
1407 };
1408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1409 enum ispif_cfg_type_t
1410 {
1411  ISPIF_INIT,
1412  ISPIF_SET_CFG,
1413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1414  ISPIF_SET_ON_FRAME_BOUNDARY,
1415  ISPIF_SET_OFF_FRAME_BOUNDARY,
1416  ISPIF_SET_OFF_IMMEDIATELY,
1417  ISPIF_RELEASE,
1418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1419 };
1420 struct ispif_cfg_data
1421 {
1422  enum ispif_cfg_type_t cfgtype;
1423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1424  union
1425  {
1426  uint32_t csid_version;
1427  int cmd;
1428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1429  struct msm_ispif_params_list ispif_params;
1430  } cfg;
1431 };
1432 struct sensor_cfg_data
1433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1434 {
1435  int cfgtype;
1436  int mode;
1437  int rs;
1438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1439  uint8_t max_steps;
1440  union
1441  {
1442  int8_t effect;
1443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1444  uint8_t lens_shading;
1445  uint16_t prevl_pf;
1446  uint16_t prevp_pl;
1447  uint16_t pictl_pf;
1448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1449  uint16_t pictp_pl;
1450  uint32_t pict_max_exp_lc;
1451  uint16_t p_fps;
1452  uint8_t iso_type;
1453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1454  struct sensor_init_cfg init_info;
1455  struct sensor_pict_fps gfps;
1456  struct exp_gain_cfg exp_gain;
1457  struct focus_cfg focus;
1458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1459  struct fps_cfg fps;
1460  struct wb_info_cfg wb_info;
1461  struct sensor_3d_exp_cfg sensor_3d_exp;
1462  struct sensor_calib_data calib_info;
1463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1464  struct sensor_output_info_t output_info;
1465  struct msm_eeprom_data_t eeprom_data;
1466  struct csi_lane_params_t csi_lane_params;
1467  uint16_t antibanding;
1468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1469  uint8_t contrast;
1470  uint8_t saturation;
1471  uint8_t sharpness;
1472  int8_t brightness;
1473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1474  int ae_mode;
1475  uint8_t wb_val;
1476  int8_t exp_compensation;
1477  struct cord aec_cord;
1478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1479  int is_autoflash;
1480  struct mirror_flip mirror_flip;
1481  } cfg;
1482 };
1483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1484 struct damping_params_t
1485 {
1486  uint32_t damping_step;
1487  uint32_t damping_delay;
1488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1489  uint32_t hw_params;
1490 };
1491 enum actuator_type
1492 {
1493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1494  ACTUATOR_VCM,
1495  ACTUATOR_PIEZO,
1496 };
1497 enum msm_actuator_data_type
1498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1499 {
1500  MSM_ACTUATOR_BYTE_DATA = 1,
1501  MSM_ACTUATOR_WORD_DATA,
1502 };
1503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1504 enum msm_actuator_addr_type
1505 {
1506  MSM_ACTUATOR_BYTE_ADDR = 1,
1507  MSM_ACTUATOR_WORD_ADDR,
1508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1509 };
1510 enum msm_actuator_write_type
1511 {
1512  MSM_ACTUATOR_WRITE_HW_DAMP,
1513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1514  MSM_ACTUATOR_WRITE_DAC,
1515 };
1516 struct msm_actuator_reg_params_t
1517 {
1518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1519  enum msm_actuator_write_type reg_write_type;
1520  uint32_t hw_mask;
1521  uint16_t reg_addr;
1522  uint16_t hw_shift;
1523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1524  uint16_t data_shift;
1525 };
1526 struct reg_settings_t
1527 {
1528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1529  uint16_t reg_addr;
1530  uint16_t reg_data;
1531 };
1532 struct region_params_t
1533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1534 {
1535  uint16_t step_bound[2];
1536  uint16_t code_per_step;
1537 };
1538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1539 struct msm_actuator_move_params_t
1540 {
1541  int8_t dir;
1542  int8_t sign_dir;
1543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1544  int16_t dest_step_pos;
1545  int32_t num_steps;
1546  struct damping_params_t *ringing_params;
1547 };
1548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1549 struct msm_actuator_tuning_params_t
1550 {
1551  int16_t initial_code;
1552  uint16_t pwd_step;
1553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1554  uint16_t region_size;
1555  uint32_t total_steps;
1556  struct region_params_t *region_params;
1557 };
1558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1559 struct msm_actuator_params_t
1560 {
1561  enum actuator_type act_type;
1562  uint8_t reg_tbl_size;
1563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1564  uint16_t data_size;
1565  uint16_t init_setting_size;
1566  uint32_t i2c_addr;
1567  enum msm_actuator_addr_type i2c_addr_type;
1568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1569  enum msm_actuator_data_type i2c_data_type;
1570  struct msm_actuator_reg_params_t *reg_tbl_params;
1571  struct reg_settings_t *init_settings;
1572 };
1573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1574 struct msm_actuator_set_info_t
1575 {
1576  struct msm_actuator_params_t actuator_params;
1577  struct msm_actuator_tuning_params_t af_tuning_params;
1578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1579 };
1580 struct msm_actuator_get_info_t
1581 {
1582  uint32_t focal_length_num;
1583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1584  uint32_t focal_length_den;
1585  uint32_t f_number_num;
1586  uint32_t f_number_den;
1587  uint32_t f_pix_num;
1588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1589  uint32_t f_pix_den;
1590  uint32_t total_f_dist_num;
1591  uint32_t total_f_dist_den;
1592  uint32_t hor_view_angle_num;
1593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1594  uint32_t hor_view_angle_den;
1595  uint32_t ver_view_angle_num;
1596  uint32_t ver_view_angle_den;
1597 };
1598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1599 enum af_camera_name
1600 {
1601  ACTUATOR_MAIN_CAM_0,
1602  ACTUATOR_MAIN_CAM_1,
1603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1604  ACTUATOR_MAIN_CAM_2,
1605  ACTUATOR_MAIN_CAM_3,
1606  ACTUATOR_MAIN_CAM_4,
1607  ACTUATOR_MAIN_CAM_5,
1608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1609  ACTUATOR_WEB_CAM_0,
1610  ACTUATOR_WEB_CAM_1,
1611  ACTUATOR_WEB_CAM_2,
1612 };
1613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1614 struct msm_actuator_cfg_data
1615 {
1616  int cfgtype;
1617  uint8_t is_af_supported;
1618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1619  union
1620  {
1621  struct msm_actuator_move_params_t move;
1622  struct msm_actuator_set_info_t set_info;
1623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1624  struct msm_actuator_get_info_t get_info;
1625  enum af_camera_name cam_name;
1626  } cfg;
1627 };
1628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1629 struct msm_eeprom_support
1630 {
1631  uint16_t is_supported;
1632  uint16_t size;
1633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1634  uint16_t index;
1635  uint16_t qvalue;
1636 };
1637 struct msm_calib_wb
1638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1639 {
1640  uint16_t r_over_g;
1641  uint16_t b_over_g;
1642  uint16_t gr_over_gb;
1643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1644 };
1645 struct msm_calib_af
1646 {
1647  uint16_t macro_dac;
1648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1649  uint16_t inf_dac;
1650  uint16_t start_dac;
1651 };
1652 struct msm_calib_lsc
1653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1654 {
1655  uint16_t r_gain[221];
1656  uint16_t b_gain[221];
1657  uint16_t gr_gain[221];
1658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1659  uint16_t gb_gain[221];
1660 };
1661 struct pixel_t
1662 {
1663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1664  int x;
1665  int y;
1666 };
1667 struct msm_calib_dpc
1668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1669 {
1670  uint16_t validcount;
1671  struct pixel_t snapshot_coord[128];
1672  struct pixel_t preview_coord[128];
1673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1674  struct pixel_t video_coord[128];
1675 };
1676 struct msm_camera_eeprom_info_t
1677 {
1678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1679  struct msm_eeprom_support af;
1680  struct msm_eeprom_support wb;
1681  struct msm_eeprom_support lsc;
1682  struct msm_eeprom_support dpc;
1683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1684 };
1685 struct msm_eeprom_cfg_data
1686 {
1687  int cfgtype;
1688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1689  uint8_t is_eeprom_supported;
1690  union
1691  {
1692  struct msm_eeprom_data_t get_data;
1693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1694  struct msm_camera_eeprom_info_t get_info;
1695  } cfg;
1696 };
1697 struct sensor_large_data
1698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1699 {
1700  int cfgtype;
1701  union
1702  {
1703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1704  struct sensor_3d_cali_data_t sensor_3d_cali_data;
1705  } data;
1706 };
1707 enum sensor_type_t
1708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1709 {
1710  BAYER,
1711  YUV,
1712  JPEG_SOC,
1713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1714 };
1715 enum flash_type
1716 {
1717  LED_FLASH,
1718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1719  STROBE_FLASH,
1720 };
1721 enum strobe_flash_ctrl_type
1722 {
1723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1724  STROBE_FLASH_CTRL_INIT,
1725  STROBE_FLASH_CTRL_CHARGE,
1726  STROBE_FLASH_CTRL_RELEASE
1727 };
1728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1729 struct strobe_flash_ctrl_data
1730 {
1731  enum strobe_flash_ctrl_type type;
1732  int charge_en;
1733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1734 };
1735 struct msm_camera_info
1736 {
1737  int num_cameras;
1738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1739  uint8_t has_3d_support[MSM_MAX_CAMERA_SENSORS];
1740  uint8_t is_internal_cam[MSM_MAX_CAMERA_SENSORS];
1741  uint32_t s_mount_angle[MSM_MAX_CAMERA_SENSORS];
1742  const char *video_dev_name[MSM_MAX_CAMERA_SENSORS];
1743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1744  enum sensor_type_t sensor_type[MSM_MAX_CAMERA_SENSORS];
1745 };
1746 struct msm_cam_config_dev_info
1747 {
1748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1749  int num_config_nodes;
1750  const char *config_dev_name[MSM_MAX_CAMERA_CONFIGS];
1751  int config_dev_id[MSM_MAX_CAMERA_CONFIGS];
1752 };
1753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1754 struct msm_mctl_node_info
1755 {
1756  int num_mctl_nodes;
1757  const char *mctl_node_name[MSM_MAX_CAMERA_SENSORS];
1758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1759 };
1760 struct flash_ctrl_data
1761 {
1762  int flashtype;
1763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1764  union
1765  {
1766  int led_state;
1767  struct strobe_flash_ctrl_data strobe_ctrl;
1768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1769  } ctrl_data;
1770 };
1771 #define GET_NAME 0
1772 #define GET_PREVIEW_LINE_PER_FRAME 1
1773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1774 #define GET_PREVIEW_PIXELS_PER_LINE 2
1775 #define GET_SNAPSHOT_LINE_PER_FRAME 3
1776 #define GET_SNAPSHOT_PIXELS_PER_LINE 4
1777 #define GET_SNAPSHOT_FPS 5
1778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1779 #define GET_SNAPSHOT_MAX_EP_LINE_CNT 6
1780 struct msm_camsensor_info
1781 {
1782  char name[MAX_SENSOR_NAME];
1783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1784  uint8_t flash_enabled;
1785  uint8_t strobe_flash_enabled;
1786  uint8_t actuator_enabled;
1787  uint8_t ispif_supported;
1788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1789  int8_t total_steps;
1790  uint8_t support_3d;
1791  enum flash_type flashtype;
1792  enum sensor_type_t sensor_type;
1793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1794  uint32_t pxlcode;
1795  uint32_t camera_type;
1796  int mount_angle;
1797  uint32_t max_width;
1798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1799  uint32_t max_height;
1800 };
1801 #define V4L2_SINGLE_PLANE 0
1802 #define V4L2_MULTI_PLANE_Y 0
1803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1804 #define V4L2_MULTI_PLANE_CBCR 1
1805 #define V4L2_MULTI_PLANE_CB 1
1806 #define V4L2_MULTI_PLANE_CR 2
1807 struct plane_data
1808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1809 {
1810  int plane_id;
1811  uint32_t offset;
1812  unsigned long size;
1813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1814 };
1815 struct img_plane_info
1816 {
1817  uint32_t width;
1818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1819  uint32_t height;
1820  uint32_t pixelformat;
1821  uint8_t buffer_type;
1822  uint8_t output_port;
1823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1824  uint32_t ext_mode;
1825  uint8_t num_planes;
1826  struct plane_data plane[MAX_PLANES];
1827  uint32_t sp_y_offset;
1828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1829  uint32_t inst_handle;
1830 };
1831 #define QCAMERA_NAME "qcamera"
1832 #define QCAMERA_SERVER_NAME "qcamera_server"
1833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1834 #define QCAMERA_DEVICE_GROUP_ID 1
1835 #define QCAMERA_VNODE_GROUP_ID 2
1836 enum msm_cam_subdev_type
1837 {
1838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1839  CSIPHY_DEV,
1840  CSID_DEV,
1841  CSIC_DEV,
1842  ISPIF_DEV,
1843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1844  VFE_DEV,
1845  AXI_DEV,
1846  VPE_DEV,
1847  SENSOR_DEV,
1848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1849  ACTUATOR_DEV,
1850  EEPROM_DEV,
1851  GESTURE_DEV,
1852  IRQ_ROUTER_DEV,
1853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1854  CPP_DEV,
1855  CCI_DEV,
1856 };
1857 struct msm_mctl_set_sdev_data
1858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1859 {
1860  uint32_t revision;
1861  enum msm_cam_subdev_type sdev_type;
1862 };
1863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1864 #define MSM_CAM_V4L2_IOCTL_GET_CAMERA_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
1865 #define MSM_CAM_V4L2_IOCTL_GET_CONFIG_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
1866 #define MSM_CAM_V4L2_IOCTL_GET_MCTL_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
1867 #define MSM_CAM_V4L2_IOCTL_CTRL_CMD_DONE   _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
1868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1869 #define MSM_CAM_V4L2_IOCTL_GET_EVENT_PAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
1870 #define MSM_CAM_IOCTL_SEND_EVENT   _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct v4l2_event)
1871 #define MSM_CAM_V4L2_IOCTL_CFG_VPE   _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_vpe_cfg_cmd)
1872 #define MSM_CAM_V4L2_IOCTL_PRIVATE_S_CTRL   _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t)
1873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1874 #define MSM_CAM_V4L2_IOCTL_PRIVATE_G_CTRL   _IOWR('V', BASE_VIDIOC_PRIVATE + 9, struct msm_camera_v4l2_ioctl_t)
1875 #define VIDIOC_MSM_VPE_INIT   _IO('V', BASE_VIDIOC_PRIVATE + 15)
1876 #define VIDIOC_MSM_VPE_RELEASE   _IO('V', BASE_VIDIOC_PRIVATE + 16)
1877 #define VIDIOC_MSM_VPE_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 17, struct msm_mctl_pp_params *)
1878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1879 #define VIDIOC_MSM_AXI_INIT   _IO('V', BASE_VIDIOC_PRIVATE + 18)
1880 #define VIDIOC_MSM_AXI_RELEASE   _IO('V', BASE_VIDIOC_PRIVATE + 19)
1881 #define VIDIOC_MSM_AXI_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 20, void *)
1882 #define VIDIOC_MSM_AXI_IRQ   _IOWR('V', BASE_VIDIOC_PRIVATE + 21, void *)
1883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1884 #define VIDIOC_MSM_AXI_BUF_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
1885 #define VIDIOC_MSM_VFE_INIT   _IO('V', BASE_VIDIOC_PRIVATE + 22)
1886 #define VIDIOC_MSM_VFE_RELEASE   _IO('V', BASE_VIDIOC_PRIVATE + 23)
1887 struct msm_camera_v4l2_ioctl_t
1888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1889 {
1890  uint32_t id;
1891  void __user *ioctl_ptr;
1892  uint32_t len;
1893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1894 };
1895 struct msm_camera_vfe_params_t
1896 {
1897  uint32_t operation_mode;
1898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1899  uint32_t capture_count;
1900  uint32_t skip_abort;
1901  uint16_t port_info;
1902  uint32_t inst_handle;
1903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1904  uint16_t cmd_type;
1905 };
1906 enum msm_camss_irq_idx
1907 {
1908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1909  CAMERA_SS_IRQ_0,
1910  CAMERA_SS_IRQ_1,
1911  CAMERA_SS_IRQ_2,
1912  CAMERA_SS_IRQ_3,
1913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1914  CAMERA_SS_IRQ_4,
1915  CAMERA_SS_IRQ_5,
1916  CAMERA_SS_IRQ_6,
1917  CAMERA_SS_IRQ_7,
1918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1919  CAMERA_SS_IRQ_8,
1920  CAMERA_SS_IRQ_9,
1921  CAMERA_SS_IRQ_10,
1922  CAMERA_SS_IRQ_11,
1923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1924  CAMERA_SS_IRQ_12,
1925  CAMERA_SS_IRQ_MAX
1926 };
1927 enum msm_cam_hw_idx
1928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1929 {
1930  MSM_CAM_HW_MICRO,
1931  MSM_CAM_HW_CCI,
1932  MSM_CAM_HW_CSI0,
1933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1934  MSM_CAM_HW_CSI1,
1935  MSM_CAM_HW_CSI2,
1936  MSM_CAM_HW_CSI3,
1937  MSM_CAM_HW_ISPIF,
1938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1939  MSM_CAM_HW_CPP,
1940  MSM_CAM_HW_VFE0,
1941  MSM_CAM_HW_VFE1,
1942  MSM_CAM_HW_JPEG0,
1943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1944  MSM_CAM_HW_JPEG1,
1945  MSM_CAM_HW_JPEG2,
1946  MSM_CAM_HW_MAX
1947 };
1948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1949 struct msm_camera_irq_cfg
1950 {
1951  uint32_t cam_hw_mask;
1952  uint8_t irq_idx;
1953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1954  uint8_t num_hwcore;
1955 };
1956 #define MSM_IRQROUTER_CFG_COMPIRQ   _IOWR('V', BASE_VIDIOC_PRIVATE, void __user *)
1957 #define MAX_NUM_CPP_STRIPS 8
1958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1959 enum msm_cpp_frame_type
1960 {
1961  MSM_CPP_OFFLINE_FRAME,
1962  MSM_CPP_REALTIME_FRAME,
1963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1964 };
1965 struct msm_cpp_frame_strip_info
1966 {
1967  int scale_v_en;
1968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1969  int scale_h_en;
1970  int upscale_v_en;
1971  int upscale_h_en;
1972  int src_start_x;
1973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1974  int src_end_x;
1975  int src_start_y;
1976  int src_end_y;
1977  int pad_bottom;
1978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1979  int pad_top;
1980  int pad_right;
1981  int pad_left;
1982  int v_init_phase;
1983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1984  int h_init_phase;
1985  int h_phase_step;
1986  int v_phase_step;
1987  int prescale_crop_width_first_pixel;
1988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1989  int prescale_crop_width_last_pixel;
1990  int prescale_crop_height_first_line;
1991  int prescale_crop_height_last_line;
1992  int postscale_crop_height_first_line;
1993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1994  int postscale_crop_height_last_line;
1995  int postscale_crop_width_first_pixel;
1996  int postscale_crop_width_last_pixel;
1997  int dst_start_x;
1998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1999  int dst_end_x;
2000  int dst_start_y;
2001  int dst_end_y;
2002  int bytes_per_pixel;
2003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2004  unsigned int source_address;
2005  unsigned int destination_address;
2006  unsigned int src_stride;
2007  unsigned int dst_stride;
2008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2009  int rotate_270;
2010  int horizontal_flip;
2011  int vertical_flip;
2012  int scale_output_width;
2013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2014  int scale_output_height;
2015 };
2016 struct msm_cpp_frame_info_t
2017 {
2018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2019  int32_t frame_id;
2020  uint32_t inst_id;
2021  uint32_t client_id;
2022  enum msm_cpp_frame_type frame_type;
2023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2024  uint32_t num_strips;
2025  struct msm_cpp_frame_strip_info *strip_info;
2026 };
2027 struct msm_ver_num_info
2028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2029 {
2030  uint32_t main;
2031  uint32_t minor;
2032  uint32_t rev;
2033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2034 };
2035 #define VIDIOC_MSM_CPP_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
2036 #define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
2037 #define VIDIOC_MSM_CPP_GET_INST_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
2038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2039 #define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
2040 #define CLR_IMG_MODE(handle) (handle &= 0xFF00FFFF)
2041 #define SET_IMG_MODE(handle, data)   (handle |= ((0x1 << 23) | ((data & 0x7F) << 16)))
2042 #define GET_IMG_MODE(handle)   ((handle & 0x800000) ? ((handle & 0x7F0000) >> 16) : 0xFF)
2043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2044 #define CLR_MCTLPP_INST_IDX(handle) (handle &= 0xFFFF00FF)
2045 #define SET_MCTLPP_INST_IDX(handle, data)   (handle |= ((0x1 << 15) | ((data & 0x7F) << 8)))
2046 #define GET_MCTLPP_INST_IDX(handle)   ((handle & 0x8000) ? ((handle & 0x7F00) >> 8) : 0xFF)
2047 #define CLR_VIDEO_INST_IDX(handle) (handle &= 0xFFFFFF00)
2048 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2049 #define GET_VIDEO_INST_IDX(handle)   ((handle & 0x80) ? (handle & 0x7F) : 0xFF)
2050 #define SET_VIDEO_INST_IDX(handle, data)   (handle |= (0x1 << 7) | (data & 0x7F))
2051 #endif
2052