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