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