blob: 623f8f99883cc68eb8581621905d7720e10ba1de [file] [log] [blame]
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
Iliyan Malchev94a144e2009-04-30 12:29:52 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_MSM_CAMERA_H
20#define __LINUX_MSM_CAMERA_H
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070021#ifdef MSM_CAMERA_BIONIC
22#include <sys/types.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070024#endif
25#include <linux/types.h>
Iliyan Malchev94a144e2009-04-30 12:29:52 -070026#include <linux/ioctl.h>
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070027#ifdef MSM_CAMERA_GCC
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#include <time.h>
30#else
31#include <linux/time.h>
32#endif
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#include <linux/ion.h>
35#define BIT(nr) (1UL << (nr))
Iliyan Malchev94a144e2009-04-30 12:29:52 -070036#define MSM_CAM_IOCTL_MAGIC 'm'
Iliyan Malchev07116002009-06-23 20:08:10 -070037#define MSM_CAM_IOCTL_GET_SENSOR_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 1, struct msm_camsensor_info *)
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070039#define MSM_CAM_IOCTL_REGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 2, struct msm_pmem_info *)
Iliyan Malchev07116002009-06-23 20:08:10 -070040#define MSM_CAM_IOCTL_UNREGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 3, unsigned)
Iliyan Malchev07116002009-06-23 20:08:10 -070041#define MSM_CAM_IOCTL_CTRL_COMMAND _IOW(MSM_CAM_IOCTL_MAGIC, 4, struct msm_ctrl_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070042#define MSM_CAM_IOCTL_CONFIG_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 5, struct msm_camera_vfe_cfg_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070044#define MSM_CAM_IOCTL_GET_STATS _IOR(MSM_CAM_IOCTL_MAGIC, 6, struct msm_camera_stats_event_ctrl *)
Iliyan Malchev07116002009-06-23 20:08:10 -070045#define MSM_CAM_IOCTL_GETFRAME _IOR(MSM_CAM_IOCTL_MAGIC, 7, struct msm_camera_get_frame *)
Iliyan Malchev07116002009-06-23 20:08:10 -070046#define MSM_CAM_IOCTL_ENABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 8, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070047#define MSM_CAM_IOCTL_CTRL_CMD_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 9, struct camera_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070049#define MSM_CAM_IOCTL_CONFIG_CMD _IOW(MSM_CAM_IOCTL_MAGIC, 10, struct camera_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070050#define MSM_CAM_IOCTL_DISABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 11, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070051#define MSM_CAM_IOCTL_PAD_REG_RESET2 _IOW(MSM_CAM_IOCTL_MAGIC, 12, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070052#define MSM_CAM_IOCTL_VFE_APPS_RESET _IOW(MSM_CAM_IOCTL_MAGIC, 13, struct camera_enable_cmd *)
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070054#define MSM_CAM_IOCTL_RELEASE_FRAME_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 14, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070055#define MSM_CAM_IOCTL_RELEASE_STATS_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 15, struct msm_stats_buf *)
Iliyan Malchev07116002009-06-23 20:08:10 -070056#define MSM_CAM_IOCTL_AXI_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 16, struct msm_camera_vfe_cfg_cmd *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070057#define MSM_CAM_IOCTL_GET_PICTURE _IOW(MSM_CAM_IOCTL_MAGIC, 17, struct msm_frame *)
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070059#define MSM_CAM_IOCTL_SET_CROP _IOW(MSM_CAM_IOCTL_MAGIC, 18, struct crop_info *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070060#define MSM_CAM_IOCTL_PICT_PP _IOW(MSM_CAM_IOCTL_MAGIC, 19, uint8_t *)
61#define MSM_CAM_IOCTL_PICT_PP_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 20, struct msm_snapshot_pp_status *)
Iliyan Malchev07116002009-06-23 20:08:10 -070062#define MSM_CAM_IOCTL_SENSOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 21, struct sensor_cfg_data *)
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070064#define MSM_CAM_IOCTL_FLASH_LED_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 22, unsigned *)
Iliyan Malchev07116002009-06-23 20:08:10 -070065#define MSM_CAM_IOCTL_UNBLOCK_POLL_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 23)
Iliyan Malchev07116002009-06-23 20:08:10 -070066#define MSM_CAM_IOCTL_CTRL_COMMAND_2 _IOW(MSM_CAM_IOCTL_MAGIC, 24, struct msm_ctrl_cmd *)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070067#define MSM_CAM_IOCTL_AF_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 25, struct msm_ctrl_cmt_t *)
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -070069#define MSM_CAM_IOCTL_AF_CTRL_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 26, struct msm_ctrl_cmt_t *)
70#define MSM_CAM_IOCTL_CONFIG_VPE _IOW(MSM_CAM_IOCTL_MAGIC, 27, struct msm_camera_vpe_cfg_cmd *)
71#define MSM_CAM_IOCTL_AXI_VPE_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 28, struct msm_camera_vpe_cfg_cmd *)
72#define MSM_CAM_IOCTL_STROBE_FLASH_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 29, uint32_t *)
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define MSM_CAM_IOCTL_STROBE_FLASH_CHARGE _IOW(MSM_CAM_IOCTL_MAGIC, 30, uint32_t *)
75#define MSM_CAM_IOCTL_STROBE_FLASH_RELEASE _IO(MSM_CAM_IOCTL_MAGIC, 31)
76#define MSM_CAM_IOCTL_FLASH_CTRL _IOW(MSM_CAM_IOCTL_MAGIC, 32, struct flash_ctrl_data *)
77#define MSM_CAM_IOCTL_ERROR_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 33, uint32_t *)
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define MSM_CAM_IOCTL_ABORT_CAPTURE _IO(MSM_CAM_IOCTL_MAGIC, 34)
80#define MSM_CAM_IOCTL_SET_FD_ROI _IOW(MSM_CAM_IOCTL_MAGIC, 35, struct fd_roi_info *)
81#define MSM_CAM_IOCTL_GET_CAMERA_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 36, struct msm_camera_info *)
82#define MSM_CAM_IOCTL_UNBLOCK_POLL_PIC_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 37)
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define MSM_CAM_IOCTL_RELEASE_PIC_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 38, struct camera_enable_cmd *)
85#define MSM_CAM_IOCTL_PUT_ST_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 39, struct msm_camera_st_frame *)
86#define MSM_CAM_IOCTL_V4L2_EVT_NOTIFY _IOR(MSM_CAM_IOCTL_MAGIC, 40, struct v4l2_event *)
87#define MSM_CAM_IOCTL_SET_MEM_MAP_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 41, struct msm_mem_map_info *)
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define MSM_CAM_IOCTL_ACTUATOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 42, struct msm_actuator_cfg_data *)
90#define MSM_CAM_IOCTL_MCTL_POST_PROC _IOW(MSM_CAM_IOCTL_MAGIC, 43, struct msm_mctl_post_proc_cmd *)
91#define MSM_CAM_IOCTL_RESERVE_FREE_FRAME _IOW(MSM_CAM_IOCTL_MAGIC, 44, struct msm_cam_evt_divert_frame *)
92#define MSM_CAM_IOCTL_RELEASE_FREE_FRAME _IOR(MSM_CAM_IOCTL_MAGIC, 45, struct msm_cam_evt_divert_frame *)
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define MSM_CAM_IOCTL_PICT_PP_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 46, struct msm_pp_frame *)
95#define MSM_CAM_IOCTL_SENSOR_V4l2_S_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 47, struct v4l2_control)
96#define MSM_CAM_IOCTL_SENSOR_V4l2_QUERY_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 48, struct v4l2_queryctrl)
97#define MSM_CAM_IOCTL_GET_KERNEL_SYSTEM_TIME _IOW(MSM_CAM_IOCTL_MAGIC, 49, struct timeval *)
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#define MSM_CAM_IOCTL_SET_VFE_OUTPUT_TYPE _IOW(MSM_CAM_IOCTL_MAGIC, 50, uint32_t *)
100#define MSM_CAM_IOCTL_MCTL_DIVERT_DONE _IOR(MSM_CAM_IOCTL_MAGIC, 51, struct msm_cam_evt_divert_frame *)
101#define MSM_CAM_IOCTL_GET_ACTUATOR_INFO _IOW(MSM_CAM_IOCTL_MAGIC, 52, struct msm_actuator_cfg_data *)
102#define MSM_CAM_IOCTL_EEPROM_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 53, struct msm_eeprom_cfg_data *)
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define MSM_CAM_IOCTL_ISPIF_IO_CFG _IOR(MSM_CAM_IOCTL_MAGIC, 54, struct ispif_cfg_data *)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700105#define MSM_CAM_IOCTL_STATS_REQBUF _IOR(MSM_CAM_IOCTL_MAGIC, 55, struct msm_stats_reqbuf *)
106#define MSM_CAM_IOCTL_STATS_ENQUEUEBUF _IOR(MSM_CAM_IOCTL_MAGIC, 56, struct msm_stats_buf_info *)
107#define MSM_CAM_IOCTL_STATS_FLUSH_BUFQ _IOR(MSM_CAM_IOCTL_MAGIC, 57, struct msm_stats_flush_bufq *)
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define MSM_CAM_IOCTL_SET_MCTL_SDEV _IOW(MSM_CAM_IOCTL_MAGIC, 58, struct msm_mctl_set_sdev_data *)
110#define MSM_CAM_IOCTL_UNSET_MCTL_SDEV _IOW(MSM_CAM_IOCTL_MAGIC, 59, struct msm_mctl_set_sdev_data *)
111#define MSM_CAM_IOCTL_GET_INST_HANDLE _IOR(MSM_CAM_IOCTL_MAGIC, 60, uint32_t *)
Ajay Dudani77b25702012-08-09 09:58:59 -0700112#define MSM_CAM_IOCTL_STATS_UNREG_BUF _IOR(MSM_CAM_IOCTL_MAGIC, 61, struct msm_stats_flush_bufq *)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700114struct msm_stats_reqbuf {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700115 int num_buf;
116 int stats_type;
117};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700119struct msm_stats_flush_bufq {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700120 int stats_type;
121};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700122struct msm_mctl_pp_cmd {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700124 int32_t id;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700125 uint16_t length;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700126 void *value;
127};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700129struct msm_mctl_post_proc_cmd {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700130 int32_t type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700131 struct msm_mctl_pp_cmd cmd;
132};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700134#define MSM_CAMERA_LED_OFF 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700135#define MSM_CAMERA_LED_LOW 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700136#define MSM_CAMERA_LED_HIGH 2
137#define MSM_CAMERA_LED_INIT 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700139#define MSM_CAMERA_LED_RELEASE 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700140#define MSM_CAMERA_STROBE_FLASH_NONE 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700141#define MSM_CAMERA_STROBE_FLASH_XENON 1
142#define MSM_MAX_CAMERA_SENSORS 5
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700144#define MAX_SENSOR_NAME 32
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700145#define MAX_CAM_NAME_SIZE 32
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700146#define MAX_ACT_MOD_NAME_SIZE 32
147#define MAX_ACT_NAME_SIZE 32
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700149#define NUM_ACTUATOR_DIR 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700150#define MAX_ACTUATOR_SCENARIO 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700151#define MAX_ACTUATOR_REGION 5
152#define MAX_ACTUATOR_INIT_SET 12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700154#define MAX_ACTUATOR_TYPE_SIZE 32
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700155#define MAX_ACTUATOR_REG_TBL_SIZE 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700156#define MSM_MAX_CAMERA_CONFIGS 2
157#define PP_SNAP 0x01
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700159#define PP_RAW_SNAP ((0x01)<<1)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700160#define PP_PREV ((0x01)<<2)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700161#define PP_THUMB ((0x01)<<3)
162#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB)
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700164#define MSM_CAM_CTRL_CMD_DONE 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700165#define MSM_CAM_SENSOR_VFE_CMD 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700166#define MAX_PLANES 8
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700167struct msm_ctrl_cmd {
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700169 uint16_t type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700170 uint16_t length;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700171 void *value;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700172 uint16_t status;
Ben Cheng654325d2012-03-07 21:13:49 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700174 uint32_t timeout_ms;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700175 int resp_fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700176 int vnode_id;
177 int queue_idx;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700179 uint32_t evt_id;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700180 uint32_t stream_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700181 int config_ident;
182};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700184struct msm_cam_evt_msg {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700185 unsigned short type;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700186 unsigned short msg_id;
187 unsigned int len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700189 uint32_t frame_id;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700190 void *data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700191 struct timespec timestamp;
192};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700194struct msm_pp_frame_sp {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700195 unsigned long phy_addr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700196 uint32_t y_off;
197 uint32_t cbcr_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700199 uint32_t length;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700200 int32_t fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700201 uint32_t addr_offset;
202 unsigned long vaddr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700204};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700205struct msm_pp_frame_mp {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700206 unsigned long phy_addr;
207 uint32_t data_offset;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700209 uint32_t length;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700210 int32_t fd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700211 uint32_t addr_offset;
212 unsigned long vaddr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700214};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700215struct msm_pp_frame {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700216 uint32_t handle;
217 uint32_t frame_id;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700219 unsigned short buf_idx;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700220 int path;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700221 unsigned short image_type;
222 unsigned short num_planes;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700224 struct timeval timestamp;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700225 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700226 struct msm_pp_frame_sp sp;
227 struct msm_pp_frame_mp mp[MAX_PLANES];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700229 };
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700230 int node_type;
231 uint32_t inst_handle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700232};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700234struct msm_cam_evt_divert_frame {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700235 unsigned short image_mode;
236 unsigned short op_mode;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700237 unsigned short inst_idx;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700239 unsigned short node_idx;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700240 struct msm_pp_frame frame;
241 int do_pp;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700242};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700244struct msm_mctl_pp_cmd_ack_event {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700245 uint32_t cmd;
246 int status;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700247 uint32_t cookie;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700249};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700250struct msm_mctl_pp_event_info {
251 int32_t event;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700252 union {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700254 struct msm_mctl_pp_cmd_ack_event ack;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700255 };
256};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700257struct msm_isp_event_ctrl {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700259 unsigned short resptype;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700260 union {
261 struct msm_cam_evt_msg isp_msg;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700262 struct msm_ctrl_cmd ctrl;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700264 struct msm_cam_evt_divert_frame div_frame;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700265 struct msm_mctl_pp_event_info pp_event_info;
266 } isp_data;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700267};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700269#define MSM_CAM_RESP_CTRL 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700270#define MSM_CAM_RESP_STAT_EVT_MSG 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700271#define MSM_CAM_RESP_STEREO_OP_1 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700272#define MSM_CAM_RESP_STEREO_OP_2 3
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700274#define MSM_CAM_RESP_V4L2 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700275#define MSM_CAM_RESP_DIV_FRAME_EVT_MSG 5
276#define MSM_CAM_RESP_DONE_EVENT 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700277#define MSM_CAM_RESP_MCTL_PP_EVENT 7
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700279#define MSM_CAM_RESP_MAX 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700280#define MSM_CAM_APP_NOTIFY_EVENT 0
281#define MSM_CAM_APP_NOTIFY_ERROR_EVENT 1
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700282struct msm_stats_event_ctrl {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700284 int resptype;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700285 int timeout_ms;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700286 struct msm_ctrl_cmd ctrl_cmd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700287 struct msm_cam_evt_msg stats_event;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700289};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700290struct msm_camera_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700291 uint16_t cfg_type;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700292 uint16_t cmd_type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700294 uint16_t queue;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700295 uint16_t length;
296 void *value;
297};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700299#define CMD_GENERAL 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700300#define CMD_AXI_CFG_OUT1 1
301#define CMD_AXI_CFG_SNAP_O1_AND_O2 2
302#define CMD_AXI_CFG_OUT2 3
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700304#define CMD_PICT_T_AXI_CFG 4
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700305#define CMD_PICT_M_AXI_CFG 5
306#define CMD_RAW_PICT_AXI_CFG 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700307#define CMD_FRAME_BUF_RELEASE 7
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700309#define CMD_PREV_BUF_CFG 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700310#define CMD_SNAP_BUF_RELEASE 9
311#define CMD_SNAP_BUF_CFG 10
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700312#define CMD_STATS_DISABLE 11
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700314#define CMD_STATS_AEC_AWB_ENABLE 12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700315#define CMD_STATS_AF_ENABLE 13
316#define CMD_STATS_AEC_ENABLE 14
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700317#define CMD_STATS_AWB_ENABLE 15
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700319#define CMD_STATS_ENABLE 16
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700320#define CMD_STATS_AXI_CFG 17
321#define CMD_STATS_AEC_AXI_CFG 18
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700322#define CMD_STATS_AF_AXI_CFG 19
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700324#define CMD_STATS_AWB_AXI_CFG 20
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700325#define CMD_STATS_RS_AXI_CFG 21
326#define CMD_STATS_CS_AXI_CFG 22
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700327#define CMD_STATS_IHIST_AXI_CFG 23
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700329#define CMD_STATS_SKIN_AXI_CFG 24
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700330#define CMD_STATS_BUF_RELEASE 25
331#define CMD_STATS_AEC_BUF_RELEASE 26
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700332#define CMD_STATS_AF_BUF_RELEASE 27
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700334#define CMD_STATS_AWB_BUF_RELEASE 28
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700335#define CMD_STATS_RS_BUF_RELEASE 29
336#define CMD_STATS_CS_BUF_RELEASE 30
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700337#define CMD_STATS_IHIST_BUF_RELEASE 31
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700339#define CMD_STATS_SKIN_BUF_RELEASE 32
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700340#define UPDATE_STATS_INVALID 33
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700341#define CMD_AXI_CFG_SNAP_GEMINI 34
342#define CMD_AXI_CFG_SNAP 35
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700344#define CMD_AXI_CFG_PREVIEW 36
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700345#define CMD_AXI_CFG_VIDEO 37
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700346#define CMD_STATS_IHIST_ENABLE 38
347#define CMD_STATS_RS_ENABLE 39
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700349#define CMD_STATS_CS_ENABLE 40
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700350#define CMD_VPE 41
351#define CMD_AXI_CFG_VPE 42
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700352#define CMD_AXI_CFG_ZSL 43
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700354#define CMD_AXI_CFG_SNAP_VPE 44
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700355#define CMD_AXI_CFG_SNAP_THUMB_VPE 45
356#define CMD_CONFIG_PING_ADDR 46
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700357#define CMD_CONFIG_PONG_ADDR 47
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700359#define CMD_CONFIG_FREE_BUF_ADDR 48
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700360#define CMD_AXI_CFG_ZSL_ALL_CHNLS 49
361#define CMD_AXI_CFG_VIDEO_ALL_CHNLS 50
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700362#define CMD_VFE_BUFFER_RELEASE 51
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700364#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
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700372#define CMD_AXI_CFG_PRIM BIT(8)
Ajay Dudani77b25702012-08-09 09:58:59 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700374#define CMD_AXI_CFG_PRIM_ALL_CHNLS BIT(9)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700375#define CMD_AXI_CFG_SEC BIT(10)
376#define CMD_AXI_CFG_SEC_ALL_CHNLS BIT(11)
377#define CMD_AXI_CFG_TERT1 BIT(12)
Ajay Dudani77b25702012-08-09 09:58:59 -0700378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700379#define CMD_AXI_CFG_TERT2 BIT(13)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700380#define CMD_AXI_START 0xE1
381#define CMD_AXI_STOP 0xE2
Ajay Dudani77b25702012-08-09 09:58:59 -0700382#define AXI_CMD_PREVIEW BIT(0)
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384#define AXI_CMD_CAPTURE BIT(1)
385#define AXI_CMD_RECORD BIT(2)
386#define AXI_CMD_ZSL BIT(3)
387#define AXI_CMD_RAW_CAPTURE BIT(4)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700389struct msm_vfe_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700390 int cmd_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700391 uint16_t length;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700392 void *value;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700394};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700395struct msm_vpe_cfg_cmd {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700396 int cmd_type;
397 uint16_t length;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700399 void *value;
400};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700401#define MAX_CAMERA_ENABLE_NAME_LEN 32
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700402struct camera_enable_cmd {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700404 char name[MAX_CAMERA_ENABLE_NAME_LEN];
405};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700406#define MSM_PMEM_OUTPUT1 0
407#define MSM_PMEM_OUTPUT2 1
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700409#define MSM_PMEM_OUTPUT1_OUTPUT2 2
Iliyan Malchev82420122009-09-11 00:29:59 -0700410#define MSM_PMEM_THUMBNAIL 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700411#define MSM_PMEM_MAINIMG 4
412#define MSM_PMEM_RAW_MAINIMG 5
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700414#define MSM_PMEM_AEC_AWB 6
415#define MSM_PMEM_AF 7
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700416#define MSM_PMEM_AEC 8
417#define MSM_PMEM_AWB 9
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700419#define MSM_PMEM_RS 10
420#define MSM_PMEM_CS 11
421#define MSM_PMEM_IHIST 12
422#define MSM_PMEM_SKIN 13
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700424#define MSM_PMEM_VIDEO 14
425#define MSM_PMEM_PREVIEW 15
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700426#define MSM_PMEM_VIDEO_VPE 16
427#define MSM_PMEM_C2D 17
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700429#define MSM_PMEM_MAINIMG_VPE 18
430#define MSM_PMEM_THUMBNAIL_VPE 19
Ajay Dudani77b25702012-08-09 09:58:59 -0700431#define MSM_PMEM_BAYER_GRID 20
432#define MSM_PMEM_BAYER_FOCUS 21
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700434#define MSM_PMEM_BAYER_HIST 22
435#define MSM_PMEM_MAX 23
436#define STAT_AEAW 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700437#define STAT_AEC 1
Ajay Dudani77b25702012-08-09 09:58:59 -0700438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700439#define STAT_AF 2
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700440#define STAT_AWB 3
441#define STAT_RS 4
442#define STAT_CS 5
Ajay Dudani77b25702012-08-09 09:58:59 -0700443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700444#define STAT_IHIST 6
445#define STAT_SKIN 7
Ajay Dudani77b25702012-08-09 09:58:59 -0700446#define STAT_BG 8
447#define STAT_BF 9
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -0700449#define STAT_BHIST 10
450#define STAT_MAX 11
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700451#define FRAME_PREVIEW_OUTPUT1 0
452#define FRAME_PREVIEW_OUTPUT2 1
Ajay Dudani77b25702012-08-09 09:58:59 -0700453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700454#define FRAME_SNAPSHOT 2
455#define FRAME_THUMBNAIL 3
456#define FRAME_RAW_SNAPSHOT 4
457#define FRAME_MAX 5
Ajay Dudani77b25702012-08-09 09:58:59 -0700458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700459enum msm_stats_enum_type {
460 MSM_STATS_TYPE_AEC,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700461 MSM_STATS_TYPE_AF,
462 MSM_STATS_TYPE_AWB,
Ajay Dudani77b25702012-08-09 09:58:59 -0700463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700464 MSM_STATS_TYPE_RS,
465 MSM_STATS_TYPE_CS,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700466 MSM_STATS_TYPE_IHIST,
467 MSM_STATS_TYPE_SKIN,
Ajay Dudani77b25702012-08-09 09:58:59 -0700468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700469 MSM_STATS_TYPE_BG,
470 MSM_STATS_TYPE_BF,
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700471 MSM_STATS_TYPE_BHIST,
472 MSM_STATS_TYPE_AE_AW,
Ajay Dudani77b25702012-08-09 09:58:59 -0700473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700474 MSM_STATS_TYPE_MAX
475};
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700476struct msm_stats_buf_info {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700477 int type;
Ajay Dudani77b25702012-08-09 09:58:59 -0700478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700479 int fd;
480 void *vaddr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700481 uint32_t offset;
482 uint32_t len;
Ajay Dudani77b25702012-08-09 09:58:59 -0700483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700484 uint32_t y_off;
485 uint32_t cbcr_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700486 uint32_t planar0_off;
487 uint32_t planar1_off;
Ajay Dudani77b25702012-08-09 09:58:59 -0700488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700489 uint32_t planar2_off;
490 uint8_t active;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700491 int buf_idx;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700492};
Ajay Dudani77b25702012-08-09 09:58:59 -0700493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700494struct msm_pmem_info {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700495 int type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700496 int fd;
497 void *vaddr;
Ajay Dudani77b25702012-08-09 09:58:59 -0700498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700499 uint32_t offset;
500 uint32_t len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700501 uint32_t y_off;
502 uint32_t cbcr_off;
Ajay Dudani77b25702012-08-09 09:58:59 -0700503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700504 uint32_t planar0_off;
505 uint32_t planar1_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700506 uint32_t planar2_off;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700507 uint8_t active;
Ajay Dudani77b25702012-08-09 09:58:59 -0700508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700509};
510struct outputCfg {
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700511 uint32_t height;
512 uint32_t width;
Ajay Dudani77b25702012-08-09 09:58:59 -0700513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700514 uint32_t window_height_firstline;
515 uint32_t window_height_lastline;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700516};
517#define VIDEO_NODE 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700519#define MCTL_NODE 1
520#define OUTPUT_1 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700521#define OUTPUT_2 1
522#define OUTPUT_1_AND_2 2
Ajay Dudani77b25702012-08-09 09:58:59 -0700523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700524#define OUTPUT_1_AND_3 3
525#define CAMIF_TO_AXI_VIA_OUTPUT_2 4
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700526#define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 5
527#define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 6
Ajay Dudani77b25702012-08-09 09:58:59 -0700528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700529#define OUTPUT_1_2_AND_3 7
530#define OUTPUT_ALL_CHNLS 8
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700531#define OUTPUT_VIDEO_ALL_CHNLS 9
532#define OUTPUT_ZSL_ALL_CHNLS 10
Ajay Dudani77b25702012-08-09 09:58:59 -0700533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700534#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
535#define OUTPUT_PRIM BIT(8)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700536#define OUTPUT_PRIM_ALL_CHNLS BIT(9)
537#define OUTPUT_SEC BIT(10)
Ajay Dudani77b25702012-08-09 09:58:59 -0700538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700539#define OUTPUT_SEC_ALL_CHNLS BIT(11)
540#define OUTPUT_TERT1 BIT(12)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700541#define OUTPUT_TERT2 BIT(13)
542#define MSM_FRAME_PREV_1 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700544#define MSM_FRAME_PREV_2 1
545#define MSM_FRAME_ENC 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700546#define OUTPUT_TYPE_P BIT(0)
547#define OUTPUT_TYPE_T BIT(1)
Ajay Dudani77b25702012-08-09 09:58:59 -0700548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700549#define OUTPUT_TYPE_S BIT(2)
550#define OUTPUT_TYPE_V BIT(3)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700551#define OUTPUT_TYPE_L BIT(4)
552#define OUTPUT_TYPE_ST_L BIT(5)
Ajay Dudani77b25702012-08-09 09:58:59 -0700553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700554#define OUTPUT_TYPE_ST_R BIT(6)
555#define OUTPUT_TYPE_ST_D BIT(7)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700556#define OUTPUT_TYPE_R BIT(8)
557#define OUTPUT_TYPE_R1 BIT(9)
Ajay Dudani77b25702012-08-09 09:58:59 -0700558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700559struct fd_roi_info {
560 void *info;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700561 int info_len;
562};
Ajay Dudani77b25702012-08-09 09:58:59 -0700563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700564struct msm_mem_map_info {
565 uint32_t cookie;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700566 uint32_t length;
567 uint32_t mem_type;
Ajay Dudani77b25702012-08-09 09:58:59 -0700568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700569};
570#define MSM_MEM_MMAP 0
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700571#define MSM_MEM_USERPTR 1
572#define MSM_PLANE_MAX 8
Ajay Dudani77b25702012-08-09 09:58:59 -0700573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700574#define MSM_PLANE_Y 0
575#define MSM_PLANE_UV 1
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700576struct msm_frame {
577 struct timespec ts;
Ajay Dudani77b25702012-08-09 09:58:59 -0700578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700579 int path;
580 int type;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700581 unsigned long buffer;
582 uint32_t phy_offset;
Ajay Dudani77b25702012-08-09 09:58:59 -0700583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700584 uint32_t y_off;
585 uint32_t cbcr_off;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700586 uint32_t planar0_off;
587 uint32_t planar1_off;
Ajay Dudani77b25702012-08-09 09:58:59 -0700588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700589 uint32_t planar2_off;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700590 int fd;
591 void *cropinfo;
592 int croplen;
Ajay Dudani77b25702012-08-09 09:58:59 -0700593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700594 uint32_t error_code;
595 struct fd_roi_info roi_info;
596 uint32_t frame_id;
597 int stcam_quality_ind;
Ajay Dudani77b25702012-08-09 09:58:59 -0700598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700599 uint32_t stcam_conv_value;
600 struct ion_allocation_data ion_alloc;
601 struct ion_fd_data fd_data;
602 int ion_dev_fd;
Ajay Dudani77b25702012-08-09 09:58:59 -0700603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700604};
605enum msm_st_frame_packing {
606 SIDE_BY_SIDE_HALF,
607 SIDE_BY_SIDE_FULL,
Ajay Dudani77b25702012-08-09 09:58:59 -0700608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700609 TOP_DOWN_HALF,
610 TOP_DOWN_FULL,
611};
612struct msm_st_crop {
Ajay Dudani77b25702012-08-09 09:58:59 -0700613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700614 uint32_t in_w;
615 uint32_t in_h;
616 uint32_t out_w;
617 uint32_t out_h;
Ajay Dudani77b25702012-08-09 09:58:59 -0700618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700619};
620struct msm_st_half {
621 uint32_t buf_p0_off;
622 uint32_t buf_p1_off;
Ajay Dudani77b25702012-08-09 09:58:59 -0700623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700624 uint32_t buf_p0_stride;
625 uint32_t buf_p1_stride;
626 uint32_t pix_x_off;
627 uint32_t pix_y_off;
Ajay Dudani77b25702012-08-09 09:58:59 -0700628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700629 struct msm_st_crop stCropInfo;
630};
631struct msm_st_frame {
632 struct msm_frame buf_info;
Ajay Dudani77b25702012-08-09 09:58:59 -0700633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700634 int type;
635 enum msm_st_frame_packing packing;
636 struct msm_st_half L;
637 struct msm_st_half R;
Ajay Dudani77b25702012-08-09 09:58:59 -0700638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700639 int frame_id;
640};
641#define MSM_CAMERA_ERR_MASK (0xFFFFFFFF & 1)
642struct stats_buff {
Ajay Dudani77b25702012-08-09 09:58:59 -0700643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700644 unsigned long buff;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700645 int fd;
646};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700647struct msm_stats_buf {
Ajay Dudani77b25702012-08-09 09:58:59 -0700648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700649 uint8_t awb_ymin;
650 struct stats_buff aec;
651 struct stats_buff awb;
652 struct stats_buff af;
Ajay Dudani77b25702012-08-09 09:58:59 -0700653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700654 struct stats_buff ihist;
655 struct stats_buff rs;
656 struct stats_buff cs;
657 struct stats_buff skin;
Ajay Dudani77b25702012-08-09 09:58:59 -0700658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700659 int type;
660 uint32_t status_bits;
661 unsigned long buffer;
662 int fd;
Ajay Dudani77b25702012-08-09 09:58:59 -0700663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700664 int length;
665 struct ion_handle *handle;
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700666 uint32_t frame_id;
667 int buf_idx;
Ajay Dudani77b25702012-08-09 09:58:59 -0700668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700669};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700670#define MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT 0
671#define MSM_V4L2_EXT_CAPTURE_MODE_PREVIEW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+1)
672#define MSM_V4L2_EXT_CAPTURE_MODE_VIDEO (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+2)
Ajay Dudani77b25702012-08-09 09:58:59 -0700673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700674#define MSM_V4L2_EXT_CAPTURE_MODE_MAIN (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+3)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700675#define MSM_V4L2_EXT_CAPTURE_MODE_THUMBNAIL (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+4)
676#define MSM_V4L2_EXT_CAPTURE_MODE_RAW (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+5)
677#define MSM_V4L2_EXT_CAPTURE_MODE_RDI (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+6)
Ajay Dudani77b25702012-08-09 09:58:59 -0700678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700679#define MSM_V4L2_EXT_CAPTURE_MODE_RDI1 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+7)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700680#define MSM_V4L2_EXT_CAPTURE_MODE_RDI2 (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+8)
681#define MSM_V4L2_EXT_CAPTURE_MODE_MAX (MSM_V4L2_EXT_CAPTURE_MODE_DEFAULT+9)
682#define MSM_V4L2_PID_MOTION_ISO V4L2_CID_PRIVATE_BASE
Ajay Dudani77b25702012-08-09 09:58:59 -0700683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700684#define MSM_V4L2_PID_EFFECT (V4L2_CID_PRIVATE_BASE+1)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700685#define MSM_V4L2_PID_HJR (V4L2_CID_PRIVATE_BASE+2)
686#define MSM_V4L2_PID_LED_MODE (V4L2_CID_PRIVATE_BASE+3)
687#define MSM_V4L2_PID_PREP_SNAPSHOT (V4L2_CID_PRIVATE_BASE+4)
Ajay Dudani77b25702012-08-09 09:58:59 -0700688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700689#define MSM_V4L2_PID_EXP_METERING (V4L2_CID_PRIVATE_BASE+5)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700690#define MSM_V4L2_PID_ISO (V4L2_CID_PRIVATE_BASE+6)
691#define MSM_V4L2_PID_CAM_MODE (V4L2_CID_PRIVATE_BASE+7)
692#define MSM_V4L2_PID_LUMA_ADAPTATION (V4L2_CID_PRIVATE_BASE+8)
Ajay Dudani77b25702012-08-09 09:58:59 -0700693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700694#define MSM_V4L2_PID_BEST_SHOT (V4L2_CID_PRIVATE_BASE+9)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700695#define MSM_V4L2_PID_FOCUS_MODE (V4L2_CID_PRIVATE_BASE+10)
696#define MSM_V4L2_PID_BL_DETECTION (V4L2_CID_PRIVATE_BASE+11)
697#define MSM_V4L2_PID_SNOW_DETECTION (V4L2_CID_PRIVATE_BASE+12)
Ajay Dudani77b25702012-08-09 09:58:59 -0700698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700699#define MSM_V4L2_PID_CTRL_CMD (V4L2_CID_PRIVATE_BASE+13)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700700#define MSM_V4L2_PID_EVT_SUB_INFO (V4L2_CID_PRIVATE_BASE+14)
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700701#define MSM_V4L2_PID_STROBE_FLASH (V4L2_CID_PRIVATE_BASE+15)
702#define MSM_V4L2_PID_INST_HANDLE (V4L2_CID_PRIVATE_BASE+16)
Ajay Dudani77b25702012-08-09 09:58:59 -0700703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -0700704#define MSM_V4L2_PID_MMAP_INST (V4L2_CID_PRIVATE_BASE+17)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700705#define MSM_V4L2_PID_PP_PLANE_INFO (V4L2_CID_PRIVATE_BASE+18)
706#define MSM_V4L2_PID_MAX MSM_V4L2_PID_PP_PLANE_INFO
707#define MSM_V4L2_CAM_OP_DEFAULT 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700709#define MSM_V4L2_CAM_OP_PREVIEW (MSM_V4L2_CAM_OP_DEFAULT+1)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700710#define MSM_V4L2_CAM_OP_VIDEO (MSM_V4L2_CAM_OP_DEFAULT+2)
711#define MSM_V4L2_CAM_OP_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+3)
712#define MSM_V4L2_CAM_OP_ZSL (MSM_V4L2_CAM_OP_DEFAULT+4)
Ajay Dudani77b25702012-08-09 09:58:59 -0700713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700714#define MSM_V4L2_CAM_OP_RAW (MSM_V4L2_CAM_OP_DEFAULT+5)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700715#define MSM_V4L2_CAM_OP_JPEG_CAPTURE (MSM_V4L2_CAM_OP_DEFAULT+6)
716#define MSM_V4L2_VID_CAP_TYPE 0
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700717#define MSM_V4L2_STREAM_ON 1
Ajay Dudani77b25702012-08-09 09:58:59 -0700718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700719#define MSM_V4L2_STREAM_OFF 2
720#define MSM_V4L2_SNAPSHOT 3
721#define MSM_V4L2_QUERY_CTRL 4
722#define MSM_V4L2_GET_CTRL 5
Ajay Dudani77b25702012-08-09 09:58:59 -0700723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700724#define MSM_V4L2_SET_CTRL 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700725#define MSM_V4L2_QUERY 7
726#define MSM_V4L2_GET_CROP 8
727#define MSM_V4L2_SET_CROP 9
Ajay Dudani77b25702012-08-09 09:58:59 -0700728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700729#define MSM_V4L2_OPEN 10
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700730#define MSM_V4L2_CLOSE 11
731#define MSM_V4L2_SET_CTRL_CMD 12
732#define MSM_V4L2_EVT_SUB_MASK 13
Ajay Dudani77b25702012-08-09 09:58:59 -0700733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700734#define MSM_V4L2_MAX 14
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700735#define V4L2_CAMERA_EXIT 43
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700736struct crop_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700737 void *info;
Ajay Dudani77b25702012-08-09 09:58:59 -0700738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700739 int len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700740};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700741struct msm_postproc {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700742 int ftnum;
Ajay Dudani77b25702012-08-09 09:58:59 -0700743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700744 struct msm_frame fthumnail;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700745 int fmnum;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700746 struct msm_frame fmain;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700747};
Ajay Dudani77b25702012-08-09 09:58:59 -0700748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700749struct msm_snapshot_pp_status {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700750 void *status;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700751};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700752#define CFG_SET_MODE 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700754#define CFG_SET_EFFECT 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700755#define CFG_START 2
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700756#define CFG_PWR_UP 3
757#define CFG_PWR_DOWN 4
Ajay Dudani77b25702012-08-09 09:58:59 -0700758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700759#define CFG_WRITE_EXPOSURE_GAIN 5
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700760#define CFG_SET_DEFAULT_FOCUS 6
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700761#define CFG_MOVE_FOCUS 7
762#define CFG_REGISTER_TO_REAL_GAIN 8
Ajay Dudani77b25702012-08-09 09:58:59 -0700763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700764#define CFG_REAL_TO_REGISTER_GAIN 9
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700765#define CFG_SET_FPS 10
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700766#define CFG_SET_PICT_FPS 11
767#define CFG_SET_BRIGHTNESS 12
Ajay Dudani77b25702012-08-09 09:58:59 -0700768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700769#define CFG_SET_CONTRAST 13
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700770#define CFG_SET_ZOOM 14
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700771#define CFG_SET_EXPOSURE_MODE 15
772#define CFG_SET_WB 16
Ajay Dudani77b25702012-08-09 09:58:59 -0700773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700774#define CFG_SET_ANTIBANDING 17
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700775#define CFG_SET_EXP_GAIN 18
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700776#define CFG_SET_PICT_EXP_GAIN 19
777#define CFG_SET_LENS_SHADING 20
Ajay Dudani77b25702012-08-09 09:58:59 -0700778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700779#define CFG_GET_PICT_FPS 21
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700780#define CFG_GET_PREV_L_PF 22
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700781#define CFG_GET_PREV_P_PL 23
782#define CFG_GET_PICT_L_PF 24
Ajay Dudani77b25702012-08-09 09:58:59 -0700783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700784#define CFG_GET_PICT_P_PL 25
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700785#define CFG_GET_AF_MAX_STEPS 26
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700786#define CFG_GET_PICT_MAX_EXP_LC 27
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700787#define CFG_SEND_WB_INFO 28
Ajay Dudani77b25702012-08-09 09:58:59 -0700788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700789#define CFG_SENSOR_INIT 29
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700790#define CFG_GET_3D_CALI_DATA 30
791#define CFG_GET_CALIB_DATA 31
792#define CFG_GET_OUTPUT_INFO 32
Ajay Dudani77b25702012-08-09 09:58:59 -0700793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700794#define CFG_GET_EEPROM_INFO 33
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700795#define CFG_GET_EEPROM_DATA 34
796#define CFG_SET_ACTUATOR_INFO 35
797#define CFG_GET_ACTUATOR_INFO 36
Ajay Dudani77b25702012-08-09 09:58:59 -0700798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700799#define CFG_SET_SATURATION 37
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700800#define CFG_SET_SHARPNESS 38
801#define CFG_SET_TOUCHAEC 39
802#define CFG_SET_AUTO_FOCUS 40
Ajay Dudani77b25702012-08-09 09:58:59 -0700803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700804#define CFG_SET_AUTOFLASH 41
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700805#define CFG_SET_EXPOSURE_COMPENSATION 42
806#define CFG_SET_ISO 43
807#define CFG_START_STREAM 44
Ajay Dudani77b25702012-08-09 09:58:59 -0700808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700809#define CFG_STOP_STREAM 45
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700810#define CFG_GET_CSI_PARAMS 46
811#define CFG_MAX 47
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700812#define MOVE_NEAR 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700814#define MOVE_FAR 1
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700815#define SENSOR_PREVIEW_MODE 0
816#define SENSOR_SNAPSHOT_MODE 1
817#define SENSOR_RAW_SNAPSHOT_MODE 2
Ajay Dudani77b25702012-08-09 09:58:59 -0700818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700819#define SENSOR_HFR_60FPS_MODE 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700820#define SENSOR_HFR_90FPS_MODE 4
821#define SENSOR_HFR_120FPS_MODE 5
822#define SENSOR_QTR_SIZE 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700824#define SENSOR_FULL_SIZE 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700825#define SENSOR_QVGA_SIZE 2
826#define SENSOR_INVALID_SIZE 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700827#define CAMERA_EFFECT_OFF 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700829#define CAMERA_EFFECT_MONO 1
830#define CAMERA_EFFECT_NEGATIVE 2
831#define CAMERA_EFFECT_SOLARIZE 3
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700832#define CAMERA_EFFECT_SEPIA 4
Ajay Dudani77b25702012-08-09 09:58:59 -0700833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700834#define CAMERA_EFFECT_POSTERIZE 5
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700835#define CAMERA_EFFECT_WHITEBOARD 6
836#define CAMERA_EFFECT_BLACKBOARD 7
837#define CAMERA_EFFECT_AQUA 8
Ajay Dudani77b25702012-08-09 09:58:59 -0700838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700839#define CAMERA_EFFECT_EMBOSS 9
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700840#define CAMERA_EFFECT_SKETCH 10
841#define CAMERA_EFFECT_NEON 11
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700842#define CAMERA_EFFECT_MAX 12
Ajay Dudani77b25702012-08-09 09:58:59 -0700843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700844#define CAMERA_EFFECT_BW 10
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700845#define CAMERA_EFFECT_BLUISH 12
846#define CAMERA_EFFECT_REDDISH 13
847#define CAMERA_EFFECT_GREENISH 14
Ajay Dudani77b25702012-08-09 09:58:59 -0700848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700849#define CAMERA_ANTIBANDING_OFF 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700850#define CAMERA_ANTIBANDING_50HZ 2
851#define CAMERA_ANTIBANDING_60HZ 1
852#define CAMERA_ANTIBANDING_AUTO 3
Ajay Dudani77b25702012-08-09 09:58:59 -0700853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700854#define CAMERA_CONTRAST_LV0 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700855#define CAMERA_CONTRAST_LV1 1
856#define CAMERA_CONTRAST_LV2 2
857#define CAMERA_CONTRAST_LV3 3
Ajay Dudani77b25702012-08-09 09:58:59 -0700858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700859#define CAMERA_CONTRAST_LV4 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700860#define CAMERA_CONTRAST_LV5 5
861#define CAMERA_CONTRAST_LV6 6
862#define CAMERA_CONTRAST_LV7 7
Ajay Dudani77b25702012-08-09 09:58:59 -0700863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700864#define CAMERA_CONTRAST_LV8 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700865#define CAMERA_CONTRAST_LV9 9
866#define CAMERA_BRIGHTNESS_LV0 0
867#define CAMERA_BRIGHTNESS_LV1 1
Ajay Dudani77b25702012-08-09 09:58:59 -0700868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700869#define CAMERA_BRIGHTNESS_LV2 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700870#define CAMERA_BRIGHTNESS_LV3 3
871#define CAMERA_BRIGHTNESS_LV4 4
872#define CAMERA_BRIGHTNESS_LV5 5
Ajay Dudani77b25702012-08-09 09:58:59 -0700873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700874#define CAMERA_BRIGHTNESS_LV6 6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700875#define CAMERA_BRIGHTNESS_LV7 7
876#define CAMERA_BRIGHTNESS_LV8 8
877#define CAMERA_SATURATION_LV0 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700879#define CAMERA_SATURATION_LV1 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700880#define CAMERA_SATURATION_LV2 2
881#define CAMERA_SATURATION_LV3 3
882#define CAMERA_SATURATION_LV4 4
Ajay Dudani77b25702012-08-09 09:58:59 -0700883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700884#define CAMERA_SATURATION_LV5 5
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700885#define CAMERA_SATURATION_LV6 6
886#define CAMERA_SATURATION_LV7 7
887#define CAMERA_SATURATION_LV8 8
Ajay Dudani77b25702012-08-09 09:58:59 -0700888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700889#define CAMERA_SHARPNESS_LV0 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700890#define CAMERA_SHARPNESS_LV1 3
891#define CAMERA_SHARPNESS_LV2 6
892#define CAMERA_SHARPNESS_LV3 9
Ajay Dudani77b25702012-08-09 09:58:59 -0700893/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700894#define CAMERA_SHARPNESS_LV4 12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700895#define CAMERA_SHARPNESS_LV5 15
896#define CAMERA_SHARPNESS_LV6 18
897#define CAMERA_SHARPNESS_LV7 21
Ajay Dudani77b25702012-08-09 09:58:59 -0700898/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700899#define CAMERA_SHARPNESS_LV8 24
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700900#define CAMERA_SHARPNESS_LV9 27
901#define CAMERA_SHARPNESS_LV10 30
902#define CAMERA_SETAE_AVERAGE 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700903/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700904#define CAMERA_SETAE_CENWEIGHT 1
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700905#define CAMERA_WB_AUTO 1
906#define CAMERA_WB_CUSTOM 2
907#define CAMERA_WB_INCANDESCENT 3
Ajay Dudani77b25702012-08-09 09:58:59 -0700908/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700909#define CAMERA_WB_FLUORESCENT 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700910#define CAMERA_WB_DAYLIGHT 5
911#define CAMERA_WB_CLOUDY_DAYLIGHT 6
912#define CAMERA_WB_TWILIGHT 7
Ajay Dudani77b25702012-08-09 09:58:59 -0700913/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700914#define CAMERA_WB_SHADE 8
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700915#define CAMERA_EXPOSURE_COMPENSATION_LV0 12
916#define CAMERA_EXPOSURE_COMPENSATION_LV1 6
917#define CAMERA_EXPOSURE_COMPENSATION_LV2 0
Ajay Dudani77b25702012-08-09 09:58:59 -0700918/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700919#define CAMERA_EXPOSURE_COMPENSATION_LV3 -6
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700920#define CAMERA_EXPOSURE_COMPENSATION_LV4 -12
921enum msm_v4l2_saturation_level {
922 MSM_V4L2_SATURATION_L0,
Ajay Dudani77b25702012-08-09 09:58:59 -0700923/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700924 MSM_V4L2_SATURATION_L1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700925 MSM_V4L2_SATURATION_L2,
926 MSM_V4L2_SATURATION_L3,
927 MSM_V4L2_SATURATION_L4,
Ajay Dudani77b25702012-08-09 09:58:59 -0700928/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700929 MSM_V4L2_SATURATION_L5,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700930 MSM_V4L2_SATURATION_L6,
931 MSM_V4L2_SATURATION_L7,
932 MSM_V4L2_SATURATION_L8,
Ajay Dudani77b25702012-08-09 09:58:59 -0700933/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700934 MSM_V4L2_SATURATION_L9,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700935 MSM_V4L2_SATURATION_L10,
936};
937enum msm_v4l2_contrast_level {
Ajay Dudani77b25702012-08-09 09:58:59 -0700938/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700939 MSM_V4L2_CONTRAST_L0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700940 MSM_V4L2_CONTRAST_L1,
941 MSM_V4L2_CONTRAST_L2,
942 MSM_V4L2_CONTRAST_L3,
Ajay Dudani77b25702012-08-09 09:58:59 -0700943/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700944 MSM_V4L2_CONTRAST_L4,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700945 MSM_V4L2_CONTRAST_L5,
946 MSM_V4L2_CONTRAST_L6,
947 MSM_V4L2_CONTRAST_L7,
Ajay Dudani77b25702012-08-09 09:58:59 -0700948/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700949 MSM_V4L2_CONTRAST_L8,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700950 MSM_V4L2_CONTRAST_L9,
951 MSM_V4L2_CONTRAST_L10,
952};
Ajay Dudani77b25702012-08-09 09:58:59 -0700953/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700954enum msm_v4l2_exposure_level {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700955 MSM_V4L2_EXPOSURE_N2,
956 MSM_V4L2_EXPOSURE_N1,
957 MSM_V4L2_EXPOSURE_D,
Ajay Dudani77b25702012-08-09 09:58:59 -0700958/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700959 MSM_V4L2_EXPOSURE_P1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700960 MSM_V4L2_EXPOSURE_P2,
961};
962enum msm_v4l2_sharpness_level {
Ajay Dudani77b25702012-08-09 09:58:59 -0700963/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700964 MSM_V4L2_SHARPNESS_L0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700965 MSM_V4L2_SHARPNESS_L1,
966 MSM_V4L2_SHARPNESS_L2,
967 MSM_V4L2_SHARPNESS_L3,
Ajay Dudani77b25702012-08-09 09:58:59 -0700968/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700969 MSM_V4L2_SHARPNESS_L4,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700970 MSM_V4L2_SHARPNESS_L5,
971 MSM_V4L2_SHARPNESS_L6,
972};
Ajay Dudani77b25702012-08-09 09:58:59 -0700973/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700974enum msm_v4l2_expo_metering_mode {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700975 MSM_V4L2_EXP_FRAME_AVERAGE,
976 MSM_V4L2_EXP_CENTER_WEIGHTED,
977 MSM_V4L2_EXP_SPOT_METERING,
Ajay Dudani77b25702012-08-09 09:58:59 -0700978/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700979};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700980enum msm_v4l2_iso_mode {
981 MSM_V4L2_ISO_AUTO = 0,
982 MSM_V4L2_ISO_DEBLUR,
Ajay Dudani77b25702012-08-09 09:58:59 -0700983/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700984 MSM_V4L2_ISO_100,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700985 MSM_V4L2_ISO_200,
986 MSM_V4L2_ISO_400,
987 MSM_V4L2_ISO_800,
Ajay Dudani77b25702012-08-09 09:58:59 -0700988/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700989 MSM_V4L2_ISO_1600,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700990};
991enum msm_v4l2_wb_mode {
992 MSM_V4L2_WB_OFF,
Ajay Dudani77b25702012-08-09 09:58:59 -0700993/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700994 MSM_V4L2_WB_AUTO ,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700995 MSM_V4L2_WB_CUSTOM,
996 MSM_V4L2_WB_INCANDESCENT,
997 MSM_V4L2_WB_FLUORESCENT,
Ajay Dudani77b25702012-08-09 09:58:59 -0700998/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -0700999 MSM_V4L2_WB_DAYLIGHT,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001000 MSM_V4L2_WB_CLOUDY_DAYLIGHT,
1001};
1002enum msm_v4l2_special_effect {
Ajay Dudani77b25702012-08-09 09:58:59 -07001003/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001004 MSM_V4L2_EFFECT_OFF,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001005 MSM_V4L2_EFFECT_MONO,
1006 MSM_V4L2_EFFECT_NEGATIVE,
1007 MSM_V4L2_EFFECT_SOLARIZE,
Ajay Dudani77b25702012-08-09 09:58:59 -07001008/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001009 MSM_V4L2_EFFECT_SEPIA,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001010 MSM_V4L2_EFFECT_POSTERAIZE,
1011 MSM_V4L2_EFFECT_WHITEBOARD,
1012 MSM_V4L2_EFFECT_BLACKBOARD,
Ajay Dudani77b25702012-08-09 09:58:59 -07001013/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001014 MSM_V4L2_EFFECT_AQUA,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001015 MSM_V4L2_EFFECT_EMBOSS,
1016 MSM_V4L2_EFFECT_SKETCH,
1017 MSM_V4L2_EFFECT_NEON,
Ajay Dudani77b25702012-08-09 09:58:59 -07001018/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001019 MSM_V4L2_EFFECT_MAX,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001020};
1021enum msm_v4l2_power_line_frequency {
1022 MSM_V4L2_POWER_LINE_OFF,
Ajay Dudani77b25702012-08-09 09:58:59 -07001023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001024 MSM_V4L2_POWER_LINE_60HZ,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001025 MSM_V4L2_POWER_LINE_50HZ,
1026 MSM_V4L2_POWER_LINE_AUTO,
1027};
Ajay Dudani77b25702012-08-09 09:58:59 -07001028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001029#define CAMERA_ISO_TYPE_AUTO 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001030#define CAMEAR_ISO_TYPE_HJR 1
1031#define CAMEAR_ISO_TYPE_100 2
1032#define CAMERA_ISO_TYPE_200 3
Ajay Dudani77b25702012-08-09 09:58:59 -07001033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001034#define CAMERA_ISO_TYPE_400 4
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001035#define CAMEAR_ISO_TYPE_800 5
1036#define CAMERA_ISO_TYPE_1600 6
1037struct sensor_pict_fps {
Ajay Dudani77b25702012-08-09 09:58:59 -07001038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001039 uint16_t prevfps;
1040 uint16_t pictfps;
1041};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001042struct exp_gain_cfg {
Ajay Dudani77b25702012-08-09 09:58:59 -07001043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001044 uint16_t gain;
1045 uint32_t line;
1046};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001047struct focus_cfg {
Ajay Dudani77b25702012-08-09 09:58:59 -07001048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001049 int32_t steps;
1050 int dir;
1051};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001052struct fps_cfg {
Ajay Dudani77b25702012-08-09 09:58:59 -07001053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001054 uint16_t f_mult;
1055 uint16_t fps_div;
1056 uint32_t pict_fps_div;
1057};
Ajay Dudani77b25702012-08-09 09:58:59 -07001058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001059struct wb_info_cfg {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001060 uint16_t red_gain;
1061 uint16_t green_gain;
1062 uint16_t blue_gain;
Ajay Dudani77b25702012-08-09 09:58:59 -07001063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001064};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001065struct sensor_3d_exp_cfg {
1066 uint16_t gain;
1067 uint32_t line;
Ajay Dudani77b25702012-08-09 09:58:59 -07001068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001069 uint16_t r_gain;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001070 uint16_t b_gain;
1071 uint16_t gr_gain;
1072 uint16_t gb_gain;
Ajay Dudani77b25702012-08-09 09:58:59 -07001073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001074 uint16_t gain_adjust;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001075};
1076struct sensor_3d_cali_data_t{
1077 unsigned char left_p_matrix[3][4][8];
Ajay Dudani77b25702012-08-09 09:58:59 -07001078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001079 unsigned char right_p_matrix[3][4][8];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001080 unsigned char square_len[8];
1081 unsigned char focal_len[8];
1082 unsigned char pixel_pitch[8];
Ajay Dudani77b25702012-08-09 09:58:59 -07001083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001084 uint16_t left_r;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001085 uint16_t left_b;
1086 uint16_t left_gb;
1087 uint16_t left_af_far;
Ajay Dudani77b25702012-08-09 09:58:59 -07001088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001089 uint16_t left_af_mid;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001090 uint16_t left_af_short;
1091 uint16_t left_af_5um;
1092 uint16_t left_af_50up;
Ajay Dudani77b25702012-08-09 09:58:59 -07001093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001094 uint16_t left_af_50down;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001095 uint16_t right_r;
1096 uint16_t right_b;
1097 uint16_t right_gb;
Ajay Dudani77b25702012-08-09 09:58:59 -07001098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001099 uint16_t right_af_far;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001100 uint16_t right_af_mid;
1101 uint16_t right_af_short;
1102 uint16_t right_af_5um;
Ajay Dudani77b25702012-08-09 09:58:59 -07001103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001104 uint16_t right_af_50up;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001105 uint16_t right_af_50down;
1106};
1107struct sensor_init_cfg {
Ajay Dudani77b25702012-08-09 09:58:59 -07001108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001109 uint8_t prev_res;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001110 uint8_t pict_res;
1111};
Ajay Dudani77b25702012-08-09 09:58:59 -07001112#define ROLLOFF_CALDATA_SIZE (17 * 13)
1113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1114typedef struct
1115{
1116 unsigned short mesh_rolloff_table_size;
1117 uint8_t r_gain[ROLLOFF_CALDATA_SIZE];
1118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1119 uint8_t gr_gain[ROLLOFF_CALDATA_SIZE];
1120 uint8_t gb_gain[ROLLOFF_CALDATA_SIZE];
1121 uint8_t b_gain[ROLLOFF_CALDATA_SIZE];
1122 uint8_t red_ref[17];
1123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1124} rolloff_caldata_array_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001125struct sensor_calib_data {
1126 uint16_t r_over_g;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001127 uint16_t b_over_g;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001129 uint16_t gr_over_gb;
1130 uint16_t macro_2_inf;
1131 uint16_t inf_2_macro;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001132 uint16_t stroke_amt;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001134 uint16_t af_pos_1m;
1135 uint16_t af_pos_inf;
Ajay Dudani77b25702012-08-09 09:58:59 -07001136 rolloff_caldata_array_type rolloff;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001137};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001139enum msm_sensor_resolution_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001140 MSM_SENSOR_RES_FULL,
1141 MSM_SENSOR_RES_QTR,
1142 MSM_SENSOR_RES_2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001144 MSM_SENSOR_RES_3,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001145 MSM_SENSOR_RES_4,
1146 MSM_SENSOR_RES_5,
1147 MSM_SENSOR_RES_6,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001149 MSM_SENSOR_RES_7,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001150 MSM_SENSOR_INVALID_RES,
1151};
1152struct msm_sensor_output_info_t {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001154 uint16_t x_output;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001155 uint16_t y_output;
1156 uint16_t line_length_pclk;
1157 uint16_t frame_length_lines;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001159 uint32_t vt_pixel_clk;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001160 uint32_t op_pixel_clk;
1161 uint16_t binning_factor;
1162};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001164struct sensor_output_info_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001165 struct msm_sensor_output_info_t *output_info;
1166 uint16_t num_info;
1167};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001169struct mirror_flip {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001170 int32_t x_mirror;
1171 int32_t y_flip;
1172};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001174struct cord {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001175 uint32_t x;
1176 uint32_t y;
1177};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001179struct msm_eeprom_data_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001180 void *eeprom_data;
1181 uint16_t index;
1182};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001184struct msm_camera_csid_vc_cfg {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001185 uint8_t cid;
1186 uint8_t dt;
1187 uint8_t decode_format;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001189};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001190struct csi_lane_params_t {
1191 uint8_t csi_lane_assign;
1192 uint8_t csi_lane_mask;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001194 uint8_t csi_if;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001195 uint8_t csid_core;
1196 uint32_t csid_version;
1197};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001199#define CSI_EMBED_DATA 0x12
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001200#define CSI_RESERVED_DATA_0 0x13
1201#define CSI_YUV422_8 0x1E
1202#define CSI_RAW8 0x2A
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001204#define CSI_RAW10 0x2B
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001205#define CSI_RAW12 0x2C
1206#define CSI_DECODE_6BIT 0
1207#define CSI_DECODE_8BIT 1
Ajay Dudani77b25702012-08-09 09:58:59 -07001208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001209#define CSI_DECODE_10BIT 2
1210#define CSI_DECODE_DPCM_10_8_10 5
Ajay Dudani77b25702012-08-09 09:58:59 -07001211#define ISPIF_STREAM(intf, action, vfe) (((intf)<<ISPIF_S_STREAM_SHIFT)+ (action)+((vfe)<<ISPIF_VFE_INTF_SHIFT))
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001212#define ISPIF_ON_FRAME_BOUNDARY (0x01 << 0)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001214#define ISPIF_OFF_FRAME_BOUNDARY (0x01 << 1)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001215#define ISPIF_OFF_IMMEDIATELY (0x01 << 2)
1216#define ISPIF_S_STREAM_SHIFT 4
Ajay Dudani77b25702012-08-09 09:58:59 -07001217#define ISPIF_VFE_INTF_SHIFT 12
1218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001219#define PIX_0 (0x01 << 0)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001220#define RDI_0 (0x01 << 1)
1221#define PIX_1 (0x01 << 2)
1222#define RDI_1 (0x01 << 3)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001224#define RDI_2 (0x01 << 4)
1225enum msm_ispif_vfe_intf {
1226 VFE0,
1227 VFE1,
1228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1229 VFE_MAX,
1230};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001231enum msm_ispif_intftype {
1232 PIX0,
Ajay Dudani77b25702012-08-09 09:58:59 -07001233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001234 RDI0,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001235 PIX1,
1236 RDI1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001237 RDI2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001239 INTF_MAX,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001240};
1241enum msm_ispif_vc {
1242 VC0,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001244 VC1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001245 VC2,
1246 VC3,
1247};
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001249enum msm_ispif_cid {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001250 CID0,
1251 CID1,
1252 CID2,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001254 CID3,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001255 CID4,
1256 CID5,
1257 CID6,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001259 CID7,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001260 CID8,
1261 CID9,
1262 CID10,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001264 CID11,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001265 CID12,
1266 CID13,
1267 CID14,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001269 CID15,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001270};
1271struct msm_ispif_params {
1272 uint8_t intftype;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001274 uint16_t cid_mask;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001275 uint8_t csid;
Ajay Dudani77b25702012-08-09 09:58:59 -07001276 uint8_t vfe_intf;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001277};
Ajay Dudani77b25702012-08-09 09:58:59 -07001278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001279struct msm_ispif_params_list {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001280 uint32_t len;
1281 struct msm_ispif_params params[4];
1282};
Ajay Dudani77b25702012-08-09 09:58:59 -07001283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001284enum ispif_cfg_type_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001285 ISPIF_INIT,
1286 ISPIF_SET_CFG,
1287 ISPIF_SET_ON_FRAME_BOUNDARY,
Ajay Dudani77b25702012-08-09 09:58:59 -07001288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001289 ISPIF_SET_OFF_FRAME_BOUNDARY,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001290 ISPIF_SET_OFF_IMMEDIATELY,
1291 ISPIF_RELEASE,
1292};
Ajay Dudani77b25702012-08-09 09:58:59 -07001293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001294struct ispif_cfg_data {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001295 enum ispif_cfg_type_t cfgtype;
1296 union {
1297 uint32_t csid_version;
Ajay Dudani77b25702012-08-09 09:58:59 -07001298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001299 int cmd;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001300 struct msm_ispif_params_list ispif_params;
1301 } cfg;
1302};
Ajay Dudani77b25702012-08-09 09:58:59 -07001303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -07001304struct sensor_cfg_data {
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001305 int cfgtype;
1306 int mode;
1307 int rs;
Ajay Dudani77b25702012-08-09 09:58:59 -07001308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001309 uint8_t max_steps;
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001310 union {
1311 int8_t effect;
1312 uint8_t lens_shading;
Ajay Dudani77b25702012-08-09 09:58:59 -07001313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001314 uint16_t prevl_pf;
1315 uint16_t prevp_pl;
1316 uint16_t pictl_pf;
1317 uint16_t pictp_pl;
Ajay Dudani77b25702012-08-09 09:58:59 -07001318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001319 uint32_t pict_max_exp_lc;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001320 uint16_t p_fps;
1321 uint8_t iso_type;
1322 struct sensor_init_cfg init_info;
Ajay Dudani77b25702012-08-09 09:58:59 -07001323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001324 struct sensor_pict_fps gfps;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001325 struct exp_gain_cfg exp_gain;
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001326 struct focus_cfg focus;
1327 struct fps_cfg fps;
Ajay Dudani77b25702012-08-09 09:58:59 -07001328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001329 struct wb_info_cfg wb_info;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001330 struct sensor_3d_exp_cfg sensor_3d_exp;
1331 struct sensor_calib_data calib_info;
1332 struct sensor_output_info_t output_info;
Ajay Dudani77b25702012-08-09 09:58:59 -07001333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001334 struct msm_eeprom_data_t eeprom_data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001335 struct csi_lane_params_t csi_lane_params;
1336 uint16_t antibanding;
1337 uint8_t contrast;
Ajay Dudani77b25702012-08-09 09:58:59 -07001338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001339 uint8_t saturation;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001340 uint8_t sharpness;
1341 int8_t brightness;
1342 int ae_mode;
Ajay Dudani77b25702012-08-09 09:58:59 -07001343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001344 uint8_t wb_val;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001345 int8_t exp_compensation;
1346 struct cord aec_cord;
1347 int is_autoflash;
Ajay Dudani77b25702012-08-09 09:58:59 -07001348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001349 struct mirror_flip mirror_flip;
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001350 } cfg;
1351};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001352struct damping_params_t {
Ajay Dudani77b25702012-08-09 09:58:59 -07001353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001354 uint32_t damping_step;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001355 uint32_t damping_delay;
1356 uint32_t hw_params;
1357};
Ajay Dudani77b25702012-08-09 09:58:59 -07001358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001359enum actuator_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001360 ACTUATOR_VCM,
1361 ACTUATOR_PIEZO,
1362};
Ajay Dudani77b25702012-08-09 09:58:59 -07001363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001364enum msm_actuator_data_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001365 MSM_ACTUATOR_BYTE_DATA = 1,
1366 MSM_ACTUATOR_WORD_DATA,
1367};
Ajay Dudani77b25702012-08-09 09:58:59 -07001368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001369enum msm_actuator_addr_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001370 MSM_ACTUATOR_BYTE_ADDR = 1,
1371 MSM_ACTUATOR_WORD_ADDR,
1372};
Ajay Dudani77b25702012-08-09 09:58:59 -07001373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001374enum msm_actuator_write_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001375 MSM_ACTUATOR_WRITE_HW_DAMP,
1376 MSM_ACTUATOR_WRITE_DAC,
1377};
Ajay Dudani77b25702012-08-09 09:58:59 -07001378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001379struct msm_actuator_reg_params_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001380 enum msm_actuator_write_type reg_write_type;
1381 uint32_t hw_mask;
1382 uint16_t reg_addr;
Ajay Dudani77b25702012-08-09 09:58:59 -07001383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001384 uint16_t hw_shift;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001385 uint16_t data_shift;
1386};
1387struct reg_settings_t {
Ajay Dudani77b25702012-08-09 09:58:59 -07001388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001389 uint16_t reg_addr;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001390 uint16_t reg_data;
1391};
1392struct region_params_t {
Ajay Dudani77b25702012-08-09 09:58:59 -07001393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001394 uint16_t step_bound[2];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001395 uint16_t code_per_step;
1396};
1397struct msm_actuator_move_params_t {
Ajay Dudani77b25702012-08-09 09:58:59 -07001398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001399 int8_t dir;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001400 int8_t sign_dir;
1401 int16_t dest_step_pos;
1402 int32_t num_steps;
Ajay Dudani77b25702012-08-09 09:58:59 -07001403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001404 struct damping_params_t *ringing_params;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001405};
1406struct msm_actuator_tuning_params_t {
1407 int16_t initial_code;
Ajay Dudani77b25702012-08-09 09:58:59 -07001408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001409 uint16_t pwd_step;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001410 uint16_t region_size;
1411 uint32_t total_steps;
1412 struct region_params_t *region_params;
Ajay Dudani77b25702012-08-09 09:58:59 -07001413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001414};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001415struct msm_actuator_params_t {
1416 enum actuator_type act_type;
1417 uint8_t reg_tbl_size;
Ajay Dudani77b25702012-08-09 09:58:59 -07001418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001419 uint16_t data_size;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001420 uint16_t init_setting_size;
1421 uint32_t i2c_addr;
1422 enum msm_actuator_addr_type i2c_addr_type;
Ajay Dudani77b25702012-08-09 09:58:59 -07001423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001424 enum msm_actuator_data_type i2c_data_type;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001425 struct msm_actuator_reg_params_t *reg_tbl_params;
1426 struct reg_settings_t *init_settings;
1427};
Ajay Dudani77b25702012-08-09 09:58:59 -07001428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001429struct msm_actuator_set_info_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001430 struct msm_actuator_params_t actuator_params;
1431 struct msm_actuator_tuning_params_t af_tuning_params;
1432};
Ajay Dudani77b25702012-08-09 09:58:59 -07001433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001434struct msm_actuator_get_info_t {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001435 uint32_t focal_length_num;
1436 uint32_t focal_length_den;
1437 uint32_t f_number_num;
Ajay Dudani77b25702012-08-09 09:58:59 -07001438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001439 uint32_t f_number_den;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001440 uint32_t f_pix_num;
1441 uint32_t f_pix_den;
1442 uint32_t total_f_dist_num;
Ajay Dudani77b25702012-08-09 09:58:59 -07001443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001444 uint32_t total_f_dist_den;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001445 uint32_t hor_view_angle_num;
1446 uint32_t hor_view_angle_den;
1447 uint32_t ver_view_angle_num;
Ajay Dudani77b25702012-08-09 09:58:59 -07001448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001449 uint32_t ver_view_angle_den;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001450};
1451enum af_camera_name {
1452 ACTUATOR_MAIN_CAM_0,
Ajay Dudani77b25702012-08-09 09:58:59 -07001453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001454 ACTUATOR_MAIN_CAM_1,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001455 ACTUATOR_MAIN_CAM_2,
1456 ACTUATOR_MAIN_CAM_3,
1457 ACTUATOR_MAIN_CAM_4,
Ajay Dudani77b25702012-08-09 09:58:59 -07001458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001459 ACTUATOR_MAIN_CAM_5,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001460 ACTUATOR_WEB_CAM_0,
1461 ACTUATOR_WEB_CAM_1,
1462 ACTUATOR_WEB_CAM_2,
Ajay Dudani77b25702012-08-09 09:58:59 -07001463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001464};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001465struct msm_actuator_cfg_data {
1466 int cfgtype;
1467 uint8_t is_af_supported;
Ajay Dudani77b25702012-08-09 09:58:59 -07001468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001469 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001470 struct msm_actuator_move_params_t move;
1471 struct msm_actuator_set_info_t set_info;
1472 struct msm_actuator_get_info_t get_info;
Ajay Dudani77b25702012-08-09 09:58:59 -07001473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001474 enum af_camera_name cam_name;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001475 } cfg;
1476};
1477struct msm_eeprom_support {
Ajay Dudani77b25702012-08-09 09:58:59 -07001478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001479 uint16_t is_supported;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001480 uint16_t size;
1481 uint16_t index;
1482 uint16_t qvalue;
Ajay Dudani77b25702012-08-09 09:58:59 -07001483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001484};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001485struct msm_calib_wb {
1486 uint16_t r_over_g;
1487 uint16_t b_over_g;
Ajay Dudani77b25702012-08-09 09:58:59 -07001488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001489 uint16_t gr_over_gb;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001490};
1491struct msm_calib_af {
1492 uint16_t macro_dac;
Ajay Dudani77b25702012-08-09 09:58:59 -07001493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001494 uint16_t inf_dac;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001495 uint16_t start_dac;
1496};
1497struct msm_calib_lsc {
Ajay Dudani77b25702012-08-09 09:58:59 -07001498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001499 uint16_t r_gain[221];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001500 uint16_t b_gain[221];
1501 uint16_t gr_gain[221];
1502 uint16_t gb_gain[221];
Ajay Dudani77b25702012-08-09 09:58:59 -07001503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001504};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001505struct pixel_t {
1506 int x;
1507 int y;
Ajay Dudani77b25702012-08-09 09:58:59 -07001508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001509};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001510struct msm_calib_dpc {
1511 uint16_t validcount;
1512 struct pixel_t snapshot_coord[128];
Ajay Dudani77b25702012-08-09 09:58:59 -07001513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001514 struct pixel_t preview_coord[128];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001515 struct pixel_t video_coord[128];
1516};
1517struct msm_camera_eeprom_info_t {
Ajay Dudani77b25702012-08-09 09:58:59 -07001518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001519 struct msm_eeprom_support af;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001520 struct msm_eeprom_support wb;
1521 struct msm_eeprom_support lsc;
1522 struct msm_eeprom_support dpc;
Ajay Dudani77b25702012-08-09 09:58:59 -07001523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001524};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001525struct msm_eeprom_cfg_data {
1526 int cfgtype;
1527 uint8_t is_eeprom_supported;
Ajay Dudani77b25702012-08-09 09:58:59 -07001528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001529 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001530 struct msm_eeprom_data_t get_data;
1531 struct msm_camera_eeprom_info_t get_info;
1532 } cfg;
Ajay Dudani77b25702012-08-09 09:58:59 -07001533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001534};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001535struct sensor_large_data {
1536 int cfgtype;
1537 union {
Ajay Dudani77b25702012-08-09 09:58:59 -07001538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001539 struct sensor_3d_cali_data_t sensor_3d_cali_data;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001540 } data;
1541};
1542enum sensor_type_t {
Ajay Dudani77b25702012-08-09 09:58:59 -07001543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001544 BAYER,
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001545 YUV,
1546 JPEG_SOC,
1547};
Ajay Dudani77b25702012-08-09 09:58:59 -07001548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001549enum flash_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001550 LED_FLASH,
1551 STROBE_FLASH,
1552};
Ajay Dudani77b25702012-08-09 09:58:59 -07001553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001554enum strobe_flash_ctrl_type {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001555 STROBE_FLASH_CTRL_INIT,
1556 STROBE_FLASH_CTRL_CHARGE,
1557 STROBE_FLASH_CTRL_RELEASE
Ajay Dudani77b25702012-08-09 09:58:59 -07001558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001559};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001560struct strobe_flash_ctrl_data {
1561 enum strobe_flash_ctrl_type type;
1562 int charge_en;
Ajay Dudani77b25702012-08-09 09:58:59 -07001563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001564};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001565struct msm_camera_info {
1566 int num_cameras;
1567 uint8_t has_3d_support[MSM_MAX_CAMERA_SENSORS];
Ajay Dudani77b25702012-08-09 09:58:59 -07001568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001569 uint8_t is_internal_cam[MSM_MAX_CAMERA_SENSORS];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001570 uint32_t s_mount_angle[MSM_MAX_CAMERA_SENSORS];
1571 const char *video_dev_name[MSM_MAX_CAMERA_SENSORS];
1572 enum sensor_type_t sensor_type[MSM_MAX_CAMERA_SENSORS];
Ajay Dudani77b25702012-08-09 09:58:59 -07001573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001574};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001575struct msm_cam_config_dev_info {
1576 int num_config_nodes;
1577 const char *config_dev_name[MSM_MAX_CAMERA_CONFIGS];
Ajay Dudani77b25702012-08-09 09:58:59 -07001578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001579 int config_dev_id[MSM_MAX_CAMERA_CONFIGS];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001580};
1581struct msm_mctl_node_info {
1582 int num_mctl_nodes;
Ajay Dudani77b25702012-08-09 09:58:59 -07001583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001584 const char *mctl_node_name[MSM_MAX_CAMERA_SENSORS];
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001585};
1586struct flash_ctrl_data {
1587 int flashtype;
Ajay Dudani77b25702012-08-09 09:58:59 -07001588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001589 union {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001590 int led_state;
1591 struct strobe_flash_ctrl_data strobe_ctrl;
1592 } ctrl_data;
Ajay Dudani77b25702012-08-09 09:58:59 -07001593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001594};
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001595#define GET_NAME 0
1596#define GET_PREVIEW_LINE_PER_FRAME 1
1597#define GET_PREVIEW_PIXELS_PER_LINE 2
Ajay Dudani77b25702012-08-09 09:58:59 -07001598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001599#define GET_SNAPSHOT_LINE_PER_FRAME 3
1600#define GET_SNAPSHOT_PIXELS_PER_LINE 4
1601#define GET_SNAPSHOT_FPS 5
1602#define GET_SNAPSHOT_MAX_EP_LINE_CNT 6
Ajay Dudani77b25702012-08-09 09:58:59 -07001603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -07001604struct msm_camsensor_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001605 char name[MAX_SENSOR_NAME];
1606 uint8_t flash_enabled;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001607 uint8_t strobe_flash_enabled;
Ajay Dudani77b25702012-08-09 09:58:59 -07001608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001609 uint8_t actuator_enabled;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001610 uint8_t ispif_supported;
1611 int8_t total_steps;
1612 uint8_t support_3d;
Ajay Dudani77b25702012-08-09 09:58:59 -07001613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001614 enum flash_type flashtype;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001615 enum sensor_type_t sensor_type;
1616 uint32_t pxlcode;
1617 uint32_t camera_type;
Ajay Dudani77b25702012-08-09 09:58:59 -07001618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001619 int mount_angle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001620 uint32_t max_width;
1621 uint32_t max_height;
1622};
Ajay Dudani77b25702012-08-09 09:58:59 -07001623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001624#define V4L2_SINGLE_PLANE 0
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001625#define V4L2_MULTI_PLANE_Y 0
1626#define V4L2_MULTI_PLANE_CBCR 1
1627#define V4L2_MULTI_PLANE_CB 1
Ajay Dudani77b25702012-08-09 09:58:59 -07001628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001629#define V4L2_MULTI_PLANE_CR 2
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001630struct plane_data {
1631 int plane_id;
1632 uint32_t offset;
Ajay Dudani77b25702012-08-09 09:58:59 -07001633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001634 unsigned long size;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001635};
1636struct img_plane_info {
1637 uint32_t width;
Ajay Dudani77b25702012-08-09 09:58:59 -07001638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001639 uint32_t height;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001640 uint32_t pixelformat;
1641 uint8_t buffer_type;
1642 uint8_t output_port;
Ajay Dudani77b25702012-08-09 09:58:59 -07001643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001644 uint32_t ext_mode;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001645 uint8_t num_planes;
1646 struct plane_data plane[MAX_PLANES];
1647 uint32_t sp_y_offset;
Ajay Dudani77b25702012-08-09 09:58:59 -07001648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001649 uint32_t inst_handle;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001650};
1651#define QCAMERA_NAME "qcamera"
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001652#define QCAMERA_SERVER_NAME "qcamera_server"
Ajay Dudani77b25702012-08-09 09:58:59 -07001653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001654#define QCAMERA_DEVICE_GROUP_ID 1
1655#define QCAMERA_VNODE_GROUP_ID 2
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001656enum msm_cam_subdev_type {
1657 CSIPHY_DEV,
Ajay Dudani77b25702012-08-09 09:58:59 -07001658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001659 CSID_DEV,
1660 CSIC_DEV,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001661 ISPIF_DEV,
1662 VFE_DEV,
Ajay Dudani77b25702012-08-09 09:58:59 -07001663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001664 AXI_DEV,
1665 VPE_DEV,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001666 SENSOR_DEV,
1667 ACTUATOR_DEV,
Ajay Dudani77b25702012-08-09 09:58:59 -07001668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001669 EEPROM_DEV,
1670 GESTURE_DEV,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001671 IRQ_ROUTER_DEV,
1672 CPP_DEV,
Ajay Dudani77b25702012-08-09 09:58:59 -07001673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1674 CCI_DEV,
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001675};
1676struct msm_mctl_set_sdev_data {
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001677 uint32_t revision;
Ajay Dudani77b25702012-08-09 09:58:59 -07001678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001679 enum msm_cam_subdev_type sdev_type;
1680};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001681#define MSM_CAM_V4L2_IOCTL_GET_CAMERA_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
1682#define MSM_CAM_V4L2_IOCTL_GET_CONFIG_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
Ajay Dudani77b25702012-08-09 09:58:59 -07001683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001684#define MSM_CAM_V4L2_IOCTL_GET_MCTL_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
1685#define MSM_CAM_V4L2_IOCTL_CTRL_CMD_DONE _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001686#define MSM_CAM_V4L2_IOCTL_GET_EVENT_PAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
1687#define MSM_CAM_IOCTL_SEND_EVENT _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct v4l2_event)
Ajay Dudani77b25702012-08-09 09:58:59 -07001688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001689#define MSM_CAM_V4L2_IOCTL_CFG_VPE _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_vpe_cfg_cmd)
1690#define MSM_CAM_V4L2_IOCTL_PRIVATE_S_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001691#define MSM_CAM_V4L2_IOCTL_PRIVATE_G_CTRL _IOWR('V', BASE_VIDIOC_PRIVATE + 9, struct msm_camera_v4l2_ioctl_t)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001692#define VIDIOC_MSM_VPE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 15)
Ajay Dudani77b25702012-08-09 09:58:59 -07001693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001694#define VIDIOC_MSM_VPE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 16)
1695#define VIDIOC_MSM_VPE_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 17, struct msm_mctl_pp_params *)
1696#define VIDIOC_MSM_AXI_INIT _IO('V', BASE_VIDIOC_PRIVATE + 18)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001697#define VIDIOC_MSM_AXI_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 19)
Ajay Dudani77b25702012-08-09 09:58:59 -07001698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001699#define VIDIOC_MSM_AXI_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 20, void *)
1700#define VIDIOC_MSM_AXI_IRQ _IOWR('V', BASE_VIDIOC_PRIVATE + 21, void *)
1701#define VIDIOC_MSM_AXI_BUF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001702#define VIDIOC_MSM_VFE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 22)
Ajay Dudani77b25702012-08-09 09:58:59 -07001703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001704#define VIDIOC_MSM_VFE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 23)
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001705struct msm_camera_v4l2_ioctl_t {
1706 uint32_t id;
1707 void __user *ioctl_ptr;
Ajay Dudani77b25702012-08-09 09:58:59 -07001708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001709 uint32_t len;
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001710};
Ajay Dudani77b25702012-08-09 09:58:59 -07001711struct msm_camera_vfe_params_t {
1712 uint32_t operation_mode;
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani77b25702012-08-09 09:58:59 -07001714 uint32_t capture_count;
1715 uint32_t skip_abort;
1716 uint16_t port_info;
1717 uint16_t cmd_type;
1718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1719};
1720enum msm_camss_irq_idx {
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001721 CAMERA_SS_IRQ_0,
1722 CAMERA_SS_IRQ_1,
Ajay Dudani77b25702012-08-09 09:58:59 -07001723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001724 CAMERA_SS_IRQ_2,
1725 CAMERA_SS_IRQ_3,
1726 CAMERA_SS_IRQ_4,
1727 CAMERA_SS_IRQ_5,
Ajay Dudani77b25702012-08-09 09:58:59 -07001728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001729 CAMERA_SS_IRQ_6,
1730 CAMERA_SS_IRQ_7,
1731 CAMERA_SS_IRQ_8,
1732 CAMERA_SS_IRQ_9,
Ajay Dudani77b25702012-08-09 09:58:59 -07001733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001734 CAMERA_SS_IRQ_10,
1735 CAMERA_SS_IRQ_11,
1736 CAMERA_SS_IRQ_12,
1737 CAMERA_SS_IRQ_MAX
Ajay Dudani77b25702012-08-09 09:58:59 -07001738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001739};
1740enum msm_cam_hw_idx {
1741 MSM_CAM_HW_MICRO,
1742 MSM_CAM_HW_CCI,
Ajay Dudani77b25702012-08-09 09:58:59 -07001743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001744 MSM_CAM_HW_CSI0,
1745 MSM_CAM_HW_CSI1,
1746 MSM_CAM_HW_CSI2,
1747 MSM_CAM_HW_CSI3,
Ajay Dudani77b25702012-08-09 09:58:59 -07001748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001749 MSM_CAM_HW_ISPIF,
1750 MSM_CAM_HW_CPP,
1751 MSM_CAM_HW_VFE0,
1752 MSM_CAM_HW_VFE1,
Ajay Dudani77b25702012-08-09 09:58:59 -07001753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001754 MSM_CAM_HW_JPEG0,
1755 MSM_CAM_HW_JPEG1,
1756 MSM_CAM_HW_JPEG2,
1757 MSM_CAM_HW_MAX
Ajay Dudani77b25702012-08-09 09:58:59 -07001758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001759};
1760struct msm_camera_irq_cfg {
1761 uint32_t cam_hw_mask;
1762 uint8_t irq_idx;
Ajay Dudani77b25702012-08-09 09:58:59 -07001763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001764 uint8_t num_hwcore;
1765};
1766#define MSM_IRQROUTER_CFG_COMPIRQ _IOWR('V', BASE_VIDIOC_PRIVATE, void __user *)
1767#define MAX_NUM_CPP_STRIPS 8
Ajay Dudani77b25702012-08-09 09:58:59 -07001768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001769enum msm_cpp_frame_type {
1770 MSM_CPP_OFFLINE_FRAME,
1771 MSM_CPP_REALTIME_FRAME,
1772};
Ajay Dudani77b25702012-08-09 09:58:59 -07001773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001774struct msm_cpp_frame_strip_info {
1775 int scale_v_en;
1776 int scale_h_en;
1777 int upscale_v_en;
Ajay Dudani77b25702012-08-09 09:58:59 -07001778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001779 int upscale_h_en;
1780 int src_start_x;
1781 int src_end_x;
1782 int src_start_y;
Ajay Dudani77b25702012-08-09 09:58:59 -07001783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001784 int src_end_y;
1785 int pad_bottom;
1786 int pad_top;
1787 int pad_right;
Ajay Dudani77b25702012-08-09 09:58:59 -07001788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001789 int pad_left;
1790 int v_init_phase;
1791 int h_init_phase;
1792 int h_phase_step;
Ajay Dudani77b25702012-08-09 09:58:59 -07001793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001794 int v_phase_step;
1795 int prescale_crop_width_first_pixel;
1796 int prescale_crop_width_last_pixel;
1797 int prescale_crop_height_first_line;
Ajay Dudani77b25702012-08-09 09:58:59 -07001798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001799 int prescale_crop_height_last_line;
1800 int postscale_crop_height_first_line;
1801 int postscale_crop_height_last_line;
1802 int postscale_crop_width_first_pixel;
Ajay Dudani77b25702012-08-09 09:58:59 -07001803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001804 int postscale_crop_width_last_pixel;
1805 int dst_start_x;
1806 int dst_end_x;
1807 int dst_start_y;
Ajay Dudani77b25702012-08-09 09:58:59 -07001808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001809 int dst_end_y;
1810 int bytes_per_pixel;
1811 unsigned int source_address;
1812 unsigned int destination_address;
Ajay Dudani77b25702012-08-09 09:58:59 -07001813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001814 unsigned int src_stride;
1815 unsigned int dst_stride;
1816 int rotate_270;
1817 int horizontal_flip;
Ajay Dudani77b25702012-08-09 09:58:59 -07001818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001819 int vertical_flip;
1820 int scale_output_width;
1821 int scale_output_height;
1822};
Ajay Dudani77b25702012-08-09 09:58:59 -07001823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001824struct msm_cpp_frame_info_t {
1825 int32_t frame_id;
1826 uint32_t inst_id;
1827 uint32_t client_id;
Ajay Dudani77b25702012-08-09 09:58:59 -07001828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001829 enum msm_cpp_frame_type frame_type;
1830 uint32_t num_strips;
1831 struct msm_cpp_frame_strip_info *strip_info;
1832};
Ajay Dudani77b25702012-08-09 09:58:59 -07001833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1834struct msm_ver_num_info {
1835 uint32_t main;
1836 uint32_t minor;
1837 uint32_t rev;
1838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1839};
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001840#define VIDIOC_MSM_CPP_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
1841#define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
1842#define VIDIOC_MSM_CPP_GET_INST_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
Ajay Dudani77b25702012-08-09 09:58:59 -07001843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001844#define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001845#define CLR_IMG_MODE(handle) (handle &= 0xFF00FFFF)
1846#define SET_IMG_MODE(handle, data) (handle |= ((0x1 << 23) | ((data & 0x7F) << 16)))
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001847#define GET_IMG_MODE(handle) ((handle & 0x800000) ? ((handle & 0x7F0000) >> 16) : 0xFF)
Ajay Dudani77b25702012-08-09 09:58:59 -07001848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001849#define CLR_MCTLPP_INST_IDX(handle) (handle &= 0xFFFF00FF)
1850#define SET_MCTLPP_INST_IDX(handle, data) (handle |= ((0x1 << 15) | ((data & 0x7F) << 8)))
1851#define GET_MCTLPP_INST_IDX(handle) ((handle & 0x8000) ? ((handle & 0x7F00) >> 8) : 0xFF)
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001852#define CLR_VIDEO_INST_IDX(handle) (handle &= 0xFFFFFF00)
Ajay Dudani77b25702012-08-09 09:58:59 -07001853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ajay Dudanicbbe9522012-07-26 17:26:05 -07001854#define GET_VIDEO_INST_IDX(handle) ((handle & 0x80) ? (handle & 0x7F) : 0xFF)
1855#define SET_VIDEO_INST_IDX(handle, data) (handle |= (0x1 << 7) | (data & 0x7F))
Ajay Dudani3fc3b7f2012-07-08 01:19:11 -07001856#endif
1857