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