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 */ 114struct 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}; 121struct msm_stats_reqbuf { 122 int num_buf; 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 int stats_type; 125}; 126struct msm_stats_flush_bufq { 127 int stats_type; 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129}; 130struct 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}; 136struct 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 175struct 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}; 191struct 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}; 201struct 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}; 212struct 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}; 222struct 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}; 241struct 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}; 255struct 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}; 265struct 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}; 275struct 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}; 281struct 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 */ 289struct 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 */ 314struct 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}; 321struct 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 */ 429struct 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}; 435struct 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 442struct 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 501enum 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}; 521struct 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 */ 539struct 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}; 555struct 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) 610struct fd_roi_info { 611 void * info; 612 int info_len; 613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614}; 615struct 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 627struct 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}; 656enum 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 */ 664struct 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}; 671struct 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}; 682struct 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 */ 694struct stats_buff { 695 unsigned long buff; 696 int fd; 697}; 698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 699struct 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 802struct crop_info { 803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 804 void * info; 805 int len; 806}; 807struct 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}; 815struct 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 1005enum 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}; 1021enum 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}; 1037enum 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}; 1046enum 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}; 1057enum 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 */ 1064enum 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}; 1075enum 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}; 1086enum 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}; 1105enum 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 1121struct sensor_pict_fps { 1122 uint16_t prevfps; 1123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1124 uint16_t pictfps; 1125}; 1126struct exp_gain_cfg { 1127 uint16_t gain; 1128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1129 uint32_t line; 1130}; 1131struct focus_cfg { 1132 int32_t steps; 1133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1134 int dir; 1135}; 1136struct 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}; 1142struct 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 */ 1149struct 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}; 1160struct 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}; 1191struct 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}; 1196struct 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 */ 1209enum 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}; 1222struct 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 */ 1234struct 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 */ 1239struct 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}; 1245struct 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}; 1252struct 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 */ 1269struct 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 */ 1274struct cord { 1275 uint32_t x; 1276 uint32_t y; 1277}; 1278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1279struct 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 */ 1284struct 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}; 1290struct 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 */ 1299struct 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 */ 1304struct 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}; 1311struct 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}; 1320struct 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}; 1325enum 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}; 1331struct 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}; 1340enum csic_cfg_type_t { 1341 CSIC_INIT, 1342 CSIC_CFG, 1343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1344}; 1345struct 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}; 1350enum csid_cfg_type_t { 1351 CSID_INIT, 1352 CSID_CFG, 1353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1354}; 1355struct 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 */ 1364enum csiphy_cfg_type_t { 1365 CSIPHY_INIT, 1366 CSIPHY_CFG, 1367}; 1368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1369struct 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) 1400enum msm_ispif_vfe_intf { 1401 VFE0, 1402 VFE1, 1403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1404 VFE_MAX, 1405}; 1406enum 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}; 1416enum 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 */ 1424enum 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}; 1446struct 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 */ 1454struct 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 */ 1459enum 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 */ 1469struct 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 */ 1479enum 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}; 1485struct 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}; 1490enum 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}; 1501struct 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}; 1510enum 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}; 1520struct 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}; 1525enum 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}; 1531enum 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}; 1540struct 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}; 1545struct 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 */ 1554struct 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}; 1560struct 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}; 1566struct 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}; 1572struct 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 */ 1624enum 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 */ 1634struct 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}; 1641struct 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}; 1647enum 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}; 1655enum 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}; 1660enum 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}; 1665enum 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}; 1675struct 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}; 1687struct 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}; 1692struct 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}; 1697struct 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}; 1706struct 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}; 1715struct 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 */ 1729struct 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 */ 1734struct 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}; 1751enum 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}; 1765struct 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}; 1777struct 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}; 1785struct 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}; 1791struct 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}; 1797struct 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}; 1805struct pixel_t { 1806 int x; 1807 int y; 1808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1809}; 1810struct 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}; 1817struct msm_calib_raw { 1818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1819 uint8_t * data; 1820 uint32_t size; 1821}; 1822struct 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}; 1831struct 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}; 1841struct 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 */ 1849enum sensor_type_t { 1850 BAYER, 1851 YUV, 1852 JPEG_SOC, 1853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1854}; 1855enum flash_type { 1856 LED_FLASH, 1857 STROBE_FLASH, 1858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1859}; 1860enum 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}; 1866struct 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}; 1871struct 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}; 1881struct 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}; 1887struct 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}; 1892struct 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 1910struct 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 1936struct 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}; 1942struct 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 1962enum 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 */ 1984struct 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) 2015struct 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 __user * ioctl_ptr; 2021}; 2022struct 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 */ 2034enum 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 */ 2054enum 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 */ 2074struct 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 __user *) 2081#define MAX_NUM_CPP_STRIPS 8 2082enum 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}; 2087struct 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}; 2096struct 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