blob: e2bd930712f4da9f7923a808a7ced87f9211ba80 [file] [log] [blame]
Iliyan Malchev94a144e2009-04-30 12:29:52 -07001/****************************************************************************
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 ***
Ben Cheng94a85f62012-03-06 15:45:52 -080010 *** 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 ***
Iliyan Malchev94a144e2009-04-30 12:29:52 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_MSM_CAMERA_H
20#define __LINUX_MSM_CAMERA_H
Iliyan Malchev94a144e2009-04-30 12:29:52 -070021#include <linux/types.h>
22#include <asm/sizes.h>
Ben Cheng94a85f62012-03-06 15:45:52 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070024#include <linux/ioctl.h>
Iliyan Malchev94a144e2009-04-30 12:29:52 -070025#define MSM_CAM_IOCTL_MAGIC 'm'
Iliyan Malchev07116002009-06-23 20:08:10 -070026#define MSM_CAM_IOCTL_GET_SENSOR_INFO _IOR(MSM_CAM_IOCTL_MAGIC, 1, struct msm_camsensor_info *)
Iliyan Malchev07116002009-06-23 20:08:10 -070027#define MSM_CAM_IOCTL_REGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 2, struct msm_pmem_info *)
Ben Cheng94a85f62012-03-06 15:45:52 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070029#define MSM_CAM_IOCTL_UNREGISTER_PMEM _IOW(MSM_CAM_IOCTL_MAGIC, 3, unsigned)
Iliyan Malchev07116002009-06-23 20:08:10 -070030#define MSM_CAM_IOCTL_CTRL_COMMAND _IOW(MSM_CAM_IOCTL_MAGIC, 4, struct msm_ctrl_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070031#define MSM_CAM_IOCTL_CONFIG_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 5, struct msm_camera_vfe_cfg_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070032#define MSM_CAM_IOCTL_GET_STATS _IOR(MSM_CAM_IOCTL_MAGIC, 6, struct msm_camera_stats_event_ctrl *)
Ben Cheng94a85f62012-03-06 15:45:52 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070034#define MSM_CAM_IOCTL_GETFRAME _IOR(MSM_CAM_IOCTL_MAGIC, 7, struct msm_camera_get_frame *)
Iliyan Malchev07116002009-06-23 20:08:10 -070035#define MSM_CAM_IOCTL_ENABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 8, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070036#define MSM_CAM_IOCTL_CTRL_CMD_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 9, struct camera_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070037#define MSM_CAM_IOCTL_CONFIG_CMD _IOW(MSM_CAM_IOCTL_MAGIC, 10, struct camera_cmd *)
Ben Cheng94a85f62012-03-06 15:45:52 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070039#define MSM_CAM_IOCTL_DISABLE_VFE _IOW(MSM_CAM_IOCTL_MAGIC, 11, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070040#define MSM_CAM_IOCTL_PAD_REG_RESET2 _IOW(MSM_CAM_IOCTL_MAGIC, 12, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070041#define MSM_CAM_IOCTL_VFE_APPS_RESET _IOW(MSM_CAM_IOCTL_MAGIC, 13, struct camera_enable_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070042#define MSM_CAM_IOCTL_RELEASE_FRAME_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 14, struct camera_enable_cmd *)
Ben Cheng94a85f62012-03-06 15:45:52 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070044#define MSM_CAM_IOCTL_RELEASE_STATS_BUFFER _IOW(MSM_CAM_IOCTL_MAGIC, 15, struct msm_stats_buf *)
Iliyan Malchev07116002009-06-23 20:08:10 -070045#define MSM_CAM_IOCTL_AXI_CONFIG _IOW(MSM_CAM_IOCTL_MAGIC, 16, struct msm_camera_vfe_cfg_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070046#define MSM_CAM_IOCTL_GET_PICTURE _IOW(MSM_CAM_IOCTL_MAGIC, 17, struct msm_camera_ctrl_cmd *)
Iliyan Malchev07116002009-06-23 20:08:10 -070047#define MSM_CAM_IOCTL_SET_CROP _IOW(MSM_CAM_IOCTL_MAGIC, 18, struct crop_info *)
Ben Cheng94a85f62012-03-06 15:45:52 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev0e24d2c2009-10-13 20:28:29 -070049#define MSM_CAM_IOCTL_PP _IOW(MSM_CAM_IOCTL_MAGIC, 19, uint8_t *)
Iliyan Malchev0e24d2c2009-10-13 20:28:29 -070050#define MSM_CAM_IOCTL_PP_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 20, struct msm_snapshot_pp_status *)
Iliyan Malchev07116002009-06-23 20:08:10 -070051#define MSM_CAM_IOCTL_SENSOR_IO_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 21, struct sensor_cfg_data *)
Iliyan Malchev94a144e2009-04-30 12:29:52 -070052#define MSM_CAMERA_LED_OFF 0
Ben Cheng94a85f62012-03-06 15:45:52 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070054#define MSM_CAMERA_LED_LOW 1
55#define MSM_CAMERA_LED_HIGH 2
Iliyan Malchev07116002009-06-23 20:08:10 -070056#define MSM_CAM_IOCTL_FLASH_LED_CFG _IOW(MSM_CAM_IOCTL_MAGIC, 22, unsigned *)
Iliyan Malchev07116002009-06-23 20:08:10 -070057#define MSM_CAM_IOCTL_UNBLOCK_POLL_FRAME _IO(MSM_CAM_IOCTL_MAGIC, 23)
Ben Cheng94a85f62012-03-06 15:45:52 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev07116002009-06-23 20:08:10 -070059#define MSM_CAM_IOCTL_CTRL_COMMAND_2 _IOW(MSM_CAM_IOCTL_MAGIC, 24, struct msm_ctrl_cmd *)
Iliyan Malchevcdcc2642010-01-31 17:22:25 -080060#define MSM_CAM_IOCTL_ENABLE_OUTPUT_IND _IOW(MSM_CAM_IOCTL_MAGIC, 25, uint32_t *)
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -070061#define MSM_CAM_IOCTL_AF_CTRL _IOR(MSM_CAM_IOCTL_MAGIC, 26, struct msm_ctrl_cmt_t *)
62#define MSM_CAM_IOCTL_AF_CTRL_DONE _IOW(MSM_CAM_IOCTL_MAGIC, 27, struct msm_ctrl_cmt_t *)
Ben Cheng94a85f62012-03-06 15:45:52 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070064#define MAX_SENSOR_NUM 3
65#define MAX_SENSOR_NAME 32
Iliyan Malchev82420122009-09-11 00:29:59 -070066#define PP_SNAP 1
67#define PP_RAW_SNAP (1<<1)
Ben Cheng94a85f62012-03-06 15:45:52 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev82420122009-09-11 00:29:59 -070069#define PP_PREV (1<<2)
70#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV)
Iliyan Malchev94a144e2009-04-30 12:29:52 -070071#define MSM_CAM_CTRL_CMD_DONE 0
72#define MSM_CAM_SENSOR_VFE_CMD 1
Ben Cheng94a85f62012-03-06 15:45:52 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -070074struct msm_ctrl_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -070075 uint16_t type;
76 uint16_t length;
77 void *value;
Ben Cheng94a85f62012-03-06 15:45:52 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070079 uint16_t status;
80 uint32_t timeout_ms;
81 int resp_fd;
82};
Ben Cheng94a85f62012-03-06 15:45:52 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -070084struct msm_vfe_evt_msg {
Iliyan Malchev94a144e2009-04-30 12:29:52 -070085 unsigned short type;
86 unsigned short msg_id;
87 unsigned int len;
Ben Cheng94a85f62012-03-06 15:45:52 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070089 void *data;
90};
Iliyan Malchev94a144e2009-04-30 12:29:52 -070091#define MSM_CAM_RESP_CTRL 0
92#define MSM_CAM_RESP_STAT_EVT_MSG 1
Ben Cheng94a85f62012-03-06 15:45:52 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070094#define MSM_CAM_RESP_V4L2 2
95#define MSM_CAM_RESP_MAX 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -070096struct msm_stats_event_ctrl {
Iliyan Malchev94a144e2009-04-30 12:29:52 -070097 int resptype;
Ben Cheng94a85f62012-03-06 15:45:52 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -070099 int timeout_ms;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700100 struct msm_ctrl_cmd ctrl_cmd;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700101 struct msm_vfe_evt_msg stats_event;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700102};
Ben Cheng94a85f62012-03-06 15:45:52 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700104struct msm_camera_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700105 uint16_t cfg_type;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700106 uint16_t cmd_type;
107 uint16_t queue;
Ben Cheng94a85f62012-03-06 15:45:52 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700109 uint16_t length;
110 void *value;
111};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700112#define CMD_GENERAL 0
Ben Cheng94a85f62012-03-06 15:45:52 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700114#define CMD_AXI_CFG_OUT1 1
115#define CMD_AXI_CFG_SNAP_O1_AND_O2 2
116#define CMD_AXI_CFG_OUT2 3
117#define CMD_PICT_T_AXI_CFG 4
Ben Cheng94a85f62012-03-06 15:45:52 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700119#define CMD_PICT_M_AXI_CFG 5
120#define CMD_RAW_PICT_AXI_CFG 6
121#define CMD_STATS_AXI_CFG 7
122#define CMD_STATS_AF_AXI_CFG 8
Ben Cheng94a85f62012-03-06 15:45:52 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700124#define CMD_FRAME_BUF_RELEASE 9
125#define CMD_PREV_BUF_CFG 10
126#define CMD_SNAP_BUF_RELEASE 11
127#define CMD_SNAP_BUF_CFG 12
Ben Cheng94a85f62012-03-06 15:45:52 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700129#define CMD_STATS_DISABLE 13
Iliyan Malchev82420122009-09-11 00:29:59 -0700130#define CMD_STATS_AEC_AWB_ENABLE 14
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700131#define CMD_STATS_AF_ENABLE 15
132#define CMD_STATS_BUF_RELEASE 16
Ben Cheng94a85f62012-03-06 15:45:52 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700134#define CMD_STATS_AF_BUF_RELEASE 17
Iliyan Malchev82420122009-09-11 00:29:59 -0700135#define CMD_STATS_ENABLE 18
136#define UPDATE_STATS_INVALID 19
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700137#define CMD_STATS_AEC_ENABLE 20
Ben Cheng94a85f62012-03-06 15:45:52 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700139#define CMD_STATS_AWB_ENABLE 21
140#define CMD_STATS_AEC_AXI_CFG 22
141#define CMD_STATS_AWB_AXI_CFG 23
142#define CMD_STATS_RS_AXI_CFG 24
Ben Cheng94a85f62012-03-06 15:45:52 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700144#define CMD_STATS_CS_AXI_CFG 25
145#define CMD_STATS_IHIST_AXI_CFG 26
146#define CMD_STATS_SKIN_AXI_CFG 27
147#define CMD_STATS_AEC_BUF_RELEASE 28
Ben Cheng94a85f62012-03-06 15:45:52 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700149#define CMD_STATS_AWB_BUF_RELEASE 29
150#define CMD_STATS_RS_BUF_RELEASE 30
151#define CMD_STATS_CS_BUF_RELEASE 31
152#define CMD_STATS_IHIST_BUF_RELEASE 32
Ben Cheng94a85f62012-03-06 15:45:52 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700154#define CMD_STATS_SKIN_BUF_RELEASE 33
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700155#define CMD_AXI_CFG_SNAP_GEMINI 34
156#define CMD_AXI_CFG_SNAP 35
157#define CMD_AXI_CFG_PREVIEW 36
Ben Cheng94a85f62012-03-06 15:45:52 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700159#define CMD_AXI_CFG_VIDEO 37
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700160#define CMD_STATS_IHIST_ENABLE 38
161#define CMD_STATS_RS_ENABLE 39
162#define CMD_STATS_CS_ENABLE 40
Ben Cheng94a85f62012-03-06 15:45:52 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li7ed132a2010-07-27 14:26:21 -0700164#define CMD_AXI_CFG_O1_AND_O2 41
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700165struct msm_vfe_cfg_cmd {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700166 int cmd_type;
167 uint16_t length;
Ben Cheng94a85f62012-03-06 15:45:52 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700169 void *value;
170};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700171#define MAX_CAMERA_ENABLE_NAME_LEN 32
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700172struct camera_enable_cmd {
Ben Cheng94a85f62012-03-06 15:45:52 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700174 char name[MAX_CAMERA_ENABLE_NAME_LEN];
175};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700176#define MSM_PMEM_OUTPUT1 0
177#define MSM_PMEM_OUTPUT2 1
Ben Cheng94a85f62012-03-06 15:45:52 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700179#define MSM_PMEM_OUTPUT1_OUTPUT2 2
Iliyan Malchev82420122009-09-11 00:29:59 -0700180#define MSM_PMEM_THUMBNAIL 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700181#define MSM_PMEM_MAINIMG 4
182#define MSM_PMEM_RAW_MAINIMG 5
Ben Cheng94a85f62012-03-06 15:45:52 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700184#define MSM_PMEM_AEC_AWB 6
185#define MSM_PMEM_AF 7
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700186#define MSM_PMEM_AEC 8
187#define MSM_PMEM_AWB 9
Ben Cheng94a85f62012-03-06 15:45:52 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700189#define MSM_PMEM_RS 10
190#define MSM_PMEM_CS 11
191#define MSM_PMEM_IHIST 12
192#define MSM_PMEM_SKIN 13
Ben Cheng94a85f62012-03-06 15:45:52 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700194#define MSM_PMEM_VIDEO 14
195#define MSM_PMEM_PREVIEW 15
196#define MSM_PMEM_MAX 16
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700197#define FRAME_PREVIEW_OUTPUT1 0
Ben Cheng94a85f62012-03-06 15:45:52 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700199#define FRAME_PREVIEW_OUTPUT2 1
200#define FRAME_SNAPSHOT 2
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700201#define FRAME_THUMBNAIL 3
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700202#define FRAME_RAW_SNAPSHOT 4
Ben Cheng94a85f62012-03-06 15:45:52 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700204#define FRAME_MAX 5
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700205struct msm_pmem_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700206 int type;
207 int fd;
Ben Cheng94a85f62012-03-06 15:45:52 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700209 void *vaddr;
Iliyan Malchev07116002009-06-23 20:08:10 -0700210 uint32_t offset;
211 uint32_t len;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700212 uint32_t y_off;
Ben Cheng94a85f62012-03-06 15:45:52 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700214 uint32_t cbcr_off;
Iliyan Malchevcdcc2642010-01-31 17:22:25 -0800215 uint8_t vfe_can_write;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700216};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700217struct outputCfg {
Ben Cheng94a85f62012-03-06 15:45:52 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700219 uint32_t height;
220 uint32_t width;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700221 uint32_t window_height_firstline;
222 uint32_t window_height_lastline;
Ben Cheng94a85f62012-03-06 15:45:52 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700224};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700225#define OUTPUT_1 0
226#define OUTPUT_2 1
227#define OUTPUT_1_AND_2 2
Ben Cheng94a85f62012-03-06 15:45:52 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700229#define CAMIF_TO_AXI_VIA_OUTPUT_2 3
230#define OUTPUT_1_AND_CAMIF_TO_AXI_VIA_OUTPUT_2 4
231#define OUTPUT_2_AND_CAMIF_TO_AXI_VIA_OUTPUT_1 5
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700232#define OUTPUT_1_AND_3 6
Ben Cheng94a85f62012-03-06 15:45:52 -0800233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700234#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_1_AND_3 7
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700235#define MSM_FRAME_PREV_1 0
236#define MSM_FRAME_PREV_2 1
237#define MSM_FRAME_ENC 2
Ben Cheng94a85f62012-03-06 15:45:52 -0800238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700239#define OUTPUT_TYPE_P 1
240#define OUTPUT_TYPE_T 2
241#define OUTPUT_TYPE_S 3
242#define OUTPUT_TYPE_V 4
Ben Cheng94a85f62012-03-06 15:45:52 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700244struct msm_frame {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700245 int path;
246 unsigned long buffer;
247 uint32_t y_off;
Ben Cheng94a85f62012-03-06 15:45:52 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700249 uint32_t cbcr_off;
250 int fd;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700251 void *cropinfo;
252 int croplen;
Ben Cheng94a85f62012-03-06 15:45:52 -0800253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700254};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700255#define STAT_AEAW 0
256#define STAT_AF 1
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700257#define STAT_AEC 2
Ben Cheng94a85f62012-03-06 15:45:52 -0800258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700259#define STAT_AWB 3
260#define STAT_RS 4
261#define STAT_CS 5
262#define STAT_IHIST 6
Ben Cheng94a85f62012-03-06 15:45:52 -0800263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Wu-cheng Li9d1f5af2010-07-12 10:32:11 -0700264#define STAT_SKIN 7
265#define STAT_MAX 8
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700266struct msm_stats_buf {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700267 int type;
Ben Cheng94a85f62012-03-06 15:45:52 -0800268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700269 unsigned long buffer;
270 int fd;
271};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700272#define MSM_V4L2_VID_CAP_TYPE 0
Ben Cheng94a85f62012-03-06 15:45:52 -0800273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700274#define MSM_V4L2_STREAM_ON 1
275#define MSM_V4L2_STREAM_OFF 2
276#define MSM_V4L2_SNAPSHOT 3
277#define MSM_V4L2_QUERY_CTRL 4
Ben Cheng94a85f62012-03-06 15:45:52 -0800278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700279#define MSM_V4L2_GET_CTRL 5
280#define MSM_V4L2_SET_CTRL 6
281#define MSM_V4L2_QUERY 7
282#define MSM_V4L2_MAX 8
Ben Cheng94a85f62012-03-06 15:45:52 -0800283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700284struct crop_info {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700285 void *info;
286 int len;
287};
Ben Cheng94a85f62012-03-06 15:45:52 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700289struct msm_postproc {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700290 int ftnum;
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700291 struct msm_frame fthumnail;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700292 int fmnum;
Ben Cheng94a85f62012-03-06 15:45:52 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700294 struct msm_frame fmain;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700295};
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700296struct msm_snapshot_pp_status {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700297 void *status;
Ben Cheng94a85f62012-03-06 15:45:52 -0800298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700299};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700300#define CFG_SET_MODE 0
301#define CFG_SET_EFFECT 1
302#define CFG_START 2
Ben Cheng94a85f62012-03-06 15:45:52 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700304#define CFG_PWR_UP 3
305#define CFG_PWR_DOWN 4
306#define CFG_WRITE_EXPOSURE_GAIN 5
307#define CFG_SET_DEFAULT_FOCUS 6
Ben Cheng94a85f62012-03-06 15:45:52 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700309#define CFG_MOVE_FOCUS 7
310#define CFG_REGISTER_TO_REAL_GAIN 8
311#define CFG_REAL_TO_REGISTER_GAIN 9
312#define CFG_SET_FPS 10
Ben Cheng94a85f62012-03-06 15:45:52 -0800313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700314#define CFG_SET_PICT_FPS 11
315#define CFG_SET_BRIGHTNESS 12
316#define CFG_SET_CONTRAST 13
317#define CFG_SET_ZOOM 14
Ben Cheng94a85f62012-03-06 15:45:52 -0800318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700319#define CFG_SET_EXPOSURE_MODE 15
320#define CFG_SET_WB 16
321#define CFG_SET_ANTIBANDING 17
322#define CFG_SET_EXP_GAIN 18
Ben Cheng94a85f62012-03-06 15:45:52 -0800323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700324#define CFG_SET_PICT_EXP_GAIN 19
325#define CFG_SET_LENS_SHADING 20
326#define CFG_GET_PICT_FPS 21
327#define CFG_GET_PREV_L_PF 22
Ben Cheng94a85f62012-03-06 15:45:52 -0800328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700329#define CFG_GET_PREV_P_PL 23
330#define CFG_GET_PICT_L_PF 24
331#define CFG_GET_PICT_P_PL 25
332#define CFG_GET_AF_MAX_STEPS 26
Ben Cheng94a85f62012-03-06 15:45:52 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700334#define CFG_GET_PICT_MAX_EXP_LC 27
335#define CFG_MAX 28
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700336#define MOVE_NEAR 0
337#define MOVE_FAR 1
Ben Cheng94a85f62012-03-06 15:45:52 -0800338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700339#define SENSOR_PREVIEW_MODE 0
340#define SENSOR_SNAPSHOT_MODE 1
341#define SENSOR_RAW_SNAPSHOT_MODE 2
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700342#define SENSOR_QTR_SIZE 0
Ben Cheng94a85f62012-03-06 15:45:52 -0800343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700344#define SENSOR_FULL_SIZE 1
345#define SENSOR_INVALID_SIZE 2
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700346#define CAMERA_EFFECT_OFF 0
347#define CAMERA_EFFECT_MONO 1
Ben Cheng94a85f62012-03-06 15:45:52 -0800348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700349#define CAMERA_EFFECT_NEGATIVE 2
350#define CAMERA_EFFECT_SOLARIZE 3
351#define CAMERA_EFFECT_PASTEL 4
352#define CAMERA_EFFECT_MOSAIC 5
Ben Cheng94a85f62012-03-06 15:45:52 -0800353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700354#define CAMERA_EFFECT_RESIZE 6
355#define CAMERA_EFFECT_SEPIA 7
356#define CAMERA_EFFECT_POSTERIZE 8
357#define CAMERA_EFFECT_WHITEBOARD 9
Ben Cheng94a85f62012-03-06 15:45:52 -0800358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700359#define CAMERA_EFFECT_BLACKBOARD 10
360#define CAMERA_EFFECT_AQUA 11
361#define CAMERA_EFFECT_MAX 12
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700362struct sensor_pict_fps {
Ben Cheng94a85f62012-03-06 15:45:52 -0800363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700364 uint16_t prevfps;
365 uint16_t pictfps;
366};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700367struct exp_gain_cfg {
Ben Cheng94a85f62012-03-06 15:45:52 -0800368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700369 uint16_t gain;
370 uint32_t line;
371};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700372struct focus_cfg {
Ben Cheng94a85f62012-03-06 15:45:52 -0800373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700374 int32_t steps;
375 int dir;
376};
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700377struct fps_cfg {
Ben Cheng94a85f62012-03-06 15:45:52 -0800378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700379 uint16_t f_mult;
380 uint16_t fps_div;
381 uint32_t pict_fps_div;
382};
Ben Cheng94a85f62012-03-06 15:45:52 -0800383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700384struct sensor_cfg_data {
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700385 int cfgtype;
386 int mode;
387 int rs;
Ben Cheng94a85f62012-03-06 15:45:52 -0800388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700389 uint8_t max_steps;
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700390 union {
391 int8_t effect;
392 uint8_t lens_shading;
Ben Cheng94a85f62012-03-06 15:45:52 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700394 uint16_t prevl_pf;
395 uint16_t prevp_pl;
396 uint16_t pictl_pf;
397 uint16_t pictp_pl;
Ben Cheng94a85f62012-03-06 15:45:52 -0800398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700399 uint32_t pict_max_exp_lc;
400 uint16_t p_fps;
401 struct sensor_pict_fps gfps;
402 struct exp_gain_cfg exp_gain;
Ben Cheng94a85f62012-03-06 15:45:52 -0800403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700404 struct focus_cfg focus;
405 struct fps_cfg fps;
406 } cfg;
407};
Ben Cheng94a85f62012-03-06 15:45:52 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700409#define GET_NAME 0
410#define GET_PREVIEW_LINE_PER_FRAME 1
411#define GET_PREVIEW_PIXELS_PER_LINE 2
412#define GET_SNAPSHOT_LINE_PER_FRAME 3
Ben Cheng94a85f62012-03-06 15:45:52 -0800413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700414#define GET_SNAPSHOT_PIXELS_PER_LINE 4
415#define GET_SNAPSHOT_FPS 5
416#define GET_SNAPSHOT_MAX_EP_LINE_CNT 6
Iliyan Malchevbf8709f2009-06-04 11:55:53 -0700417struct msm_camsensor_info {
Ben Cheng94a85f62012-03-06 15:45:52 -0800418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Iliyan Malchev94a144e2009-04-30 12:29:52 -0700419 char name[MAX_SENSOR_NAME];
420 uint8_t flash_enabled;
421};
422#endif
Ben Cheng94a85f62012-03-06 15:45:52 -0800423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */