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 */ 114 struct msm_stats_reqbuf { 115 int num_buf; 116 int stats_type; 117 }; 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 struct msm_stats_flush_bufq { 120 int stats_type; 121 }; 122 struct 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 */ 129 struct 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 167 struct 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 */ 184 struct 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 */ 194 struct 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 }; 205 struct 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 }; 215 struct 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 */ 234 struct 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 */ 244 struct 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 }; 250 struct 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 }; 257 struct 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 282 struct 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 }; 290 struct 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 */ 394 struct 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 }; 400 struct 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 407 struct 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 */ 464 enum 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 }; 481 struct 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 */ 499 struct 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 }; 515 struct 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 */ 564 struct fd_roi_info { 565 void *info; 566 int info_len; 567 }; 568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 struct 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 581 struct 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 }; 610 enum 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 }; 617 struct 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 }; 625 struct 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 }; 636 struct 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) 647 struct stats_buff { 648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 unsigned long buff; 650 int fd; 651 }; 652 struct 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 */ 749 struct crop_info { 750 void *info; 751 int len; 752 }; 753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 754 struct 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 }; 761 struct 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 */ 934 enum 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 }; 950 enum 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 }; 966 enum 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 }; 975 enum 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 }; 986 enum 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 }; 992 enum 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 */ 1004 enum 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 }; 1015 enum 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 */ 1034 enum 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 1050 struct sensor_pict_fps { 1051 uint16_t prevfps; 1052 uint16_t pictfps; 1053 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1054 }; 1055 struct exp_gain_cfg { 1056 uint16_t gain; 1057 uint32_t line; 1058 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1059 }; 1060 struct focus_cfg { 1061 int32_t steps; 1062 int dir; 1063 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1064 }; 1065 struct 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 }; 1071 struct 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 }; 1077 struct 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 */ 1089 struct 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 }; 1120 struct 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) 1126 typedef 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; 1137 struct 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 }; 1151 enum 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 }; 1165 struct 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 }; 1176 struct 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 }; 1181 struct 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 }; 1186 struct cord { 1187 uint32_t x; 1188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1189 uint32_t y; 1190 }; 1191 struct 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 }; 1196 struct 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 }; 1202 struct 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) 1237 enum 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 */ 1244 enum 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 */ 1254 enum msm_ispif_vc { 1255 VC0, 1256 VC1, 1257 VC2, 1258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1259 VC3, 1260 }; 1261 enum 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 */ 1284 struct 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 }; 1291 struct 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 }; 1296 enum 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 }; 1306 struct 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 }; 1316 struct 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 }; 1365 struct 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 }; 1371 enum actuator_type { 1372 ACTUATOR_VCM, 1373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1374 ACTUATOR_PIEZO, 1375 }; 1376 enum 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 }; 1381 enum 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 }; 1386 enum 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 }; 1391 struct 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 }; 1400 struct 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 }; 1405 struct 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 }; 1410 struct 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 */ 1419 struct 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 }; 1427 struct 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 }; 1441 struct 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 }; 1446 struct 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 */ 1464 enum 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 }; 1477 struct 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 }; 1490 struct 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 }; 1497 struct 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 */ 1504 struct 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 }; 1510 struct 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 }; 1517 struct pixel_t { 1518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1519 int x; 1520 int y; 1521 }; 1522 struct 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 }; 1530 struct 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 }; 1537 struct 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 }; 1547 struct 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 }; 1555 enum sensor_type_t { 1556 BAYER, 1557 YUV, 1558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1559 JPEG_SOC, 1560 }; 1561 enum flash_type { 1562 LED_FLASH, 1563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1564 STROBE_FLASH, 1565 }; 1566 enum 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 }; 1572 struct 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 }; 1577 struct 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 }; 1587 struct 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 */ 1594 struct 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 */ 1599 struct 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 1616 struct 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 1642 struct 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 */ 1649 struct 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 */ 1669 enum 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 */ 1689 struct 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) 1717 struct 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 */ 1724 struct 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 */ 1734 enum 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 */ 1754 enum 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 */ 1774 struct 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 1782 enum 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 }; 1787 struct 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 }; 1837 struct 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 }; 1847 struct 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