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