blob: 5affc806b3990b23509956b2a5c604c036583f61 [file] [log] [blame]
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
Iliyan Malchev94a144e2009-04-30 12:29:52 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_MSM_CAMERA_H
20#define __LINUX_MSM_CAMERA_H
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070021#ifdef MSM_CAMERA_BIONIC
22#include <sys/types.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070024#endif
25#include <linux/types.h>
Iliyan Malchev94a144e2009-04-30 12:29:52 -070026#include <linux/ioctl.h>
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070027#ifdef MSM_CAMERA_GCC
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#include <time.h>
30#else
31#include <linux/time.h>
32#endif
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#include <linux/ion.h>
35#define BIT(nr) (1UL << (nr))
Iliyan Malchev94a144e2009-04-30 12:29:52 -070036#define MSM_CAM_IOCTL_MAGIC 'm'
Iliyan Malchev07116002009-06-23 20:08:10 -070037#define MSM_CAM_IOCTL_GET_SENSOR_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 1, struct msm_camsensor_info *)
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070039#define MSM_CAM_IOCTL_REGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 2, struct msm_pmem_info *)
Iliyan Malchev07116002009-06-23 20:08:10 -070040#define MSM_CAM_IOCTL_UNREGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 3, unsigned)
Iliyan Malchev07116002009-06-23 20:08:10 -070041#define MSM_CAM_IOCTL_CTRL_COMMAND _IOW(MSM_CAM_IOCTL_MAGIC, 4, struct msm_ctrl_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070042#define MSM_CAM_IOCTL_CONFIG_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 5, struct msm_camera_vfe_cfg_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070044#define MSM_CAM_IOCTL_GET_STATS _IOR(MSM_CAM_IOCTL_MAGIC, 6, struct msm_camera_stats_event_ctrl *)
Iliyan Malchev07116002009-06-23 20:08:10 -070045#define MSM_CAM_IOCTL_GETFRAME _IOR(MSM_CAM_IOCTL_MAGIC, 7, struct msm_camera_get_frame *)
Iliyan Malchev07116002009-06-23 20:08:10 -070046#define MSM_CAM_IOCTL_ENABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 8, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070047#define MSM_CAM_IOCTL_CTRL_CMD_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 9, struct camera_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070049#define MSM_CAM_IOCTL_CONFIG_CMD _IOW(MSM_CAM_IOCTL_MAGIC, 10, struct camera_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070050#define MSM_CAM_IOCTL_DISABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 11, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070051#define MSM_CAM_IOCTL_PAD_REG_RESET2 _IOW(MSM_CAM_IOCTL_MAGIC, 12, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070052#define MSM_CAM_IOCTL_VFE_APPS_RESET _IOW(MSM_CAM_IOCTL_MAGIC, 13, struct camera_enable_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070054#define MSM_CAM_IOCTL_RELEASE_FRAME_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 14, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070055#define MSM_CAM_IOCTL_RELEASE_STATS_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 15, struct msm_stats_buf *)
Iliyan Malchev07116002009-06-23 20:08:10 -070056#define MSM_CAM_IOCTL_AXI_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 16, struct msm_camera_vfe_cfg_cmd *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070057#define MSM_CAM_IOCTL_GET_PICTURE _IOW(MSM_CAM_IOCTL_MAGIC, 17, struct msm_frame *)
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070059#define MSM_CAM_IOCTL_SET_CROP _IOW(MSM_CAM_IOCTL_MAGIC, 18, struct crop_info *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070060#define MSM_CAM_IOCTL_PICT_PP _IOW(MSM_CAM_IOCTL_MAGIC, 19, uint8_t *)
61#define MSM_CAM_IOCTL_PICT_PP_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 20, struct msm_snapshot_pp_status *)
Iliyan Malchev07116002009-06-23 20:08:10 -070062#define MSM_CAM_IOCTL_SENSOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 21, struct sensor_cfg_data *)
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070064#define MSM_CAM_IOCTL_FLASH_LED_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 22, unsigned *)
Iliyan Malchev07116002009-06-23 20:08:10 -070065#define MSM_CAM_IOCTL_UNBLOCK_POLL_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 23)
Iliyan Malchev07116002009-06-23 20:08:10 -070066#define MSM_CAM_IOCTL_CTRL_COMMAND_2 _IOW(MSM_CAM_IOCTL_MAGIC, 24, struct msm_ctrl_cmd *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070067#define MSM_CAM_IOCTL_AF_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 25, struct msm_ctrl_cmt_t *)
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070069#define MSM_CAM_IOCTL_AF_CTRL_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 26, struct msm_ctrl_cmt_t *)
70#define MSM_CAM_IOCTL_CONFIG_VPE _IOW(MSM_CAM_IOCTL_MAGIC, 27, struct msm_camera_vpe_cfg_cmd *)
71#define MSM_CAM_IOCTL_AXI_VPE_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 28, struct msm_camera_vpe_cfg_cmd *)
72#define MSM_CAM_IOCTL_STROBE_FLASH_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 29, uint32_t *)
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define MSM_CAM_IOCTL_STROBE_FLASH_CHARGE _IOW(MSM_CAM_IOCTL_MAGIC, 30, uint32_t *)
75#define MSM_CAM_IOCTL_STROBE_FLASH_RELEASE _IO(MSM_CAM_IOCTL_MAGIC, 31)
76#define MSM_CAM_IOCTL_FLASH_CTRL _IOW(MSM_CAM_IOCTL_MAGIC, 32, struct flash_ctrl_data *)
77#define MSM_CAM_IOCTL_ERROR_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 33, uint32_t *)
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define MSM_CAM_IOCTL_ABORT_CAPTURE _IO(MSM_CAM_IOCTL_MAGIC, 34)
80#define MSM_CAM_IOCTL_SET_FD_ROI _IOW(MSM_CAM_IOCTL_MAGIC, 35, struct fd_roi_info *)
81#define MSM_CAM_IOCTL_GET_CAMERA_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 36, struct msm_camera_info *)
82#define MSM_CAM_IOCTL_UNBLOCK_POLL_PIC_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 37)
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define MSM_CAM_IOCTL_RELEASE_PIC_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 38, struct camera_enable_cmd *)
85#define MSM_CAM_IOCTL_PUT_ST_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 39, struct msm_camera_st_frame *)
86#define MSM_CAM_IOCTL_V4L2_EVT_NOTIFY _IOR(MSM_CAM_IOCTL_MAGIC, 40, struct v4l2_event *)
87#define MSM_CAM_IOCTL_SET_MEM_MAP_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 41, struct msm_mem_map_info *)
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define MSM_CAM_IOCTL_ACTUATOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 42, struct msm_actuator_cfg_data *)
90#define MSM_CAM_IOCTL_MCTL_POST_PROC _IOW(MSM_CAM_IOCTL_MAGIC, 43, struct msm_mctl_post_proc_cmd *)
91#define MSM_CAM_IOCTL_RESERVE_FREE_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 44, struct msm_cam_evt_divert_frame *)
92#define MSM_CAM_IOCTL_RELEASE_FREE_FRAME _IOR(MSM_CAM_IOCTL_MAGIC, 45, struct msm_cam_evt_divert_frame *)
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define MSM_CAM_IOCTL_PICT_PP_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 46, struct msm_pp_frame *)
95#define MSM_CAM_IOCTL_SENSOR_V4l2_S_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 47, struct v4l2_control)
96#define MSM_CAM_IOCTL_SENSOR_V4l2_QUERY_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 48, struct v4l2_queryctrl)
97#define MSM_CAM_IOCTL_GET_KERNEL_SYSTEM_TIME _IOW(MSM_CAM_IOCTL_MAGIC, 49, struct timeval *)
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#define MSM_CAM_IOCTL_SET_VFE_OUTPUT_TYPE _IOW(MSM_CAM_IOCTL_MAGIC, 50, uint32_t *)
100#define MSM_CAM_IOCTL_MCTL_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 51, struct msm_cam_evt_divert_frame *)
101#define MSM_CAM_IOCTL_GET_ACTUATOR_INFO _IOW(MSM_CAM_IOCTL_MAGIC, 52, struct msm_actuator_cfg_data *)
102#define MSM_CAM_IOCTL_EEPROM_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 53, struct msm_eeprom_cfg_data *)
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define MSM_CAM_IOCTL_ISPIF_IO_CFG _IOR(MSM_CAM_IOCTL_MAGIC, 54, struct ispif_cfg_data *)
105struct msm_mctl_pp_cmd {
106 int32_t id;
107 uint16_t length;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 void *value;
110};
111struct msm_mctl_post_proc_cmd {
112 int32_t type;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 struct msm_mctl_pp_cmd cmd;
115};
116#define MSM_CAMERA_LED_OFF 0
117#define MSM_CAMERA_LED_LOW 1
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define MSM_CAMERA_LED_HIGH 2
120#define MSM_CAMERA_LED_INIT 3
121#define MSM_CAMERA_LED_RELEASE 4
122#define MSM_CAMERA_STROBE_FLASH_NONE 0
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define MSM_CAMERA_STROBE_FLASH_XENON 1
125#define MSM_MAX_CAMERA_SENSORS 5
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700126#define MAX_SENSOR_NAME 32
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700127#define MAX_CAM_NAME_SIZE 32
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700129#define MAX_ACT_MOD_NAME_SIZE 32
130#define MAX_ACT_NAME_SIZE 32
131#define NUM_ACTUATOR_DIR 2
132#define MAX_ACTUATOR_SCENARIO 8
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define MAX_ACTUATOR_REGION 5
135#define MAX_ACTUATOR_INIT_SET 12
136#define MAX_ACTUATOR_TYPE_SIZE 32
137#define MAX_ACTUATOR_REG_TBL_SIZE 8
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define MSM_MAX_CAMERA_CONFIGS 2
140#define PP_SNAP 0x01
141#define PP_RAW_SNAP ((0x01)<<1)
142#define PP_PREV ((0x01)<<2)
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define PP_THUMB ((0x01)<<3)
145#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB)
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700146#define MSM_CAM_CTRL_CMD_DONE 0
147#define MSM_CAM_SENSOR_VFE_CMD 1
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700149#define MAX_PLANES 8
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700150struct msm_ctrl_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700151 uint16_t type;
152 uint16_t length;
Ben Cheng654325d2012-03-07 21:13:49 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700154 void *value;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700155 uint16_t status;
156 uint32_t timeout_ms;
157 int resp_fd;
Ben Cheng654325d2012-03-07 21:13:49 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700159 int vnode_id;
160 int queue_idx;
161 uint32_t evt_id;
162 uint32_t stream_type;
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 int config_ident;
165};
166struct msm_cam_evt_msg {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700167 unsigned short type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700169 unsigned short msg_id;
170 unsigned int len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700171 uint32_t frame_id;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700172 void *data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 struct timespec timestamp;
175};
176struct msm_pp_frame_sp {
177 unsigned long phy_addr;
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 uint32_t y_off;
180 uint32_t cbcr_off;
181 uint32_t length;
182 int32_t fd;
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 uint32_t addr_offset;
185 unsigned long vaddr;
186};
187struct msm_pp_frame_mp {
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 unsigned long phy_addr;
190 uint32_t data_offset;
191 uint32_t length;
192 int32_t fd;
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 uint32_t addr_offset;
195 unsigned long vaddr;
196};
197struct msm_pp_frame {
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 uint32_t handle;
200 uint32_t frame_id;
201 unsigned short buf_idx;
202 int path;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 unsigned short image_type;
205 unsigned short num_planes;
206 struct timeval timestamp;
207 union {
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 struct msm_pp_frame_sp sp;
210 struct msm_pp_frame_mp mp[MAX_PLANES];
211 };
212 int node_type;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214};
215struct msm_cam_evt_divert_frame {
216 unsigned short image_mode;
217 unsigned short op_mode;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 unsigned short inst_idx;
220 unsigned short node_idx;
221 struct msm_pp_frame frame;
222 int do_pp;
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224};
225struct msm_mctl_pp_cmd_ack_event {
226 uint32_t cmd;
227 int status;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 uint32_t cookie;
230};
231struct msm_mctl_pp_event_info {
232 int32_t event;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 union {
235 struct msm_mctl_pp_cmd_ack_event ack;
236 };
237};
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239struct msm_isp_event_ctrl {
240 unsigned short resptype;
241 union {
242 struct msm_cam_evt_msg isp_msg;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 struct msm_ctrl_cmd ctrl;
245 struct msm_cam_evt_divert_frame div_frame;
246 struct msm_mctl_pp_event_info pp_event_info;
247 } isp_data;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700249};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700250#define MSM_CAM_RESP_CTRL 0
251#define MSM_CAM_RESP_STAT_EVT_MSG 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700252#define MSM_CAM_RESP_STEREO_OP_1 2
Ben Cheng654325d2012-03-07 21:13:49 -0800253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700254#define MSM_CAM_RESP_STEREO_OP_2 3
255#define MSM_CAM_RESP_V4L2 4
256#define MSM_CAM_RESP_DIV_FRAME_EVT_MSG 5
257#define MSM_CAM_RESP_DONE_EVENT 6
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259#define MSM_CAM_RESP_MCTL_PP_EVENT 7
260#define MSM_CAM_RESP_MAX 8
261#define MSM_CAM_APP_NOTIFY_EVENT 0
262#define MSM_CAM_APP_NOTIFY_ERROR_EVENT 1
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700264struct msm_stats_event_ctrl {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700265 int resptype;
266 int timeout_ms;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700267 struct msm_ctrl_cmd ctrl_cmd;
Ben Cheng654325d2012-03-07 21:13:49 -0800268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700269 struct msm_cam_evt_msg stats_event;
270};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700271struct msm_camera_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700272 uint16_t cfg_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700274 uint16_t cmd_type;
275 uint16_t queue;
276 uint16_t length;
277 void *value;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700279};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700280#define CMD_GENERAL 0
281#define CMD_AXI_CFG_OUT1 1
282#define CMD_AXI_CFG_SNAP_O1_AND_O2 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700284#define CMD_AXI_CFG_OUT2 3
285#define CMD_PICT_T_AXI_CFG 4
286#define CMD_PICT_M_AXI_CFG 5
287#define CMD_RAW_PICT_AXI_CFG 6
Ben Cheng654325d2012-03-07 21:13:49 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700289#define CMD_FRAME_BUF_RELEASE 7
290#define CMD_PREV_BUF_CFG 8
291#define CMD_SNAP_BUF_RELEASE 9
292#define CMD_SNAP_BUF_CFG 10
Ben Cheng654325d2012-03-07 21:13:49 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700294#define CMD_STATS_DISABLE 11
295#define CMD_STATS_AEC_AWB_ENABLE 12
296#define CMD_STATS_AF_ENABLE 13
297#define CMD_STATS_AEC_ENABLE 14
Ben Cheng654325d2012-03-07 21:13:49 -0800298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700299#define CMD_STATS_AWB_ENABLE 15
300#define CMD_STATS_ENABLE 16
301#define CMD_STATS_AXI_CFG 17
302#define CMD_STATS_AEC_AXI_CFG 18
Ben Cheng654325d2012-03-07 21:13:49 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700304#define CMD_STATS_AF_AXI_CFG 19
305#define CMD_STATS_AWB_AXI_CFG 20
306#define CMD_STATS_RS_AXI_CFG 21
307#define CMD_STATS_CS_AXI_CFG 22
Ben Cheng654325d2012-03-07 21:13:49 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700309#define CMD_STATS_IHIST_AXI_CFG 23
310#define CMD_STATS_SKIN_AXI_CFG 24
311#define CMD_STATS_BUF_RELEASE 25
312#define CMD_STATS_AEC_BUF_RELEASE 26
Ben Cheng654325d2012-03-07 21:13:49 -0800313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700314#define CMD_STATS_AF_BUF_RELEASE 27
315#define CMD_STATS_AWB_BUF_RELEASE 28
316#define CMD_STATS_RS_BUF_RELEASE 29
317#define CMD_STATS_CS_BUF_RELEASE 30
Ben Cheng654325d2012-03-07 21:13:49 -0800318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700319#define CMD_STATS_IHIST_BUF_RELEASE 31
320#define CMD_STATS_SKIN_BUF_RELEASE 32
321#define UPDATE_STATS_INVALID 33
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700322#define CMD_AXI_CFG_SNAP_GEMINI 34
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700324#define CMD_AXI_CFG_SNAP 35
325#define CMD_AXI_CFG_PREVIEW 36
326#define CMD_AXI_CFG_VIDEO 37
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700327#define CMD_STATS_IHIST_ENABLE 38
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700329#define CMD_STATS_RS_ENABLE 39
330#define CMD_STATS_CS_ENABLE 40
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700331#define CMD_VPE 41
332#define CMD_AXI_CFG_VPE 42
Ben Cheng654325d2012-03-07 21:13:49 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700334#define CMD_AXI_CFG_ZSL 43
335#define CMD_AXI_CFG_SNAP_VPE 44
336#define CMD_AXI_CFG_SNAP_THUMB_VPE 45
337#define CMD_CONFIG_PING_ADDR 46
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339#define CMD_CONFIG_PONG_ADDR 47
340#define CMD_CONFIG_FREE_BUF_ADDR 48
341#define CMD_AXI_CFG_ZSL_ALL_CHNLS 49
342#define CMD_AXI_CFG_VIDEO_ALL_CHNLS 50
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344#define CMD_VFE_BUFFER_RELEASE 51
345#define CMD_VFE_PROCESS_IRQ 52
346#define CMD_AXI_CFG_PRIM BIT(8)
347#define CMD_AXI_CFG_PRIM_ALL_CHNLS BIT(9)
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349#define CMD_AXI_CFG_SEC BIT(10)
350#define CMD_AXI_CFG_SEC_ALL_CHNLS BIT(11)
351#define CMD_AXI_CFG_TERT1 BIT(12)
352#define CMD_AXI_CFG_TERT2 BIT(13)
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354#define CMD_AXI_START 0xE1
355#define CMD_AXI_STOP 0xE2
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700356struct msm_vfe_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700357 int cmd_type;
Ben Cheng654325d2012-03-07 21:13:49 -0800358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700359 uint16_t length;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700360 void *value;
361};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700362struct msm_vpe_cfg_cmd {
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 int cmd_type;
365 uint16_t length;
366 void *value;
367};
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700369#define MAX_CAMERA_ENABLE_NAME_LEN 32
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700370struct camera_enable_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700371 char name[MAX_CAMERA_ENABLE_NAME_LEN];
372};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700374#define MSM_PMEM_OUTPUT1 0
375#define MSM_PMEM_OUTPUT2 1
376#define MSM_PMEM_OUTPUT1_OUTPUT2 2
Iliyan Malchev82420122009-09-11 00:29:59 -0700377#define MSM_PMEM_THUMBNAIL 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700379#define MSM_PMEM_MAINIMG 4
380#define MSM_PMEM_RAW_MAINIMG 5
381#define MSM_PMEM_AEC_AWB 6
382#define MSM_PMEM_AF 7
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700384#define MSM_PMEM_AEC 8
385#define MSM_PMEM_AWB 9
386#define MSM_PMEM_RS 10
387#define MSM_PMEM_CS 11
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700389#define MSM_PMEM_IHIST 12
390#define MSM_PMEM_SKIN 13
391#define MSM_PMEM_VIDEO 14
392#define MSM_PMEM_PREVIEW 15
Ben Cheng654325d2012-03-07 21:13:49 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700394#define MSM_PMEM_VIDEO_VPE 16
395#define MSM_PMEM_C2D 17
396#define MSM_PMEM_MAINIMG_VPE 18
397#define MSM_PMEM_THUMBNAIL_VPE 19
Ben Cheng654325d2012-03-07 21:13:49 -0800398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700399#define MSM_PMEM_MAX 20
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700400#define STAT_AEAW 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700401#define STAT_AEC 1
402#define STAT_AF 2
Ben Cheng654325d2012-03-07 21:13:49 -0800403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700404#define STAT_AWB 3
405#define STAT_RS 4
406#define STAT_CS 5
407#define STAT_IHIST 6
Ben Cheng654325d2012-03-07 21:13:49 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700409#define STAT_SKIN 7
410#define STAT_MAX 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700411#define FRAME_PREVIEW_OUTPUT1 0
412#define FRAME_PREVIEW_OUTPUT2 1
Ben Cheng654325d2012-03-07 21:13:49 -0800413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700414#define FRAME_SNAPSHOT 2
415#define FRAME_THUMBNAIL 3
416#define FRAME_RAW_SNAPSHOT 4
417#define FRAME_MAX 5
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419struct msm_pmem_info {
420 int type;
421 int fd;
422 void *vaddr;
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 uint32_t offset;
425 uint32_t len;
426 uint32_t y_off;
427 uint32_t cbcr_off;
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 uint32_t planar0_off;
430 uint32_t planar1_off;
431 uint32_t planar2_off;
432 uint8_t active;
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434};
435struct outputCfg {
436 uint32_t height;
437 uint32_t width;
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 uint32_t window_height_firstline;
440 uint32_t window_height_lastline;
441};
442#define VIDEO_NODE 0
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444#define MCTL_NODE 1
445#define OUTPUT_1 0
446#define OUTPUT_2 1
447#define OUTPUT_1_AND_2 2
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449#define OUTPUT_1_AND_3 3
450#define CAMIF_TO_AXI_VIA_OUTPUT_2 4
451#define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 5
452#define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 6
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454#define OUTPUT_1_2_AND_3 7
455#define OUTPUT_ALL_CHNLS 8
456#define OUTPUT_VIDEO_ALL_CHNLS 9
457#define OUTPUT_ZSL_ALL_CHNLS 10
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
460#define OUTPUT_PRIM BIT(8)
461#define OUTPUT_PRIM_ALL_CHNLS BIT(9)
462#define OUTPUT_SEC BIT(10)
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464#define OUTPUT_SEC_ALL_CHNLS BIT(11)
465#define OUTPUT_TERT1 BIT(12)
466#define OUTPUT_TERT2 BIT(13)
467#define MSM_FRAME_PREV_1 0
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469#define MSM_FRAME_PREV_2 1
470#define MSM_FRAME_ENC 2
471#define OUTPUT_TYPE_P BIT(0)
472#define OUTPUT_TYPE_T BIT(1)
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474#define OUTPUT_TYPE_S BIT(2)
475#define OUTPUT_TYPE_V BIT(3)
476#define OUTPUT_TYPE_L BIT(4)
477#define OUTPUT_TYPE_ST_L BIT(5)
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479#define OUTPUT_TYPE_ST_R BIT(6)
480#define OUTPUT_TYPE_ST_D BIT(7)
481#define OUTPUT_TYPE_R BIT(8)
482#define OUTPUT_TYPE_R1 BIT(9)
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484struct fd_roi_info {
485 void *info;
486 int info_len;
487};
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489struct msm_mem_map_info {
490 uint32_t cookie;
491 uint32_t length;
492 uint32_t mem_type;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494};
495#define MSM_MEM_MMAP 0
496#define MSM_MEM_USERPTR 1
497#define MSM_PLANE_MAX 8
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499#define MSM_PLANE_Y 0
500#define MSM_PLANE_UV 1
501struct msm_frame {
502 struct timespec ts;
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 int path;
505 int type;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700506 unsigned long buffer;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700507 uint32_t phy_offset;
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509 uint32_t y_off;
510 uint32_t cbcr_off;
511 uint32_t planar0_off;
512 uint32_t planar1_off;
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 uint32_t planar2_off;
515 int fd;
516 void *cropinfo;
517 int croplen;
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 uint32_t error_code;
520 struct fd_roi_info roi_info;
521 uint32_t frame_id;
522 int stcam_quality_ind;
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 uint32_t stcam_conv_value;
525 struct ion_allocation_data ion_alloc;
526 struct ion_fd_data fd_data;
527 int ion_dev_fd;
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529};
530enum msm_st_frame_packing {
531 SIDE_BY_SIDE_HALF,
532 SIDE_BY_SIDE_FULL,
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 TOP_DOWN_HALF,
535 TOP_DOWN_FULL,
536};
537struct msm_st_crop {
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 uint32_t in_w;
540 uint32_t in_h;
541 uint32_t out_w;
542 uint32_t out_h;
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544};
545struct msm_st_half {
546 uint32_t buf_p0_off;
547 uint32_t buf_p1_off;
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 uint32_t buf_p0_stride;
550 uint32_t buf_p1_stride;
551 uint32_t pix_x_off;
552 uint32_t pix_y_off;
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 struct msm_st_crop stCropInfo;
555};
556struct msm_st_frame {
557 struct msm_frame buf_info;
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559 int type;
560 enum msm_st_frame_packing packing;
561 struct msm_st_half L;
562 struct msm_st_half R;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 int frame_id;
565};
566#define MSM_CAMERA_ERR_MASK (0xFFFFFFFF & 1)
567struct stats_buff {
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569 unsigned long buff;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700570 int fd;
571};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700572struct msm_stats_buf {
Ben Cheng654325d2012-03-07 21:13:49 -0800573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700574 uint8_t awb_ymin;
575 struct stats_buff aec;
576 struct stats_buff awb;
577 struct stats_buff af;
578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579 struct stats_buff ihist;
580 struct stats_buff rs;
581 struct stats_buff cs;
582 struct stats_buff skin;
583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584 int type;
585 uint32_t status_bits;
586 unsigned long buffer;
587 int fd;
588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589 int length;
590 struct ion_handle *handle;
591 uint32_t frame_id;
592};
593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594#define MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT 0
595#define MSM_V4L2_EXT_CAPTURE_MODE_PREVIEW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+1)
596#define MSM_V4L2_EXT_CAPTURE_MODE_VIDEO (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+2)
597#define MSM_V4L2_EXT_CAPTURE_MODE_MAIN (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+3)
598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599#define MSM_V4L2_EXT_CAPTURE_MODE_THUMBNAIL (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+4)
600#define MSM_V4L2_EXT_CAPTURE_MODE_RAW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+5)
601#define MSM_V4L2_EXT_CAPTURE_MODE_RDI (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+6)
602#define MSM_V4L2_EXT_CAPTURE_MODE_RDI1 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+7)
603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604#define MSM_V4L2_EXT_CAPTURE_MODE_RDI2 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+8)
605#define MSM_V4L2_EXT_CAPTURE_MODE_MAX (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+9)
606#define MSM_V4L2_PID_MOTION_ISO V4L2_CID_PRIVATE_BASE
607#define MSM_V4L2_PID_EFFECT (V4L2_CID_PRIVATE_BASE+1)
608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609#define MSM_V4L2_PID_HJR (V4L2_CID_PRIVATE_BASE+2)
610#define MSM_V4L2_PID_LED_MODE (V4L2_CID_PRIVATE_BASE+3)
611#define MSM_V4L2_PID_PREP_SNAPSHOT (V4L2_CID_PRIVATE_BASE+4)
612#define MSM_V4L2_PID_EXP_METERING (V4L2_CID_PRIVATE_BASE+5)
613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614#define MSM_V4L2_PID_ISO (V4L2_CID_PRIVATE_BASE+6)
615#define MSM_V4L2_PID_CAM_MODE (V4L2_CID_PRIVATE_BASE+7)
616#define MSM_V4L2_PID_LUMA_ADAPTATION (V4L2_CID_PRIVATE_BASE+8)
617#define MSM_V4L2_PID_BEST_SHOT (V4L2_CID_PRIVATE_BASE+9)
618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619#define MSM_V4L2_PID_FOCUS_MODE (V4L2_CID_PRIVATE_BASE+10)
620#define MSM_V4L2_PID_BL_DETECTION (V4L2_CID_PRIVATE_BASE+11)
621#define MSM_V4L2_PID_SNOW_DETECTION (V4L2_CID_PRIVATE_BASE+12)
622#define MSM_V4L2_PID_CTRL_CMD (V4L2_CID_PRIVATE_BASE+13)
623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624#define MSM_V4L2_PID_EVT_SUB_INFO (V4L2_CID_PRIVATE_BASE+14)
625#define MSM_V4L2_PID_STROBE_FLASH (V4L2_CID_PRIVATE_BASE+15)
626#define MSM_V4L2_PID_MMAP_ENTRY (V4L2_CID_PRIVATE_BASE+16)
627#define MSM_V4L2_PID_MMAP_INST (V4L2_CID_PRIVATE_BASE+17)
628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629#define MSM_V4L2_PID_PP_PLANE_INFO (V4L2_CID_PRIVATE_BASE+18)
630#define MSM_V4L2_PID_MAX MSM_V4L2_PID_PP_PLANE_INFO
631#define MSM_V4L2_CAM_OP_DEFAULT 0
632#define MSM_V4L2_CAM_OP_PREVIEW (MSM_V4L2_CAM_OP_DEFAULT+1)
633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634#define MSM_V4L2_CAM_OP_VIDEO (MSM_V4L2_CAM_OP_DEFAULT+2)
635#define MSM_V4L2_CAM_OP_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+3)
636#define MSM_V4L2_CAM_OP_ZSL (MSM_V4L2_CAM_OP_DEFAULT+4)
637#define MSM_V4L2_CAM_OP_RAW (MSM_V4L2_CAM_OP_DEFAULT+5)
638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639#define MSM_V4L2_CAM_OP_JPEG_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+6)
640#define MSM_V4L2_VID_CAP_TYPE 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700641#define MSM_V4L2_STREAM_ON 1
642#define MSM_V4L2_STREAM_OFF 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700644#define MSM_V4L2_SNAPSHOT 3
645#define MSM_V4L2_QUERY_CTRL 4
646#define MSM_V4L2_GET_CTRL 5
647#define MSM_V4L2_SET_CTRL 6
Ben Cheng654325d2012-03-07 21:13:49 -0800648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700649#define MSM_V4L2_QUERY 7
650#define MSM_V4L2_GET_CROP 8
651#define MSM_V4L2_SET_CROP 9
652#define MSM_V4L2_OPEN 10
653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654#define MSM_V4L2_CLOSE 11
655#define MSM_V4L2_SET_CTRL_CMD 12
656#define MSM_V4L2_EVT_SUB_MASK 13
657#define MSM_V4L2_MAX 14
658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659#define V4L2_CAMERA_EXIT 43
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700660struct crop_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700661 void *info;
662 int len;
Ben Cheng654325d2012-03-07 21:13:49 -0800663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700664};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700665struct msm_postproc {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700666 int ftnum;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700667 struct msm_frame fthumnail;
Ben Cheng654325d2012-03-07 21:13:49 -0800668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700669 int fmnum;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700670 struct msm_frame fmain;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700671};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700672struct msm_snapshot_pp_status {
Ben Cheng654325d2012-03-07 21:13:49 -0800673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700674 void *status;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700675};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700676#define CFG_SET_MODE 0
677#define CFG_SET_EFFECT 1
Ben Cheng654325d2012-03-07 21:13:49 -0800678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700679#define CFG_START 2
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700680#define CFG_PWR_UP 3
681#define CFG_PWR_DOWN 4
682#define CFG_WRITE_EXPOSURE_GAIN 5
Ben Cheng654325d2012-03-07 21:13:49 -0800683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700684#define CFG_SET_DEFAULT_FOCUS 6
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700685#define CFG_MOVE_FOCUS 7
686#define CFG_REGISTER_TO_REAL_GAIN 8
687#define CFG_REAL_TO_REGISTER_GAIN 9
Ben Cheng654325d2012-03-07 21:13:49 -0800688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700689#define CFG_SET_FPS 10
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700690#define CFG_SET_PICT_FPS 11
691#define CFG_SET_BRIGHTNESS 12
692#define CFG_SET_CONTRAST 13
Ben Cheng654325d2012-03-07 21:13:49 -0800693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700694#define CFG_SET_ZOOM 14
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700695#define CFG_SET_EXPOSURE_MODE 15
696#define CFG_SET_WB 16
697#define CFG_SET_ANTIBANDING 17
Ben Cheng654325d2012-03-07 21:13:49 -0800698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700699#define CFG_SET_EXP_GAIN 18
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700700#define CFG_SET_PICT_EXP_GAIN 19
701#define CFG_SET_LENS_SHADING 20
702#define CFG_GET_PICT_FPS 21
Ben Cheng654325d2012-03-07 21:13:49 -0800703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700704#define CFG_GET_PREV_L_PF 22
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700705#define CFG_GET_PREV_P_PL 23
706#define CFG_GET_PICT_L_PF 24
707#define CFG_GET_PICT_P_PL 25
Ben Cheng654325d2012-03-07 21:13:49 -0800708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700709#define CFG_GET_AF_MAX_STEPS 26
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700710#define CFG_GET_PICT_MAX_EXP_LC 27
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700711#define CFG_SEND_WB_INFO 28
712#define CFG_SENSOR_INIT 29
713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714#define CFG_GET_3D_CALI_DATA 30
715#define CFG_GET_CALIB_DATA 31
716#define CFG_GET_OUTPUT_INFO 32
717#define CFG_GET_EEPROM_INFO 33
718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719#define CFG_GET_EEPROM_DATA 34
720#define CFG_SET_ACTUATOR_INFO 35
721#define CFG_GET_ACTUATOR_INFO 36
722#define CFG_SET_SATURATION 37
723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724#define CFG_SET_SHARPNESS 38
725#define CFG_SET_TOUCHAEC 39
726#define CFG_SET_AUTO_FOCUS 40
727#define CFG_SET_AUTOFLASH 41
728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729#define CFG_SET_EXPOSURE_COMPENSATION 42
730#define CFG_SET_ISO 43
731#define CFG_START_STREAM 44
732#define CFG_STOP_STREAM 45
733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734#define CFG_GET_CSI_PARAMS 46
735#define CFG_MAX 47
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700736#define MOVE_NEAR 0
737#define MOVE_FAR 1
Ben Cheng654325d2012-03-07 21:13:49 -0800738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700739#define SENSOR_PREVIEW_MODE 0
740#define SENSOR_SNAPSHOT_MODE 1
741#define SENSOR_RAW_SNAPSHOT_MODE 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700742#define SENSOR_HFR_60FPS_MODE 3
Ben Cheng654325d2012-03-07 21:13:49 -0800743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700744#define SENSOR_HFR_90FPS_MODE 4
745#define SENSOR_HFR_120FPS_MODE 5
746#define SENSOR_QTR_SIZE 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700747#define SENSOR_FULL_SIZE 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749#define SENSOR_QVGA_SIZE 2
750#define SENSOR_INVALID_SIZE 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700751#define CAMERA_EFFECT_OFF 0
752#define CAMERA_EFFECT_MONO 1
Ben Cheng654325d2012-03-07 21:13:49 -0800753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700754#define CAMERA_EFFECT_NEGATIVE 2
755#define CAMERA_EFFECT_SOLARIZE 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700756#define CAMERA_EFFECT_SEPIA 4
757#define CAMERA_EFFECT_POSTERIZE 5
Ben Cheng654325d2012-03-07 21:13:49 -0800758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700759#define CAMERA_EFFECT_WHITEBOARD 6
760#define CAMERA_EFFECT_BLACKBOARD 7
761#define CAMERA_EFFECT_AQUA 8
762#define CAMERA_EFFECT_EMBOSS 9
Ben Cheng654325d2012-03-07 21:13:49 -0800763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700764#define CAMERA_EFFECT_SKETCH 10
765#define CAMERA_EFFECT_NEON 11
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700766#define CAMERA_EFFECT_MAX 12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700767#define CAMERA_EFFECT_BW 10
Ben Cheng654325d2012-03-07 21:13:49 -0800768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700769#define CAMERA_EFFECT_BLUISH 12
770#define CAMERA_EFFECT_REDDISH 13
771#define CAMERA_EFFECT_GREENISH 14
772#define CAMERA_ANTIBANDING_OFF 0
773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774#define CAMERA_ANTIBANDING_50HZ 2
775#define CAMERA_ANTIBANDING_60HZ 1
776#define CAMERA_ANTIBANDING_AUTO 3
777#define CAMERA_CONTRAST_LV0 0
778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779#define CAMERA_CONTRAST_LV1 1
780#define CAMERA_CONTRAST_LV2 2
781#define CAMERA_CONTRAST_LV3 3
782#define CAMERA_CONTRAST_LV4 4
783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784#define CAMERA_CONTRAST_LV5 5
785#define CAMERA_CONTRAST_LV6 6
786#define CAMERA_CONTRAST_LV7 7
787#define CAMERA_CONTRAST_LV8 8
788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789#define CAMERA_CONTRAST_LV9 9
790#define CAMERA_BRIGHTNESS_LV0 0
791#define CAMERA_BRIGHTNESS_LV1 1
792#define CAMERA_BRIGHTNESS_LV2 2
793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794#define CAMERA_BRIGHTNESS_LV3 3
795#define CAMERA_BRIGHTNESS_LV4 4
796#define CAMERA_BRIGHTNESS_LV5 5
797#define CAMERA_BRIGHTNESS_LV6 6
798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799#define CAMERA_BRIGHTNESS_LV7 7
800#define CAMERA_BRIGHTNESS_LV8 8
801#define CAMERA_SATURATION_LV0 0
802#define CAMERA_SATURATION_LV1 1
803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804#define CAMERA_SATURATION_LV2 2
805#define CAMERA_SATURATION_LV3 3
806#define CAMERA_SATURATION_LV4 4
807#define CAMERA_SATURATION_LV5 5
808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809#define CAMERA_SATURATION_LV6 6
810#define CAMERA_SATURATION_LV7 7
811#define CAMERA_SATURATION_LV8 8
812#define CAMERA_SHARPNESS_LV0 0
813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814#define CAMERA_SHARPNESS_LV1 3
815#define CAMERA_SHARPNESS_LV2 6
816#define CAMERA_SHARPNESS_LV3 9
817#define CAMERA_SHARPNESS_LV4 12
818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819#define CAMERA_SHARPNESS_LV5 15
820#define CAMERA_SHARPNESS_LV6 18
821#define CAMERA_SHARPNESS_LV7 21
822#define CAMERA_SHARPNESS_LV8 24
823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824#define CAMERA_SHARPNESS_LV9 27
825#define CAMERA_SHARPNESS_LV10 30
826#define CAMERA_SETAE_AVERAGE 0
827#define CAMERA_SETAE_CENWEIGHT 1
828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829#define CAMERA_WB_AUTO 1
830#define CAMERA_WB_CUSTOM 2
831#define CAMERA_WB_INCANDESCENT 3
832#define CAMERA_WB_FLUORESCENT 4
833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834#define CAMERA_WB_DAYLIGHT 5
835#define CAMERA_WB_CLOUDY_DAYLIGHT 6
836#define CAMERA_WB_TWILIGHT 7
837#define CAMERA_WB_SHADE 8
838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839#define CAMERA_EXPOSURE_COMPENSATION_LV0 12
840#define CAMERA_EXPOSURE_COMPENSATION_LV1 6
841#define CAMERA_EXPOSURE_COMPENSATION_LV2 0
842#define CAMERA_EXPOSURE_COMPENSATION_LV3 -6
843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844#define CAMERA_EXPOSURE_COMPENSATION_LV4 -12
845enum msm_v4l2_saturation_level {
846 MSM_V4L2_SATURATION_L0,
847 MSM_V4L2_SATURATION_L1,
848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849 MSM_V4L2_SATURATION_L2,
850 MSM_V4L2_SATURATION_L3,
851 MSM_V4L2_SATURATION_L4,
852 MSM_V4L2_SATURATION_L5,
853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854 MSM_V4L2_SATURATION_L6,
855 MSM_V4L2_SATURATION_L7,
856 MSM_V4L2_SATURATION_L8,
857 MSM_V4L2_SATURATION_L9,
858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859 MSM_V4L2_SATURATION_L10,
860};
861enum msm_v4l2_contrast_level {
862 MSM_V4L2_CONTRAST_L0,
863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864 MSM_V4L2_CONTRAST_L1,
865 MSM_V4L2_CONTRAST_L2,
866 MSM_V4L2_CONTRAST_L3,
867 MSM_V4L2_CONTRAST_L4,
868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869 MSM_V4L2_CONTRAST_L5,
870 MSM_V4L2_CONTRAST_L6,
871 MSM_V4L2_CONTRAST_L7,
872 MSM_V4L2_CONTRAST_L8,
873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874 MSM_V4L2_CONTRAST_L9,
875 MSM_V4L2_CONTRAST_L10,
876};
877enum msm_v4l2_exposure_level {
878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879 MSM_V4L2_EXPOSURE_N2,
880 MSM_V4L2_EXPOSURE_N1,
881 MSM_V4L2_EXPOSURE_D,
882 MSM_V4L2_EXPOSURE_P1,
883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884 MSM_V4L2_EXPOSURE_P2,
885};
886enum msm_v4l2_sharpness_level {
887 MSM_V4L2_SHARPNESS_L0,
888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889 MSM_V4L2_SHARPNESS_L1,
890 MSM_V4L2_SHARPNESS_L2,
891 MSM_V4L2_SHARPNESS_L3,
892 MSM_V4L2_SHARPNESS_L4,
893/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894 MSM_V4L2_SHARPNESS_L5,
895 MSM_V4L2_SHARPNESS_L6,
896};
897enum msm_v4l2_expo_metering_mode {
898/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899 MSM_V4L2_EXP_FRAME_AVERAGE,
900 MSM_V4L2_EXP_CENTER_WEIGHTED,
901 MSM_V4L2_EXP_SPOT_METERING,
902};
903/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904enum msm_v4l2_iso_mode {
905 MSM_V4L2_ISO_AUTO = 0,
906 MSM_V4L2_ISO_DEBLUR,
907 MSM_V4L2_ISO_100,
908/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909 MSM_V4L2_ISO_200,
910 MSM_V4L2_ISO_400,
911 MSM_V4L2_ISO_800,
912 MSM_V4L2_ISO_1600,
913/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914};
915enum msm_v4l2_wb_mode {
916 MSM_V4L2_WB_OFF,
917 MSM_V4L2_WB_AUTO ,
918/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919 MSM_V4L2_WB_CUSTOM,
920 MSM_V4L2_WB_INCANDESCENT,
921 MSM_V4L2_WB_FLUORESCENT,
922 MSM_V4L2_WB_DAYLIGHT,
923/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924 MSM_V4L2_WB_CLOUDY_DAYLIGHT,
925};
926enum msm_v4l2_special_effect {
927 MSM_V4L2_EFFECT_OFF,
928/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929 MSM_V4L2_EFFECT_MONO,
930 MSM_V4L2_EFFECT_NEGATIVE,
931 MSM_V4L2_EFFECT_SOLARIZE,
932 MSM_V4L2_EFFECT_SEPIA,
933/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934 MSM_V4L2_EFFECT_POSTERAIZE,
935 MSM_V4L2_EFFECT_WHITEBOARD,
936 MSM_V4L2_EFFECT_BLACKBOARD,
937 MSM_V4L2_EFFECT_AQUA,
938/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939 MSM_V4L2_EFFECT_EMBOSS,
940 MSM_V4L2_EFFECT_SKETCH,
941 MSM_V4L2_EFFECT_NEON,
942 MSM_V4L2_EFFECT_MAX,
943/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944};
945enum msm_v4l2_power_line_frequency {
946 MSM_V4L2_POWER_LINE_OFF,
947 MSM_V4L2_POWER_LINE_60HZ,
948/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
949 MSM_V4L2_POWER_LINE_50HZ,
950 MSM_V4L2_POWER_LINE_AUTO,
951};
952#define CAMERA_ISO_TYPE_AUTO 0
953/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
954#define CAMEAR_ISO_TYPE_HJR 1
955#define CAMEAR_ISO_TYPE_100 2
956#define CAMERA_ISO_TYPE_200 3
957#define CAMERA_ISO_TYPE_400 4
958/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
959#define CAMEAR_ISO_TYPE_800 5
960#define CAMERA_ISO_TYPE_1600 6
961struct sensor_pict_fps {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700962 uint16_t prevfps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700963/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700964 uint16_t pictfps;
965};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700966struct exp_gain_cfg {
967 uint16_t gain;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700968/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700969 uint32_t line;
970};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700971struct focus_cfg {
972 int32_t steps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700973/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700974 int dir;
975};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700976struct fps_cfg {
977 uint16_t f_mult;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700978/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700979 uint16_t fps_div;
980 uint32_t pict_fps_div;
981};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700982struct wb_info_cfg {
Ben Cheng654325d2012-03-07 21:13:49 -0800983/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700984 uint16_t red_gain;
985 uint16_t green_gain;
986 uint16_t blue_gain;
987};
988/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
989struct sensor_3d_exp_cfg {
990 uint16_t gain;
991 uint32_t line;
992 uint16_t r_gain;
993/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994 uint16_t b_gain;
995 uint16_t gr_gain;
996 uint16_t gb_gain;
997 uint16_t gain_adjust;
998/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
999};
1000struct sensor_3d_cali_data_t{
1001 unsigned char left_p_matrix[3][4][8];
1002 unsigned char right_p_matrix[3][4][8];
1003/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1004 unsigned char square_len[8];
1005 unsigned char focal_len[8];
1006 unsigned char pixel_pitch[8];
1007 uint16_t left_r;
1008/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1009 uint16_t left_b;
1010 uint16_t left_gb;
1011 uint16_t left_af_far;
1012 uint16_t left_af_mid;
1013/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1014 uint16_t left_af_short;
1015 uint16_t left_af_5um;
1016 uint16_t left_af_50up;
1017 uint16_t left_af_50down;
1018/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1019 uint16_t right_r;
1020 uint16_t right_b;
1021 uint16_t right_gb;
1022 uint16_t right_af_far;
1023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1024 uint16_t right_af_mid;
1025 uint16_t right_af_short;
1026 uint16_t right_af_5um;
1027 uint16_t right_af_50up;
1028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1029 uint16_t right_af_50down;
1030};
1031struct sensor_init_cfg {
1032 uint8_t prev_res;
1033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1034 uint8_t pict_res;
1035};
1036struct sensor_calib_data {
1037 uint16_t r_over_g;
1038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1039 uint16_t b_over_g;
1040 uint16_t gr_over_gb;
1041 uint16_t macro_2_inf;
1042 uint16_t inf_2_macro;
1043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044 uint16_t stroke_amt;
1045 uint16_t af_pos_1m;
1046 uint16_t af_pos_inf;
1047};
1048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1049enum msm_sensor_resolution_t {
1050 MSM_SENSOR_RES_FULL,
1051 MSM_SENSOR_RES_QTR,
1052 MSM_SENSOR_RES_2,
1053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1054 MSM_SENSOR_RES_3,
1055 MSM_SENSOR_RES_4,
1056 MSM_SENSOR_RES_5,
1057 MSM_SENSOR_RES_6,
1058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1059 MSM_SENSOR_RES_7,
1060 MSM_SENSOR_INVALID_RES,
1061};
1062struct msm_sensor_output_info_t {
1063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1064 uint16_t x_output;
1065 uint16_t y_output;
1066 uint16_t line_length_pclk;
1067 uint16_t frame_length_lines;
1068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1069 uint32_t vt_pixel_clk;
1070 uint32_t op_pixel_clk;
1071 uint16_t binning_factor;
1072};
1073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1074struct sensor_output_info_t {
1075 struct msm_sensor_output_info_t *output_info;
1076 uint16_t num_info;
1077};
1078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1079struct mirror_flip {
1080 int32_t x_mirror;
1081 int32_t y_flip;
1082};
1083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1084struct cord {
1085 uint32_t x;
1086 uint32_t y;
1087};
1088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1089struct msm_eeprom_data_t {
1090 void *eeprom_data;
1091 uint16_t index;
1092};
1093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1094struct msm_camera_csid_vc_cfg {
1095 uint8_t cid;
1096 uint8_t dt;
1097 uint8_t decode_format;
1098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1099};
1100struct csi_lane_params_t {
1101 uint8_t csi_lane_assign;
1102 uint8_t csi_lane_mask;
1103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1104 uint8_t csi_if;
1105 uint8_t csid_core;
1106 uint32_t csid_version;
1107};
1108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1109#define CSI_EMBED_DATA 0x12
1110#define CSI_RESERVED_DATA_0 0x13
1111#define CSI_YUV422_8 0x1E
1112#define CSI_RAW8 0x2A
1113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1114#define CSI_RAW10 0x2B
1115#define CSI_RAW12 0x2C
1116#define CSI_DECODE_6BIT 0
1117#define CSI_DECODE_8BIT 1
1118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1119#define CSI_DECODE_10BIT 2
1120#define CSI_DECODE_DPCM_10_8_10 5
1121#define ISPIF_STREAM(intf, action) (((intf)<<ISPIF_S_STREAM_SHIFT)+(action))
1122#define ISPIF_ON_FRAME_BOUNDARY (0x01 << 0)
1123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1124#define ISPIF_OFF_FRAME_BOUNDARY (0x01 << 1)
1125#define ISPIF_OFF_IMMEDIATELY (0x01 << 2)
1126#define ISPIF_S_STREAM_SHIFT 4
1127#define PIX_0 (0x01 << 0)
1128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1129#define RDI_0 (0x01 << 1)
1130#define PIX_1 (0x01 << 2)
1131#define RDI_1 (0x01 << 3)
1132#define PIX_2 (0x01 << 4)
1133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1134#define RDI_2 (0x01 << 5)
1135enum msm_ispif_intftype {
1136 PIX0,
1137 RDI0,
1138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1139 PIX1,
1140 RDI1,
1141 PIX2,
1142 RDI2,
1143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1144 INTF_MAX,
1145};
1146enum msm_ispif_vc {
1147 VC0,
1148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1149 VC1,
1150 VC2,
1151 VC3,
1152};
1153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1154enum msm_ispif_cid {
1155 CID0,
1156 CID1,
1157 CID2,
1158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1159 CID3,
1160 CID4,
1161 CID5,
1162 CID6,
1163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1164 CID7,
1165 CID8,
1166 CID9,
1167 CID10,
1168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1169 CID11,
1170 CID12,
1171 CID13,
1172 CID14,
1173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1174 CID15,
1175};
1176struct msm_ispif_params {
1177 uint8_t intftype;
1178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1179 uint16_t cid_mask;
1180 uint8_t csid;
1181};
1182struct msm_ispif_params_list {
1183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1184 uint32_t len;
1185 struct msm_ispif_params params[4];
1186};
1187enum ispif_cfg_type_t {
1188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1189 ISPIF_INIT,
1190 ISPIF_SET_CFG,
1191 ISPIF_SET_ON_FRAME_BOUNDARY,
1192 ISPIF_SET_OFF_FRAME_BOUNDARY,
1193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1194 ISPIF_SET_OFF_IMMEDIATELY,
1195 ISPIF_RELEASE,
1196};
1197struct ispif_cfg_data {
1198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1199 enum ispif_cfg_type_t cfgtype;
1200 union {
1201 uint32_t csid_version;
1202 int cmd;
1203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1204 struct msm_ispif_params_list ispif_params;
1205 } cfg;
1206};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -07001207struct sensor_cfg_data {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001209 int cfgtype;
1210 int mode;
1211 int rs;
1212 uint8_t max_steps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001214 union {
1215 int8_t effect;
1216 uint8_t lens_shading;
1217 uint16_t prevl_pf;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001219 uint16_t prevp_pl;
1220 uint16_t pictl_pf;
1221 uint16_t pictp_pl;
1222 uint32_t pict_max_exp_lc;
Ben Cheng654325d2012-03-07 21:13:49 -08001223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001224 uint16_t p_fps;
1225 uint8_t iso_type;
1226 struct sensor_init_cfg init_info;
1227 struct sensor_pict_fps gfps;
1228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1229 struct exp_gain_cfg exp_gain;
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001230 struct focus_cfg focus;
1231 struct fps_cfg fps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001232 struct wb_info_cfg wb_info;
1233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1234 struct sensor_3d_exp_cfg sensor_3d_exp;
1235 struct sensor_calib_data calib_info;
1236 struct sensor_output_info_t output_info;
1237 struct msm_eeprom_data_t eeprom_data;
1238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1239 struct csi_lane_params_t csi_lane_params;
1240 uint16_t antibanding;
1241 uint8_t contrast;
1242 uint8_t saturation;
1243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1244 uint8_t sharpness;
1245 int8_t brightness;
1246 int ae_mode;
1247 uint8_t wb_val;
1248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1249 int8_t exp_compensation;
1250 struct cord aec_cord;
1251 int is_autoflash;
1252 struct mirror_flip mirror_flip;
1253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001254 } cfg;
1255};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001256struct damping_params_t {
1257 uint32_t damping_step;
1258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1259 uint32_t damping_delay;
1260 uint32_t hw_params;
1261};
1262enum actuator_type {
1263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1264 ACTUATOR_VCM,
1265 ACTUATOR_PIEZO,
1266};
1267enum msm_actuator_data_type {
1268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1269 MSM_ACTUATOR_BYTE_DATA = 1,
1270 MSM_ACTUATOR_WORD_DATA,
1271};
1272enum msm_actuator_addr_type {
1273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1274 MSM_ACTUATOR_BYTE_ADDR = 1,
1275 MSM_ACTUATOR_WORD_ADDR,
1276};
1277enum msm_actuator_write_type {
1278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1279 MSM_ACTUATOR_WRITE_HW_DAMP,
1280 MSM_ACTUATOR_WRITE_DAC,
1281};
1282struct msm_actuator_reg_params_t {
1283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1284 enum msm_actuator_write_type reg_write_type;
1285 uint32_t hw_mask;
1286 uint16_t reg_addr;
1287 uint16_t hw_shift;
1288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1289 uint16_t data_shift;
1290};
1291struct reg_settings_t {
1292 uint16_t reg_addr;
1293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1294 uint16_t reg_data;
1295};
1296struct region_params_t {
1297 uint16_t step_bound[2];
1298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1299 uint16_t code_per_step;
1300};
1301struct msm_actuator_move_params_t {
1302 int8_t dir;
1303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1304 int8_t sign_dir;
1305 int16_t dest_step_pos;
1306 int32_t num_steps;
1307 struct damping_params_t *ringing_params;
1308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1309};
1310struct msm_actuator_tuning_params_t {
1311 int16_t initial_code;
1312 uint16_t pwd_step;
1313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1314 uint16_t region_size;
1315 uint32_t total_steps;
1316 struct region_params_t *region_params;
1317};
1318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1319struct msm_actuator_params_t {
1320 enum actuator_type act_type;
1321 uint8_t reg_tbl_size;
1322 uint16_t data_size;
1323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1324 uint16_t init_setting_size;
1325 uint32_t i2c_addr;
1326 enum msm_actuator_addr_type i2c_addr_type;
1327 enum msm_actuator_data_type i2c_data_type;
1328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1329 struct msm_actuator_reg_params_t *reg_tbl_params;
1330 struct reg_settings_t *init_settings;
1331};
1332struct msm_actuator_set_info_t {
1333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1334 struct msm_actuator_params_t actuator_params;
1335 struct msm_actuator_tuning_params_t af_tuning_params;
1336};
1337struct msm_actuator_get_info_t {
1338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1339 uint32_t focal_length_num;
1340 uint32_t focal_length_den;
1341 uint32_t f_number_num;
1342 uint32_t f_number_den;
1343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1344 uint32_t f_pix_num;
1345 uint32_t f_pix_den;
1346 uint32_t total_f_dist_num;
1347 uint32_t total_f_dist_den;
1348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1349 uint32_t hor_view_angle_num;
1350 uint32_t hor_view_angle_den;
1351 uint32_t ver_view_angle_num;
1352 uint32_t ver_view_angle_den;
1353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1354};
1355enum af_camera_name {
1356 ACTUATOR_MAIN_CAM_0,
1357 ACTUATOR_MAIN_CAM_1,
1358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1359 ACTUATOR_MAIN_CAM_2,
1360 ACTUATOR_MAIN_CAM_3,
1361 ACTUATOR_MAIN_CAM_4,
1362 ACTUATOR_MAIN_CAM_5,
1363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1364 ACTUATOR_WEB_CAM_0,
1365 ACTUATOR_WEB_CAM_1,
1366 ACTUATOR_WEB_CAM_2,
1367};
1368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1369struct msm_actuator_cfg_data {
1370 int cfgtype;
1371 uint8_t is_af_supported;
1372 union {
1373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1374 struct msm_actuator_move_params_t move;
1375 struct msm_actuator_set_info_t set_info;
1376 struct msm_actuator_get_info_t get_info;
1377 enum af_camera_name cam_name;
1378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1379 } cfg;
1380};
1381struct msm_eeprom_support {
1382 uint16_t is_supported;
1383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1384 uint16_t size;
1385 uint16_t index;
1386 uint16_t qvalue;
1387};
1388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1389struct msm_calib_wb {
1390 uint16_t r_over_g;
1391 uint16_t b_over_g;
1392 uint16_t gr_over_gb;
1393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1394};
1395struct msm_calib_af {
1396 uint16_t macro_dac;
1397 uint16_t inf_dac;
1398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1399 uint16_t start_dac;
1400};
1401struct msm_calib_lsc {
1402 uint16_t r_gain[221];
1403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1404 uint16_t b_gain[221];
1405 uint16_t gr_gain[221];
1406 uint16_t gb_gain[221];
1407};
1408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1409struct pixel_t {
1410 int x;
1411 int y;
1412};
1413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1414struct msm_calib_dpc {
1415 uint16_t validcount;
1416 struct pixel_t snapshot_coord[128];
1417 struct pixel_t preview_coord[128];
1418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1419 struct pixel_t video_coord[128];
1420};
1421struct msm_camera_eeprom_info_t {
1422 struct msm_eeprom_support af;
1423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1424 struct msm_eeprom_support wb;
1425 struct msm_eeprom_support lsc;
1426 struct msm_eeprom_support dpc;
1427};
1428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1429struct msm_eeprom_cfg_data {
1430 int cfgtype;
1431 uint8_t is_eeprom_supported;
1432 union {
1433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1434 struct msm_eeprom_data_t get_data;
1435 struct msm_camera_eeprom_info_t get_info;
1436 } cfg;
1437};
1438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1439struct sensor_large_data {
1440 int cfgtype;
1441 union {
1442 struct sensor_3d_cali_data_t sensor_3d_cali_data;
1443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1444 } data;
1445};
1446enum sensor_type_t {
1447 BAYER,
1448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1449 YUV,
1450 JPEG_SOC,
1451};
1452enum flash_type {
1453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1454 LED_FLASH,
1455 STROBE_FLASH,
1456};
1457enum strobe_flash_ctrl_type {
1458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1459 STROBE_FLASH_CTRL_INIT,
1460 STROBE_FLASH_CTRL_CHARGE,
1461 STROBE_FLASH_CTRL_RELEASE
1462};
1463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1464struct strobe_flash_ctrl_data {
1465 enum strobe_flash_ctrl_type type;
1466 int charge_en;
1467};
1468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1469struct msm_camera_info {
1470 int num_cameras;
1471 uint8_t has_3d_support[MSM_MAX_CAMERA_SENSORS];
1472 uint8_t is_internal_cam[MSM_MAX_CAMERA_SENSORS];
1473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1474 uint32_t s_mount_angle[MSM_MAX_CAMERA_SENSORS];
1475 const char *video_dev_name[MSM_MAX_CAMERA_SENSORS];
1476 enum sensor_type_t sensor_type[MSM_MAX_CAMERA_SENSORS];
1477};
1478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1479struct msm_cam_config_dev_info {
1480 int num_config_nodes;
1481 const char *config_dev_name[MSM_MAX_CAMERA_CONFIGS];
1482 int config_dev_id[MSM_MAX_CAMERA_CONFIGS];
1483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1484};
1485struct msm_mctl_node_info {
1486 int num_mctl_nodes;
1487 const char *mctl_node_name[MSM_MAX_CAMERA_SENSORS];
1488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1489};
1490struct flash_ctrl_data {
1491 int flashtype;
1492 union {
1493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1494 int led_state;
1495 struct strobe_flash_ctrl_data strobe_ctrl;
1496 } ctrl_data;
1497};
Ben Cheng654325d2012-03-07 21:13:49 -08001498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001499#define GET_NAME 0
1500#define GET_PREVIEW_LINE_PER_FRAME 1
1501#define GET_PREVIEW_PIXELS_PER_LINE 2
1502#define GET_SNAPSHOT_LINE_PER_FRAME 3
Ben Cheng654325d2012-03-07 21:13:49 -08001503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001504#define GET_SNAPSHOT_PIXELS_PER_LINE 4
1505#define GET_SNAPSHOT_FPS 5
1506#define GET_SNAPSHOT_MAX_EP_LINE_CNT 6
Iliyan Malchevbf8709f2009-06-04 11:55:53 -07001507struct msm_camsensor_info {
Ben Cheng654325d2012-03-07 21:13:49 -08001508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001509 char name[MAX_SENSOR_NAME];
1510 uint8_t flash_enabled;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001511 uint8_t strobe_flash_enabled;
1512 uint8_t actuator_enabled;
Ben Cheng654325d2012-03-07 21:13:49 -08001513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001514 uint8_t ispif_supported;
1515 int8_t total_steps;
1516 uint8_t support_3d;
1517 enum flash_type flashtype;
1518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1519 enum sensor_type_t sensor_type;
1520 uint32_t pxlcode;
1521 uint32_t camera_type;
1522 int mount_angle;
1523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1524 uint32_t max_width;
1525 uint32_t max_height;
1526};
1527#define V4L2_SINGLE_PLANE 0
1528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1529#define V4L2_MULTI_PLANE_Y 0
1530#define V4L2_MULTI_PLANE_CBCR 1
1531#define V4L2_MULTI_PLANE_CB 1
1532#define V4L2_MULTI_PLANE_CR 2
1533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1534struct plane_data {
1535 int plane_id;
1536 uint32_t offset;
1537 unsigned long size;
1538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1539};
1540struct img_plane_info {
1541 uint32_t width;
1542 uint32_t height;
1543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1544 uint32_t pixelformat;
1545 uint8_t buffer_type;
1546 uint8_t output_port;
1547 uint32_t ext_mode;
1548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1549 uint8_t num_planes;
1550 struct plane_data plane[MAX_PLANES];
1551 uint32_t sp_y_offset;
1552 uint8_t vpe_can_use;
1553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1554};
1555#define QCAMERA_NAME "qcamera"
1556#define QCAMERA_DEVICE_GROUP_ID 1
1557#define QCAMERA_VNODE_GROUP_ID 2
1558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1559#define MSM_CAM_V4L2_IOCTL_GET_CAMERA_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
1560#define MSM_CAM_V4L2_IOCTL_GET_CONFIG_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
1561#define MSM_CAM_V4L2_IOCTL_GET_MCTL_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
1562#define MSM_CAM_V4L2_IOCTL_CTRL_CMD_DONE _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
1563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1564#define MSM_CAM_V4L2_IOCTL_GET_EVENT_PAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
1565#define MSM_CAM_IOCTL_SEND_EVENT _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct v4l2_event)
1566#define MSM_CAM_V4L2_IOCTL_CFG_VPE _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_vpe_cfg_cmd)
1567#define MSM_CAM_V4L2_IOCTL_PRIVATE_S_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t)
1568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1569struct msm_camera_v4l2_ioctl_t {
1570 uint32_t id;
1571 void __user *ioctl_ptr;
1572 uint32_t len;
1573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1574};
1575enum msm_camss_irq_idx {
1576 CAMERA_SS_IRQ_0,
1577 CAMERA_SS_IRQ_1,
1578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1579 CAMERA_SS_IRQ_2,
1580 CAMERA_SS_IRQ_3,
1581 CAMERA_SS_IRQ_4,
1582 CAMERA_SS_IRQ_5,
1583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1584 CAMERA_SS_IRQ_6,
1585 CAMERA_SS_IRQ_7,
1586 CAMERA_SS_IRQ_8,
1587 CAMERA_SS_IRQ_9,
1588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1589 CAMERA_SS_IRQ_10,
1590 CAMERA_SS_IRQ_11,
1591 CAMERA_SS_IRQ_12,
1592 CAMERA_SS_IRQ_MAX
1593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1594};
1595enum msm_cam_hw_idx {
1596 MSM_CAM_HW_MICRO,
1597 MSM_CAM_HW_CCI,
1598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1599 MSM_CAM_HW_CSI0,
1600 MSM_CAM_HW_CSI1,
1601 MSM_CAM_HW_CSI2,
1602 MSM_CAM_HW_CSI3,
1603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1604 MSM_CAM_HW_ISPIF,
1605 MSM_CAM_HW_CPP,
1606 MSM_CAM_HW_VFE0,
1607 MSM_CAM_HW_VFE1,
1608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1609 MSM_CAM_HW_JPEG0,
1610 MSM_CAM_HW_JPEG1,
1611 MSM_CAM_HW_JPEG2,
1612 MSM_CAM_HW_MAX
1613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1614};
1615struct msm_camera_irq_cfg {
1616 uint32_t cam_hw_mask;
1617 uint8_t irq_idx;
1618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1619 uint8_t num_hwcore;
1620};
1621#define MSM_IRQROUTER_CFG_COMPIRQ _IOWR('V', BASE_VIDIOC_PRIVATE, void __user *)
1622#define MAX_NUM_CPP_STRIPS 8
1623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1624enum msm_cpp_frame_type {
1625 MSM_CPP_OFFLINE_FRAME,
1626 MSM_CPP_REALTIME_FRAME,
1627};
1628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1629struct msm_cpp_frame_strip_info {
1630 int scale_v_en;
1631 int scale_h_en;
1632 int upscale_v_en;
1633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1634 int upscale_h_en;
1635 int src_start_x;
1636 int src_end_x;
1637 int src_start_y;
1638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1639 int src_end_y;
1640 int pad_bottom;
1641 int pad_top;
1642 int pad_right;
1643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1644 int pad_left;
1645 int v_init_phase;
1646 int h_init_phase;
1647 int h_phase_step;
1648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1649 int v_phase_step;
1650 int prescale_crop_width_first_pixel;
1651 int prescale_crop_width_last_pixel;
1652 int prescale_crop_height_first_line;
1653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1654 int prescale_crop_height_last_line;
1655 int postscale_crop_height_first_line;
1656 int postscale_crop_height_last_line;
1657 int postscale_crop_width_first_pixel;
1658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1659 int postscale_crop_width_last_pixel;
1660 int dst_start_x;
1661 int dst_end_x;
1662 int dst_start_y;
1663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1664 int dst_end_y;
1665 int bytes_per_pixel;
1666 unsigned int source_address;
1667 unsigned int destination_address;
1668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1669 unsigned int src_stride;
1670 unsigned int dst_stride;
1671 int rotate_270;
1672 int horizontal_flip;
1673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1674 int vertical_flip;
1675 int scale_output_width;
1676 int scale_output_height;
1677};
1678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1679struct msm_cpp_frame_info_t {
1680 int32_t frame_id;
1681 uint32_t inst_id;
1682 uint32_t client_id;
1683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1684 enum msm_cpp_frame_type frame_type;
1685 uint32_t num_strips;
1686 struct msm_cpp_frame_strip_info *strip_info;
1687};
1688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1689#define VIDIOC_MSM_CPP_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
1690#define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
1691#define VIDIOC_MSM_CPP_GET_INST_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
1692#define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
1693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1694#endif
1695