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
77enum sensor_stats_type {
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 YRGB,
80 YYYY,
81};
82enum 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 */
89enum 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};
96enum 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};
110enum 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};
117enum 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 */
124enum 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};
140enum 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 */
149enum 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};
162enum 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};
170enum 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};
187struct 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 */
214enum {
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};
232enum {
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 */
249enum {
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};
280enum 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};
286enum 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};
292enum 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 */
299enum 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 */
304struct 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};
312struct 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};
320struct 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};
325enum 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 */
334enum 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};
340enum 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};
347struct 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 */
354struct 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};
362struct 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 */
369struct 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};
376struct 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};
381struct 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 */
389struct 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};
395struct 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};
400struct 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};
407struct 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};
416struct 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};
421struct 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};
426struct 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};
435enum 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};
441struct 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};
452struct 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};
461enum 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};
467struct 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};
475struct 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 */
494struct 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 */
504struct 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};
512struct 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};
521enum 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};
530struct eeprom_get_t {
531 uint32_t num_bytes;
532};
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534struct 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 */
539struct 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 */
544struct 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};
550struct 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 */
564enum 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};
600enum 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 */
614enum 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};
631enum 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};
636struct 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};
646struct 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 */
674struct msm_ois_set_info_t {
675 struct msm_ois_params_t ois_params;
676};
677enum 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 */
684enum 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 */
689enum 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 */
694enum 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 */
699struct 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 */
709struct 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 */
714struct 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};
720struct 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};
730struct 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 */
739struct 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};
746struct 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};
761struct 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};
766struct 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 */
784enum 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};
797struct 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 */
809struct 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};
815struct 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)
822struct 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};
827struct 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};
842enum 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};
847struct 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};
856enum 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};
865struct 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};
872enum 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 */
879struct 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