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