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