• 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/types.h>
26 #include <linux/v4l2-mediabus.h>
27 #include <linux/i2c.h>
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define I2C_SEQ_REG_SETTING_MAX 5
30 #define I2C_SEQ_REG_DATA_MAX 256
31 #define MAX_CID 16
32 #define MSM_SENSOR_MCLK_8HZ 8000000
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define MSM_SENSOR_MCLK_16HZ 16000000
35 #define MSM_SENSOR_MCLK_24HZ 24000000
36 #define GPIO_OUT_LOW (0 << 1)
37 #define GPIO_OUT_HIGH (1 << 1)
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define CSI_EMBED_DATA 0x12
40 #define CSI_RESERVED_DATA_0 0x13
41 #define CSI_YUV422_8 0x1E
42 #define CSI_RAW8 0x2A
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define CSI_RAW10 0x2B
45 #define CSI_RAW12 0x2C
46 #define CSI_DECODE_6BIT 0
47 #define CSI_DECODE_8BIT 1
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define CSI_DECODE_10BIT 2
50 #define CSI_DECODE_DPCM_10_8_10 5
51 #define MAX_SENSOR_NAME 32
52 #define MAX_ACT_MOD_NAME_SIZE 32
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define MAX_ACT_NAME_SIZE 32
55 #define NUM_ACTUATOR_DIR 2
56 #define MAX_ACTUATOR_SCENARIO 8
57 #define MAX_ACTUATOR_REGION 5
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define MAX_ACTUATOR_INIT_SET 12
60 #define MAX_ACTUATOR_REG_TBL_SIZE 8
61 #define MAX_ACTUATOR_AF_TOTAL_STEPS 1024
62 #define MAX_OIS_MOD_NAME_SIZE 32
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define MAX_OIS_NAME_SIZE 32
65 #define MAX_OIS_REG_SETTINGS 800
66 #define MOVE_NEAR 0
67 #define MOVE_FAR 1
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define MSM_ACTUATOR_MOVE_SIGNED_FAR -1
70 #define MSM_ACTUATOR_MOVE_SIGNED_NEAR 1
71 #define MAX_EEPROM_NAME 32
72 #define MAX_AF_ITERATIONS 3
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define MAX_NUMBER_OF_STEPS 47
75 #define MAX_LED_TRIGGERS 3
76 #define MAX_POWER_CONFIG 12
77 enum sensor_stats_type {
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  YRGB,
80  YYYY,
81 };
82 enum flash_type {
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  LED_FLASH = 1,
85  STROBE_FLASH,
86  GPIO_FLASH
87 };
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 enum msm_camera_i2c_reg_addr_type {
90  MSM_CAMERA_I2C_BYTE_ADDR = 1,
91  MSM_CAMERA_I2C_WORD_ADDR,
92  MSM_CAMERA_I2C_3B_ADDR,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  MSM_CAMERA_I2C_ADDR_TYPE_MAX,
95 };
96 enum msm_camera_i2c_data_type {
97  MSM_CAMERA_I2C_BYTE_DATA = 1,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  MSM_CAMERA_I2C_WORD_DATA,
100  MSM_CAMERA_I2C_DWORD_DATA,
101  MSM_CAMERA_I2C_SET_BYTE_MASK,
102  MSM_CAMERA_I2C_UNSET_BYTE_MASK,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  MSM_CAMERA_I2C_SET_WORD_MASK,
105  MSM_CAMERA_I2C_UNSET_WORD_MASK,
106  MSM_CAMERA_I2C_SET_BYTE_WRITE_MASK_DATA,
107  MSM_CAMERA_I2C_DATA_TYPE_MAX,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 };
110 enum msm_sensor_power_seq_type_t {
111  SENSOR_CLK,
112  SENSOR_GPIO,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  SENSOR_VREG,
115  SENSOR_I2C_MUX,
116 };
117 enum msm_sensor_clk_type_t {
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  SENSOR_CAM_MCLK,
120  SENSOR_CAM_CLK,
121  SENSOR_CAM_CLK_MAX,
122 };
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 enum msm_sensor_power_seq_gpio_t {
125  SENSOR_GPIO_RESET,
126  SENSOR_GPIO_STANDBY,
127  SENSOR_GPIO_AF_PWDM,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  SENSOR_GPIO_VIO,
130  SENSOR_GPIO_VANA,
131  SENSOR_GPIO_VDIG,
132  SENSOR_GPIO_VAF,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  SENSOR_GPIO_FL_EN,
135  SENSOR_GPIO_FL_NOW,
136  SENSOR_GPIO_TOR_EN,
137  SENSOR_GPIO_MAX,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 };
140 enum msm_camera_vreg_name_t {
141  CAM_VDIG,
142  CAM_VIO,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  CAM_VANA,
145  CAM_VAF,
146  CAM_VREG_MAX,
147 };
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 enum msm_sensor_resolution_t {
150  MSM_SENSOR_RES_FULL,
151  MSM_SENSOR_RES_QTR,
152  MSM_SENSOR_RES_2,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  MSM_SENSOR_RES_3,
155  MSM_SENSOR_RES_4,
156  MSM_SENSOR_RES_5,
157  MSM_SENSOR_RES_6,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  MSM_SENSOR_RES_7,
160  MSM_SENSOR_INVALID_RES,
161 };
162 enum msm_camera_stream_type_t {
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  MSM_CAMERA_STREAM_PREVIEW,
165  MSM_CAMERA_STREAM_SNAPSHOT,
166  MSM_CAMERA_STREAM_VIDEO,
167  MSM_CAMERA_STREAM_INVALID,
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 };
170 enum sensor_sub_module_t {
171  SUB_MODULE_SENSOR,
172  SUB_MODULE_CHROMATIX,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  SUB_MODULE_ACTUATOR,
175  SUB_MODULE_EEPROM,
176  SUB_MODULE_LED_FLASH,
177  SUB_MODULE_STROBE_FLASH,
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  SUB_MODULE_CSID,
180  SUB_MODULE_CSID_3D,
181  SUB_MODULE_CSIPHY,
182  SUB_MODULE_CSIPHY_3D,
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  SUB_MODULE_OIS,
185  SUB_MODULE_MAX,
186 };
187 struct otp_info_t {
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  uint8_t enable;
190  uint16_t page_size;
191  uint16_t num_of_pages;
192  uint16_t page_reg_addr;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  uint16_t page_reg_base_addr;
195  uint16_t ctrl_reg_addr;
196  uint16_t ctrl_reg_read_mode;
197  uint16_t status_reg_addr;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  uint16_t status_reg_read_complete_bit;
200  uint16_t reset_reg_addr;
201  uint16_t reset_reg_stream_on;
202  uint16_t reset_reg_stream_off;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  uint16_t data_seg_addr;
205  enum msm_camera_i2c_data_type data_size;
206  uint8_t big_endian;
207  uint8_t poll_times;
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  uint16_t poll_usleep;
210  uint8_t *otp_info;
211  uint8_t otp_read;
212 };
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 enum {
215  MSM_CAMERA_EFFECT_MODE_OFF,
216  MSM_CAMERA_EFFECT_MODE_MONO,
217  MSM_CAMERA_EFFECT_MODE_NEGATIVE,
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  MSM_CAMERA_EFFECT_MODE_SOLARIZE,
220  MSM_CAMERA_EFFECT_MODE_SEPIA,
221  MSM_CAMERA_EFFECT_MODE_POSTERIZE,
222  MSM_CAMERA_EFFECT_MODE_WHITEBOARD,
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  MSM_CAMERA_EFFECT_MODE_BLACKBOARD,
225  MSM_CAMERA_EFFECT_MODE_AQUA,
226  MSM_CAMERA_EFFECT_MODE_EMBOSS,
227  MSM_CAMERA_EFFECT_MODE_SKETCH,
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  MSM_CAMERA_EFFECT_MODE_NEON,
230  MSM_CAMERA_EFFECT_MODE_MAX
231 };
232 enum {
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  MSM_CAMERA_WB_MODE_AUTO,
235  MSM_CAMERA_WB_MODE_CUSTOM,
236  MSM_CAMERA_WB_MODE_INCANDESCENT,
237  MSM_CAMERA_WB_MODE_FLUORESCENT,
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  MSM_CAMERA_WB_MODE_WARM_FLUORESCENT,
240  MSM_CAMERA_WB_MODE_DAYLIGHT,
241  MSM_CAMERA_WB_MODE_CLOUDY_DAYLIGHT,
242  MSM_CAMERA_WB_MODE_TWILIGHT,
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  MSM_CAMERA_WB_MODE_SHADE,
245  MSM_CAMERA_WB_MODE_OFF,
246  MSM_CAMERA_WB_MODE_MAX
247 };
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 enum {
250  MSM_CAMERA_SCENE_MODE_OFF,
251  MSM_CAMERA_SCENE_MODE_AUTO,
252  MSM_CAMERA_SCENE_MODE_LANDSCAPE,
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  MSM_CAMERA_SCENE_MODE_SNOW,
255  MSM_CAMERA_SCENE_MODE_BEACH,
256  MSM_CAMERA_SCENE_MODE_SUNSET,
257  MSM_CAMERA_SCENE_MODE_NIGHT,
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  MSM_CAMERA_SCENE_MODE_PORTRAIT,
260  MSM_CAMERA_SCENE_MODE_BACKLIGHT,
261  MSM_CAMERA_SCENE_MODE_SPORTS,
262  MSM_CAMERA_SCENE_MODE_ANTISHAKE,
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  MSM_CAMERA_SCENE_MODE_FLOWERS,
265  MSM_CAMERA_SCENE_MODE_CANDLELIGHT,
266  MSM_CAMERA_SCENE_MODE_FIREWORKS,
267  MSM_CAMERA_SCENE_MODE_PARTY,
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  MSM_CAMERA_SCENE_MODE_NIGHT_PORTRAIT,
270  MSM_CAMERA_SCENE_MODE_THEATRE,
271  MSM_CAMERA_SCENE_MODE_ACTION,
272  MSM_CAMERA_SCENE_MODE_AR,
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  MSM_CAMERA_SCENE_MODE_FACE_PRIORITY,
275  MSM_CAMERA_SCENE_MODE_BARCODE,
276  MSM_CAMERA_SCENE_MODE_HDR,
277  MSM_CAMERA_SCENE_MODE_MAX
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 };
280 enum csid_cfg_type_t {
281  CSID_INIT,
282  CSID_CFG,
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  CSID_RELEASE,
285 };
286 enum csiphy_cfg_type_t {
287  CSIPHY_INIT,
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  CSIPHY_CFG,
290  CSIPHY_RELEASE,
291 };
292 enum camera_vreg_type {
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  REG_LDO,
295  REG_VS,
296  REG_GPIO,
297 };
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 enum sensor_af_t {
300  SENSOR_AF_FOCUSSED,
301  SENSOR_AF_NOT_FOCUSSED,
302 };
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 struct msm_sensor_power_setting {
305  enum msm_sensor_power_seq_type_t seq_type;
306  uint16_t seq_val;
307  long config_val;
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  uint16_t delay;
310  void *data[10];
311 };
312 struct msm_sensor_power_setting_array {
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  struct msm_sensor_power_setting *power_setting;
315  uint16_t size;
316  struct msm_sensor_power_setting *power_down_setting;
317  uint16_t size_down;
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 };
320 struct msm_sensor_id_info_t {
321  uint16_t sensor_id_reg_addr;
322  uint16_t sensor_id;
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 };
325 enum msm_sensor_camera_id_t {
326  CAMERA_0,
327  CAMERA_1,
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  CAMERA_2,
330  CAMERA_3,
331  MAX_CAMERAS,
332 };
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 enum cci_i2c_master_t {
335  MASTER_0,
336  MASTER_1,
337  MASTER_MAX,
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 };
340 enum i2c_freq_mode_t {
341  I2C_STANDARD_MODE,
342  I2C_FAST_MODE,
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  I2C_CUSTOM_MODE,
345  I2C_MAX_MODES,
346 };
347 struct msm_camera_i2c_reg_array {
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  uint16_t reg_addr;
350  uint16_t reg_data;
351  uint32_t delay;
352 };
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 struct msm_camera_i2c_reg_setting {
355  struct msm_camera_i2c_reg_array *reg_setting;
356  uint16_t size;
357  enum msm_camera_i2c_reg_addr_type addr_type;
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  enum msm_camera_i2c_data_type data_type;
360  uint16_t delay;
361 };
362 struct msm_camera_i2c_seq_reg_array {
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  uint16_t reg_addr;
365  uint8_t reg_data[I2C_SEQ_REG_DATA_MAX];
366  uint16_t reg_data_size;
367 };
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 struct msm_camera_i2c_seq_reg_setting {
370  struct msm_camera_i2c_seq_reg_array *reg_setting;
371  uint16_t size;
372  enum msm_camera_i2c_reg_addr_type addr_type;
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  uint16_t delay;
375 };
376 struct msm_camera_i2c_array_write_config {
377  struct msm_camera_i2c_reg_setting conf_array;
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  uint16_t slave_addr;
380 };
381 struct msm_camera_i2c_read_config {
382  uint16_t slave_addr;
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384  uint16_t reg_addr;
385  enum msm_camera_i2c_data_type data_type;
386  uint16_t *data;
387 };
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 struct msm_camera_csid_vc_cfg {
390  uint8_t cid;
391  uint8_t dt;
392  uint8_t decode_format;
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 };
395 struct msm_camera_csid_lut_params {
396  uint8_t num_cid;
397  struct msm_camera_csid_vc_cfg *vc_cfg[MAX_CID];
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 };
400 struct msm_camera_csid_params {
401  uint8_t lane_cnt;
402  uint16_t lane_assign;
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  uint8_t phy_sel;
405  struct msm_camera_csid_lut_params lut_params;
406 };
407 struct msm_camera_csiphy_params {
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409  uint8_t lane_cnt;
410  uint8_t settle_cnt;
411  uint16_t lane_mask;
412  uint8_t combo_mode;
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  uint8_t csid_core;
415 };
416 struct msm_camera_csi2_params {
417  struct msm_camera_csid_params csid_params;
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419  struct msm_camera_csiphy_params csiphy_params;
420 };
421 struct msm_camera_csi_lane_params {
422  uint16_t csi_lane_assign;
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  uint16_t csi_lane_mask;
425 };
426 struct csi_lane_params_t {
427  uint16_t csi_lane_assign;
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429  uint8_t csi_lane_mask;
430  uint8_t csi_if;
431  uint8_t csid_core[2];
432  uint8_t csi_phy_sel;
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 };
435 enum camb_position_t {
436  BACK_CAMERA_B,
437  FRONT_CAMERA_B,
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439  INVALID_CAMERA_B,
440 };
441 struct msm_sensor_info_t {
442  char sensor_name[MAX_SENSOR_NAME];
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  uint32_t session_id;
445  int32_t subdev_id[SUB_MODULE_MAX];
446  uint8_t is_mount_angle_valid;
447  uint32_t sensor_mount_angle;
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  int modes_supported;
450  enum camb_position_t position;
451 };
452 struct camera_vreg_t {
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454  const char *reg_name;
455  int min_voltage;
456  int max_voltage;
457  int op_mode;
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459  uint32_t delay;
460 };
461 enum camerab_mode_t {
462  CAMERA_MODE_2D_B = (1<<0),
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464  CAMERA_MODE_3D_B = (1<<1),
465  CAMERA_MODE_INVALID = (1<<2),
466 };
467 struct msm_sensor_init_params {
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469  int modes_supported;
470  enum camb_position_t position;
471  uint32_t sensor_mount_angle;
472  struct otp_info_t sensor_otp;
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 };
475 struct msm_camera_sensor_slave_info {
476  char sensor_name[32];
477  char eeprom_name[32];
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479  char actuator_name[32];
480  char ois_name[32];
481  enum msm_sensor_camera_id_t camera_id;
482  uint16_t slave_addr;
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484  enum i2c_freq_mode_t i2c_freq_mode;
485  enum msm_camera_i2c_reg_addr_type addr_type;
486  struct msm_sensor_id_info_t sensor_id_info;
487  struct msm_sensor_power_setting_array power_setting_array;
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489  uint8_t is_init_params_valid;
490  struct msm_sensor_init_params sensor_init_params;
491  uint8_t is_flash_supported;
492 };
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 struct sensorb_cfg_data {
495  int cfgtype;
496  union {
497  struct msm_sensor_info_t sensor_info;
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499  struct msm_sensor_init_params sensor_init_params;
500  void *setting;
501  } cfg;
502 };
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 struct csid_cfg_data {
505  enum csid_cfg_type_t cfgtype;
506  union {
507  uint32_t csid_version;
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509  struct msm_camera_csid_params *csid_params;
510  } cfg;
511 };
512 struct csiphy_cfg_data {
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514  enum csiphy_cfg_type_t cfgtype;
515  union {
516  struct msm_camera_csiphy_params *csiphy_params;
517  struct msm_camera_csi_lane_params *csi_lane_params;
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519  } cfg;
520 };
521 enum eeprom_cfg_type_t {
522  CFG_EEPROM_GET_INFO,
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  CFG_EEPROM_GET_CAL_DATA,
525  CFG_EEPROM_READ_CAL_DATA,
526  CFG_EEPROM_WRITE_DATA,
527  CFG_EEPROM_GET_MM_INFO,
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 };
530 struct eeprom_get_t {
531  uint32_t num_bytes;
532 };
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 struct eeprom_read_t {
535  uint8_t *dbuffer;
536  uint32_t num_bytes;
537 };
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 struct eeprom_write_t {
540  uint8_t *dbuffer;
541  uint32_t num_bytes;
542 };
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 struct eeprom_get_cmm_t {
545  uint32_t cmm_support;
546  uint32_t cmm_compression;
547  uint32_t cmm_size;
548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 };
550 struct msm_eeprom_cfg_data {
551  enum eeprom_cfg_type_t cfgtype;
552  uint8_t is_supported;
553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554  union {
555  char eeprom_name[MAX_SENSOR_NAME];
556  struct eeprom_get_t get_data;
557  struct eeprom_read_t read_data;
558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559  struct eeprom_write_t write_data;
560  struct eeprom_get_cmm_t get_cmm_data;
561  } cfg;
562 };
563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 enum msm_sensor_cfg_type_t {
565  CFG_SET_SLAVE_INFO,
566  CFG_SLAVE_READ_I2C,
567  CFG_WRITE_I2C_ARRAY,
568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569  CFG_SLAVE_WRITE_I2C_ARRAY,
570  CFG_WRITE_I2C_SEQ_ARRAY,
571  CFG_POWER_UP,
572  CFG_POWER_DOWN,
573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574  CFG_SET_STOP_STREAM_SETTING,
575  CFG_GET_SENSOR_INFO,
576  CFG_GET_MODULE_INFO,
577  CFG_GET_SENSOR_INIT_PARAMS,
578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579  CFG_SET_INIT_SETTING,
580  CFG_SET_RESOLUTION,
581  CFG_SET_STOP_STREAM,
582  CFG_SET_START_STREAM,
583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584  CFG_SET_SATURATION,
585  CFG_SET_CONTRAST,
586  CFG_SET_SHARPNESS,
587  CFG_SET_ISO,
588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589  CFG_SET_EXPOSURE_COMPENSATION,
590  CFG_SET_ANTIBANDING,
591  CFG_SET_BESTSHOT_MODE,
592  CFG_SET_EFFECT,
593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594  CFG_SET_WHITE_BALANCE,
595  CFG_SET_AUTOFOCUS,
596  CFG_CANCEL_AUTOFOCUS,
597  CFG_SET_STREAM_TYPE,
598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599 };
600 enum msm_actuator_cfg_type_t {
601  CFG_GET_ACTUATOR_INFO,
602  CFG_SET_ACTUATOR_INFO,
603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604  CFG_SET_DEFAULT_FOCUS,
605  CFG_SET_POSITION,
606  CFG_MOVE_FOCUS,
607  CFG_ACTUATOR_POWERDOWN,
608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609  CFG_ACTUATOR_POWERUP,
610  CFG_ACTUATOR_INIT,
611  CFG_DIRECT_I2C_WRITE,
612 };
613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614 enum msm_ois_cfg_type_t {
615  CFG_OIS_INIT,
616  CFG_GET_OIS_INFO,
617  CFG_OIS_POWERDOWN,
618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619  CFG_OIS_INI_SET,
620  CFG_OIS_ENABLE,
621  CFG_OIS_DISABLE,
622  CFG_OIS_SET_MOVIE_MODE,
623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624  CFG_OIS_SET_STILL_MODE,
625  CFG_OIS_SET_CENTERING_ON,
626  CFG_OIS_SET_PANTILT_ON,
627  CFG_OIS_POWERUP,
628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629  CFG_OIS_I2C_WRITE_SEQ_TABLE,
630 };
631 enum msm_ois_i2c_operation {
632  MSM_OIS_WRITE = 0,
633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634  MSM_OIS_POLL,
635 };
636 struct reg_settings_ois_t {
637  uint16_t reg_addr;
638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639  enum msm_camera_i2c_reg_addr_type addr_type;
640  uint32_t reg_data;
641  enum msm_camera_i2c_data_type data_type;
642  enum msm_ois_i2c_operation i2c_operation;
643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644  uint32_t delay;
645 };
646 struct msm_ois_params_t {
647  uint16_t data_size;
648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649  uint16_t init_setting_size;
650  uint16_t enable_ois_setting_size;
651  uint16_t disable_ois_setting_size;
652  uint16_t movie_mode_ois_setting_size;
653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654  uint16_t still_mode_ois_setting_size;
655  uint16_t centering_on_ois_setting_size;
656  uint16_t centering_off_ois_setting_size;
657  uint16_t pantilt_on_ois_setting_size;
658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659  uint32_t i2c_addr;
660  enum msm_camera_i2c_reg_addr_type i2c_addr_type;
661  enum msm_camera_i2c_data_type i2c_data_type;
662  struct reg_settings_ois_t *init_settings;
663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664  struct reg_settings_ois_t *enable_ois_settings;
665  struct reg_settings_ois_t *disable_ois_settings;
666  struct reg_settings_ois_t *movie_mode_ois_settings;
667  struct reg_settings_ois_t *still_mode_ois_settings;
668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669  struct reg_settings_ois_t *centering_on_ois_settings;
670  struct reg_settings_ois_t *centering_off_ois_settings;
671  struct reg_settings_ois_t *pantilt_on_ois_settings;
672 };
673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674 struct msm_ois_set_info_t {
675  struct msm_ois_params_t ois_params;
676 };
677 enum actuator_type {
678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679  ACTUATOR_VCM,
680  ACTUATOR_PIEZO,
681  ACTUATOR_HVCM,
682 };
683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684 enum msm_actuator_data_type {
685  MSM_ACTUATOR_BYTE_DATA = 1,
686  MSM_ACTUATOR_WORD_DATA,
687 };
688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689 enum msm_actuator_addr_type {
690  MSM_ACTUATOR_BYTE_ADDR = 1,
691  MSM_ACTUATOR_WORD_ADDR,
692 };
693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694 enum msm_actuator_i2c_operation {
695  MSM_ACT_WRITE = 0,
696  MSM_ACT_POLL,
697 };
698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699 struct reg_settings_t {
700  uint16_t reg_addr;
701  enum msm_actuator_addr_type addr_type;
702  uint16_t reg_data;
703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704  enum msm_actuator_data_type data_type;
705  enum msm_actuator_i2c_operation i2c_operation;
706  uint32_t delay;
707 };
708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709 struct region_params_t {
710  uint16_t step_bound[2];
711  uint16_t code_per_step;
712 };
713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714 struct damping_params_t {
715  uint32_t damping_step;
716  uint32_t damping_delay;
717  uint32_t hw_params;
718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719 };
720 struct msm_actuator_move_params_t {
721  int8_t dir;
722  int8_t sign_dir;
723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724  int16_t dest_step_pos;
725  int32_t num_steps;
726  uint16_t curr_lens_pos;
727  struct damping_params_t *ringing_params;
728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729 };
730 struct msm_actuator_tuning_params_t {
731  int16_t initial_code;
732  uint16_t pwd_step;
733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734  uint16_t region_size;
735  uint32_t total_steps;
736  struct region_params_t *region_params;
737 };
738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739 struct park_lens_data_t {
740  uint32_t damping_step;
741  uint32_t damping_delay;
742  uint32_t hw_params;
743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744  uint32_t max_step;
745 };
746 struct msm_actuator_params_t {
747  enum actuator_type act_type;
748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749  uint8_t reg_tbl_size;
750  uint16_t data_size;
751  uint16_t init_setting_size;
752  uint32_t i2c_addr;
753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754  enum msm_actuator_addr_type i2c_addr_type;
755  enum msm_actuator_data_type i2c_data_type;
756  struct msm_actuator_reg_params_t *reg_tbl_params;
757  struct reg_settings_t *init_settings;
758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759  struct park_lens_data_t park_lens;
760 };
761 struct msm_actuator_set_info_t {
762  struct msm_actuator_params_t actuator_params;
763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764  struct msm_actuator_tuning_params_t af_tuning_params;
765 };
766 struct msm_actuator_get_info_t {
767  uint32_t focal_length_num;
768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769  uint32_t focal_length_den;
770  uint32_t f_number_num;
771  uint32_t f_number_den;
772  uint32_t f_pix_num;
773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774  uint32_t f_pix_den;
775  uint32_t total_f_dist_num;
776  uint32_t total_f_dist_den;
777  uint32_t hor_view_angle_num;
778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779  uint32_t hor_view_angle_den;
780  uint32_t ver_view_angle_num;
781  uint32_t ver_view_angle_den;
782 };
783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784 enum af_camera_name {
785  ACTUATOR_MAIN_CAM_0,
786  ACTUATOR_MAIN_CAM_1,
787  ACTUATOR_MAIN_CAM_2,
788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789  ACTUATOR_MAIN_CAM_3,
790  ACTUATOR_MAIN_CAM_4,
791  ACTUATOR_MAIN_CAM_5,
792  ACTUATOR_WEB_CAM_0,
793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794  ACTUATOR_WEB_CAM_1,
795  ACTUATOR_WEB_CAM_2,
796 };
797 struct msm_ois_cfg_data {
798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799  int cfgtype;
800  uint8_t is_ois_supported;
801  union {
802  uint8_t enable_centering_ois;
803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804  struct msm_ois_set_info_t set_info;
805  struct msm_camera_i2c_seq_reg_setting *settings;
806  } cfg;
807 };
808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809 struct msm_actuator_set_position_t {
810  uint16_t number_of_steps;
811  uint16_t pos[MAX_NUMBER_OF_STEPS];
812  uint16_t delay[MAX_NUMBER_OF_STEPS];
813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814 };
815 struct msm_actuator_i2c {
816  uint16_t addr;
817  uint16_t value;
818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819  uint32_t wait_time;
820 };
821 #define MSM_ACTUATOR_I2C_MAX_TABLE_SIZE (8)
822 struct msm_actuator_i2c_table {
823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824  struct msm_actuator_i2c data[MSM_ACTUATOR_I2C_MAX_TABLE_SIZE];
825  uint32_t size;
826 };
827 struct msm_actuator_cfg_data {
828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829  int cfgtype;
830  uint8_t is_af_supported;
831  union {
832  struct msm_actuator_move_params_t move;
833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834  struct msm_actuator_set_info_t set_info;
835  struct msm_actuator_get_info_t get_info;
836  struct msm_actuator_set_position_t setpos;
837  enum af_camera_name cam_name;
838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839  struct msm_actuator_i2c_table i2c_table;
840  } cfg;
841 };
842 enum msm_actuator_write_type {
843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844  MSM_ACTUATOR_WRITE_HW_DAMP,
845  MSM_ACTUATOR_WRITE_DAC,
846 };
847 struct msm_actuator_reg_params_t {
848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849  enum msm_actuator_write_type reg_write_type;
850  uint32_t hw_mask;
851  uint16_t reg_addr;
852  uint16_t hw_shift;
853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854  uint16_t data_shift;
855 };
856 enum msm_camera_led_config_t {
857  MSM_CAMERA_LED_OFF,
858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859  MSM_CAMERA_LED_LOW,
860  MSM_CAMERA_LED_HIGH,
861  MSM_CAMERA_LED_INIT,
862  MSM_CAMERA_LED_RELEASE,
863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864 };
865 struct msm_camera_led_cfg_t {
866  enum msm_camera_led_config_t cfgtype;
867  uint32_t torch_current;
868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869  uint32_t flash_current[MAX_LED_TRIGGERS];
870  uint32_t flash_duration[MAX_LED_TRIGGERS];
871 };
872 enum msm_sensor_init_cfg_type_t {
873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874  CFG_SINIT_PROBE,
875  CFG_SINIT_PROBE_DONE,
876  CFG_SINIT_PROBE_WAIT_DONE,
877 };
878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879 struct sensor_init_cfg_data {
880  enum msm_sensor_init_cfg_type_t cfgtype;
881  union {
882  void *setting;
883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884  } cfg;
885 };
886 #define VIDIOC_MSM_SENSOR_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct sensorb_cfg_data)
887 #define VIDIOC_MSM_SENSOR_RELEASE   _IO('V', BASE_VIDIOC_PRIVATE + 2)
888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889 #define VIDIOC_MSM_SENSOR_GET_SUBDEV_ID   _IOWR('V', BASE_VIDIOC_PRIVATE + 3, uint32_t)
890 #define VIDIOC_MSM_CSIPHY_IO_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct csiphy_cfg_data)
891 #define VIDIOC_MSM_CSID_IO_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct csid_cfg_data)
892 #define VIDIOC_MSM_ACTUATOR_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_actuator_cfg_data)
893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894 #define VIDIOC_MSM_FLASH_LED_DATA_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_led_cfg_t)
895 #define VIDIOC_MSM_EEPROM_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_eeprom_cfg_data)
896 #define VIDIOC_MSM_SENSOR_GET_AF_STATUS   _IOWR('V', BASE_VIDIOC_PRIVATE + 9, uint32_t)
897 #define VIDIOC_MSM_SENSOR_INIT_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 10, struct sensor_init_cfg_data)
898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899 #define VIDIOC_MSM_OIS_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 11, struct msm_ois_cfg_data)
900 #define MSM_V4L2_PIX_FMT_META v4l2_fourcc('M', 'E', 'T', 'A')
901 #endif
902