• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_MSM_CAM_SENSOR_H
20 #define __LINUX_MSM_CAM_SENSOR_H
21 #ifdef MSM_CAMERA_BIONIC
22 #include <sys/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #endif
25 #include <linux/v4l2-mediabus.h>
26 #include <media/msm_camsensor_sdk.h>
27 #include <linux/types.h>
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #include <linux/i2c.h>
30 #define I2C_SEQ_REG_SETTING_MAX 5
31 #define MSM_SENSOR_MCLK_8HZ 8000000
32 #define MSM_SENSOR_MCLK_16HZ 16000000
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define MSM_SENSOR_MCLK_24HZ 24000000
35 #define MAX_SENSOR_NAME 32
36 #define MAX_ACTUATOR_AF_TOTAL_STEPS 1024
37 #define MAX_OIS_MOD_NAME_SIZE 32
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define MAX_OIS_NAME_SIZE 32
40 #define MAX_OIS_REG_SETTINGS 800
41 #define MOVE_NEAR 0
42 #define MOVE_FAR 1
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define MSM_ACTUATOR_MOVE_SIGNED_FAR - 1
45 #define MSM_ACTUATOR_MOVE_SIGNED_NEAR 1
46 #define MAX_EEPROM_NAME 32
47 #define MAX_AF_ITERATIONS 3
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define MAX_NUMBER_OF_STEPS 47
50 #define MSM_V4L2_PIX_FMT_META v4l2_fourcc('M', 'E', 'T', 'A')
51 #define MSM_V4L2_PIX_FMT_SBGGR14 v4l2_fourcc('B', 'G', '1', '4')
52 #define MSM_V4L2_PIX_FMT_SGBRG14 v4l2_fourcc('G', 'B', '1', '4')
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define MSM_V4L2_PIX_FMT_SGRBG14 v4l2_fourcc('B', 'A', '1', '4')
55 #define MSM_V4L2_PIX_FMT_SRGGB14 v4l2_fourcc('R', 'G', '1', '4')
56 enum flash_type {
57   LED_FLASH = 1,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   STROBE_FLASH,
60   GPIO_FLASH
61 };
62 enum msm_sensor_resolution_t {
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   MSM_SENSOR_RES_FULL,
65   MSM_SENSOR_RES_QTR,
66   MSM_SENSOR_RES_2,
67   MSM_SENSOR_RES_3,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   MSM_SENSOR_RES_4,
70   MSM_SENSOR_RES_5,
71   MSM_SENSOR_RES_6,
72   MSM_SENSOR_RES_7,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   MSM_SENSOR_INVALID_RES,
75 };
76 enum msm_camera_stream_type_t {
77   MSM_CAMERA_STREAM_PREVIEW,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   MSM_CAMERA_STREAM_SNAPSHOT,
80   MSM_CAMERA_STREAM_VIDEO,
81   MSM_CAMERA_STREAM_INVALID,
82 };
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 enum sensor_sub_module_t {
85   SUB_MODULE_SENSOR,
86   SUB_MODULE_CHROMATIX,
87   SUB_MODULE_ACTUATOR,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   SUB_MODULE_EEPROM,
90   SUB_MODULE_LED_FLASH,
91   SUB_MODULE_STROBE_FLASH,
92   SUB_MODULE_CSID,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   SUB_MODULE_CSID_3D,
95   SUB_MODULE_CSIPHY,
96   SUB_MODULE_CSIPHY_3D,
97   SUB_MODULE_OIS,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   SUB_MODULE_MAX,
100 };
101 enum {
102   MSM_CAMERA_EFFECT_MODE_OFF,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   MSM_CAMERA_EFFECT_MODE_MONO,
105   MSM_CAMERA_EFFECT_MODE_NEGATIVE,
106   MSM_CAMERA_EFFECT_MODE_SOLARIZE,
107   MSM_CAMERA_EFFECT_MODE_SEPIA,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   MSM_CAMERA_EFFECT_MODE_POSTERIZE,
110   MSM_CAMERA_EFFECT_MODE_WHITEBOARD,
111   MSM_CAMERA_EFFECT_MODE_BLACKBOARD,
112   MSM_CAMERA_EFFECT_MODE_AQUA,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   MSM_CAMERA_EFFECT_MODE_EMBOSS,
115   MSM_CAMERA_EFFECT_MODE_SKETCH,
116   MSM_CAMERA_EFFECT_MODE_NEON,
117   MSM_CAMERA_EFFECT_MODE_MAX
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 };
120 enum {
121   MSM_CAMERA_WB_MODE_AUTO,
122   MSM_CAMERA_WB_MODE_CUSTOM,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   MSM_CAMERA_WB_MODE_INCANDESCENT,
125   MSM_CAMERA_WB_MODE_FLUORESCENT,
126   MSM_CAMERA_WB_MODE_WARM_FLUORESCENT,
127   MSM_CAMERA_WB_MODE_DAYLIGHT,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   MSM_CAMERA_WB_MODE_CLOUDY_DAYLIGHT,
130   MSM_CAMERA_WB_MODE_TWILIGHT,
131   MSM_CAMERA_WB_MODE_SHADE,
132   MSM_CAMERA_WB_MODE_OFF,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   MSM_CAMERA_WB_MODE_MAX
135 };
136 enum {
137   MSM_CAMERA_SCENE_MODE_OFF,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139   MSM_CAMERA_SCENE_MODE_AUTO,
140   MSM_CAMERA_SCENE_MODE_LANDSCAPE,
141   MSM_CAMERA_SCENE_MODE_SNOW,
142   MSM_CAMERA_SCENE_MODE_BEACH,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   MSM_CAMERA_SCENE_MODE_SUNSET,
145   MSM_CAMERA_SCENE_MODE_NIGHT,
146   MSM_CAMERA_SCENE_MODE_PORTRAIT,
147   MSM_CAMERA_SCENE_MODE_BACKLIGHT,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   MSM_CAMERA_SCENE_MODE_SPORTS,
150   MSM_CAMERA_SCENE_MODE_ANTISHAKE,
151   MSM_CAMERA_SCENE_MODE_FLOWERS,
152   MSM_CAMERA_SCENE_MODE_CANDLELIGHT,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   MSM_CAMERA_SCENE_MODE_FIREWORKS,
155   MSM_CAMERA_SCENE_MODE_PARTY,
156   MSM_CAMERA_SCENE_MODE_NIGHT_PORTRAIT,
157   MSM_CAMERA_SCENE_MODE_THEATRE,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   MSM_CAMERA_SCENE_MODE_ACTION,
160   MSM_CAMERA_SCENE_MODE_AR,
161   MSM_CAMERA_SCENE_MODE_FACE_PRIORITY,
162   MSM_CAMERA_SCENE_MODE_BARCODE,
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164   MSM_CAMERA_SCENE_MODE_HDR,
165   MSM_CAMERA_SCENE_MODE_MAX
166 };
167 enum csid_cfg_type_t {
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   CSID_INIT,
170   CSID_CFG,
171   CSID_RELEASE,
172 };
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 enum csiphy_cfg_type_t {
175   CSIPHY_INIT,
176   CSIPHY_CFG,
177   CSIPHY_RELEASE,
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 };
180 enum camera_vreg_type {
181   VREG_TYPE_DEFAULT,
182   VREG_TYPE_CUSTOM,
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 };
185 enum sensor_af_t {
186   SENSOR_AF_FOCUSSED,
187   SENSOR_AF_NOT_FOCUSSED,
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 };
190 enum cci_i2c_master_t {
191   MASTER_0,
192   MASTER_1,
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   MASTER_MAX,
195 };
196 struct msm_camera_i2c_array_write_config {
197   struct msm_camera_i2c_reg_setting conf_array;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   uint16_t slave_addr;
200 };
201 struct msm_camera_i2c_read_config {
202   uint16_t slave_addr;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   uint16_t reg_addr;
205   enum msm_camera_i2c_data_type data_type;
206   uint16_t data;
207 };
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 struct msm_camera_csi2_params {
210   struct msm_camera_csid_params csid_params;
211   struct msm_camera_csiphy_params csiphy_params;
212   uint8_t csi_clk_scale_enable;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 };
215 struct msm_camera_csi_lane_params {
216   uint16_t csi_lane_assign;
217   uint16_t csi_lane_mask;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 };
220 struct csi_lane_params_t {
221   uint16_t csi_lane_assign;
222   uint8_t csi_lane_mask;
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   uint8_t csi_if;
225   int8_t csid_core[2];
226   uint8_t csi_phy_sel;
227 };
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 struct msm_sensor_info_t {
230   char sensor_name[MAX_SENSOR_NAME];
231   uint32_t session_id;
232   int32_t subdev_id[SUB_MODULE_MAX];
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234   int32_t subdev_intf[SUB_MODULE_MAX];
235   uint8_t is_mount_angle_valid;
236   uint32_t sensor_mount_angle;
237   int modes_supported;
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   enum camb_position_t position;
240 };
241 struct camera_vreg_t {
242   const char * reg_name;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244   int min_voltage;
245   int max_voltage;
246   int op_mode;
247   uint32_t delay;
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   const char * custom_vreg_name;
250   enum camera_vreg_type type;
251 };
252 struct sensorb_cfg_data {
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254   int cfgtype;
255   union {
256     struct msm_sensor_info_t sensor_info;
257     struct msm_sensor_init_params sensor_init_params;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259     void * setting;
260   } cfg;
261 };
262 struct csid_cfg_data {
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   enum csid_cfg_type_t cfgtype;
265   union {
266     uint32_t csid_version;
267     struct msm_camera_csid_params * csid_params;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   } cfg;
270 };
271 struct csiphy_cfg_data {
272   enum csiphy_cfg_type_t cfgtype;
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   union {
275     struct msm_camera_csiphy_params * csiphy_params;
276     struct msm_camera_csi_lane_params * csi_lane_params;
277   } cfg;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 };
280 enum eeprom_cfg_type_t {
281   CFG_EEPROM_GET_INFO,
282   CFG_EEPROM_GET_CAL_DATA,
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284   CFG_EEPROM_READ_CAL_DATA,
285   CFG_EEPROM_WRITE_DATA,
286   CFG_EEPROM_GET_MM_INFO,
287 };
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 struct eeprom_get_t {
290   uint32_t num_bytes;
291 };
292 struct eeprom_read_t {
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   uint8_t * dbuffer;
295   uint32_t num_bytes;
296 };
297 struct eeprom_write_t {
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299   uint8_t * dbuffer;
300   uint32_t num_bytes;
301 };
302 struct eeprom_get_cmm_t {
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304   uint32_t cmm_support;
305   uint32_t cmm_compression;
306   uint32_t cmm_size;
307 };
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 struct msm_eeprom_cfg_data {
310   enum eeprom_cfg_type_t cfgtype;
311   uint8_t is_supported;
312   union {
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314     char eeprom_name[MAX_SENSOR_NAME];
315     struct eeprom_get_t get_data;
316     struct eeprom_read_t read_data;
317     struct eeprom_write_t write_data;
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319     struct eeprom_get_cmm_t get_cmm_data;
320   } cfg;
321 };
322 enum msm_sensor_cfg_type_t {
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324   CFG_SET_SLAVE_INFO,
325   CFG_SLAVE_READ_I2C,
326   CFG_WRITE_I2C_ARRAY,
327   CFG_SLAVE_WRITE_I2C_ARRAY,
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329   CFG_WRITE_I2C_SEQ_ARRAY,
330   CFG_POWER_UP,
331   CFG_POWER_DOWN,
332   CFG_SET_STOP_STREAM_SETTING,
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334   CFG_GET_SENSOR_INFO,
335   CFG_GET_SENSOR_INIT_PARAMS,
336   CFG_SET_INIT_SETTING,
337   CFG_SET_RESOLUTION,
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339   CFG_SET_STOP_STREAM,
340   CFG_SET_START_STREAM,
341   CFG_SET_SATURATION,
342   CFG_SET_CONTRAST,
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   CFG_SET_SHARPNESS,
345   CFG_SET_ISO,
346   CFG_SET_EXPOSURE_COMPENSATION,
347   CFG_SET_ANTIBANDING,
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349   CFG_SET_BESTSHOT_MODE,
350   CFG_SET_EFFECT,
351   CFG_SET_WHITE_BALANCE,
352   CFG_SET_AUTOFOCUS,
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354   CFG_CANCEL_AUTOFOCUS,
355   CFG_SET_STREAM_TYPE,
356 };
357 enum msm_actuator_cfg_type_t {
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359   CFG_GET_ACTUATOR_INFO,
360   CFG_SET_ACTUATOR_INFO,
361   CFG_SET_DEFAULT_FOCUS,
362   CFG_MOVE_FOCUS,
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364   CFG_SET_POSITION,
365   CFG_ACTUATOR_POWERDOWN,
366   CFG_ACTUATOR_POWERUP,
367   CFG_ACTUATOR_INIT,
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 };
370 enum msm_ois_cfg_type_t {
371   CFG_OIS_INIT,
372   CFG_OIS_POWERDOWN,
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374   CFG_OIS_POWERUP,
375   CFG_OIS_CONTROL,
376   CFG_OIS_I2C_WRITE_SEQ_TABLE,
377 };
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 enum msm_ois_i2c_operation {
380   MSM_OIS_WRITE = 0,
381   MSM_OIS_POLL,
382 };
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 struct reg_settings_ois_t {
385   uint16_t reg_addr;
386   enum msm_camera_i2c_reg_addr_type addr_type;
387   uint32_t reg_data;
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389   enum msm_camera_i2c_data_type data_type;
390   enum msm_ois_i2c_operation i2c_operation;
391   uint32_t delay;
392 };
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 struct msm_ois_params_t {
395   uint16_t data_size;
396   uint16_t setting_size;
397   uint32_t i2c_addr;
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399   enum msm_camera_i2c_reg_addr_type i2c_addr_type;
400   enum msm_camera_i2c_data_type i2c_data_type;
401   struct reg_settings_ois_t * settings;
402 };
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 struct msm_ois_set_info_t {
405   struct msm_ois_params_t ois_params;
406 };
407 struct msm_actuator_move_params_t {
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409   int8_t dir;
410   int8_t sign_dir;
411   int16_t dest_step_pos;
412   int32_t num_steps;
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414   uint16_t curr_lens_pos;
415   struct damping_params_t * ringing_params;
416 };
417 struct msm_actuator_tuning_params_t {
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   int16_t initial_code;
420   uint16_t pwd_step;
421   uint16_t region_size;
422   uint32_t total_steps;
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424   struct region_params_t * region_params;
425 };
426 struct park_lens_data_t {
427   uint32_t damping_step;
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429   uint32_t damping_delay;
430   uint32_t hw_params;
431   uint32_t max_step;
432 };
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 struct msm_actuator_params_t {
435   enum actuator_type act_type;
436   uint8_t reg_tbl_size;
437   uint16_t data_size;
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439   uint16_t init_setting_size;
440   uint32_t i2c_addr;
441   enum msm_actuator_addr_type i2c_addr_type;
442   enum msm_actuator_data_type i2c_data_type;
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444   struct msm_actuator_reg_params_t * reg_tbl_params;
445   struct reg_settings_t * init_settings;
446   struct park_lens_data_t park_lens;
447 };
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 struct msm_actuator_set_info_t {
450   struct msm_actuator_params_t actuator_params;
451   struct msm_actuator_tuning_params_t af_tuning_params;
452 };
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 struct msm_actuator_get_info_t {
455   uint32_t focal_length_num;
456   uint32_t focal_length_den;
457   uint32_t f_number_num;
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459   uint32_t f_number_den;
460   uint32_t f_pix_num;
461   uint32_t f_pix_den;
462   uint32_t total_f_dist_num;
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464   uint32_t total_f_dist_den;
465   uint32_t hor_view_angle_num;
466   uint32_t hor_view_angle_den;
467   uint32_t ver_view_angle_num;
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469   uint32_t ver_view_angle_den;
470 };
471 enum af_camera_name {
472   ACTUATOR_MAIN_CAM_0,
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474   ACTUATOR_MAIN_CAM_1,
475   ACTUATOR_MAIN_CAM_2,
476   ACTUATOR_MAIN_CAM_3,
477   ACTUATOR_MAIN_CAM_4,
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479   ACTUATOR_MAIN_CAM_5,
480   ACTUATOR_WEB_CAM_0,
481   ACTUATOR_WEB_CAM_1,
482   ACTUATOR_WEB_CAM_2,
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 };
485 struct msm_ois_cfg_data {
486   int cfgtype;
487   union {
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489     struct msm_ois_set_info_t set_info;
490     struct msm_camera_i2c_seq_reg_setting * settings;
491   } cfg;
492 };
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 struct msm_actuator_set_position_t {
495   uint16_t number_of_steps;
496   uint32_t hw_params;
497   uint16_t pos[MAX_NUMBER_OF_STEPS];
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499   uint16_t delay[MAX_NUMBER_OF_STEPS];
500 };
501 struct msm_actuator_cfg_data {
502   int cfgtype;
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504   uint8_t is_af_supported;
505   union {
506     struct msm_actuator_move_params_t move;
507     struct msm_actuator_set_info_t set_info;
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509     struct msm_actuator_get_info_t get_info;
510     struct msm_actuator_set_position_t setpos;
511     enum af_camera_name cam_name;
512   } cfg;
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 };
515 enum msm_camera_led_config_t {
516   MSM_CAMERA_LED_OFF,
517   MSM_CAMERA_LED_LOW,
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519   MSM_CAMERA_LED_HIGH,
520   MSM_CAMERA_LED_INIT,
521   MSM_CAMERA_LED_RELEASE,
522 };
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 struct msm_camera_led_cfg_t {
525   enum msm_camera_led_config_t cfgtype;
526   int32_t torch_current[MAX_LED_TRIGGERS];
527   int32_t flash_current[MAX_LED_TRIGGERS];
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529   int32_t flash_duration[MAX_LED_TRIGGERS];
530 };
531 struct msm_flash_init_info_t {
532   enum msm_flash_driver_type flash_driver_type;
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534   uint32_t slave_addr;
535   struct msm_sensor_power_setting_array * power_setting_array;
536   struct msm_camera_i2c_reg_setting_array * settings;
537 };
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 struct msm_flash_cfg_data_t {
540   enum msm_flash_cfg_type_t cfg_type;
541   int32_t flash_current[MAX_LED_TRIGGERS];
542   int32_t flash_duration[MAX_LED_TRIGGERS];
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544   union {
545     struct msm_flash_init_info_t * flash_init_info;
546     struct msm_camera_i2c_reg_setting_array * settings;
547   } cfg;
548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 };
550 enum msm_sensor_init_cfg_type_t {
551   CFG_SINIT_PROBE,
552   CFG_SINIT_PROBE_DONE,
553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554   CFG_SINIT_PROBE_WAIT_DONE,
555 };
556 struct sensor_init_cfg_data {
557   enum msm_sensor_init_cfg_type_t cfgtype;
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559   struct msm_sensor_info_t probed_info;
560   char entity_name[MAX_SENSOR_NAME];
561   union {
562     void * setting;
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564   } cfg;
565 };
566 #define VIDIOC_MSM_SENSOR_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct sensorb_cfg_data)
567 #define VIDIOC_MSM_SENSOR_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 2)
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569 #define VIDIOC_MSM_SENSOR_GET_SUBDEV_ID _IOWR('V', BASE_VIDIOC_PRIVATE + 3, uint32_t)
570 #define VIDIOC_MSM_CSIPHY_IO_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct csiphy_cfg_data)
571 #define VIDIOC_MSM_CSID_IO_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct csid_cfg_data)
572 #define VIDIOC_MSM_ACTUATOR_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_actuator_cfg_data)
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574 #define VIDIOC_MSM_FLASH_LED_DATA_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_led_cfg_t)
575 #define VIDIOC_MSM_EEPROM_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_eeprom_cfg_data)
576 #define VIDIOC_MSM_SENSOR_GET_AF_STATUS _IOWR('V', BASE_VIDIOC_PRIVATE + 9, uint32_t)
577 #define VIDIOC_MSM_SENSOR_INIT_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 10, struct sensor_init_cfg_data)
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579 #define VIDIOC_MSM_OIS_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 11, struct msm_ois_cfg_data)
580 #define VIDIOC_MSM_FLASH_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 13, struct msm_flash_cfg_data_t)
581 #endif
582 
583