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