• 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 __UAPI_LINUX_MSM_CAMSENSOR_SDK_H
20 #define __UAPI_LINUX_MSM_CAMSENSOR_SDK_H
21 #include <linux/videodev2.h>
22 #define KVERSION 0x1
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define MAX_POWER_CONFIG 12
25 #define GPIO_OUT_LOW (0 << 1)
26 #define GPIO_OUT_HIGH (1 << 1)
27 #define CSI_EMBED_DATA 0x12
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define CSI_RESERVED_DATA_0 0x13
30 #define CSI_YUV422_8 0x1E
31 #define CSI_RAW8 0x2A
32 #define CSI_RAW10 0x2B
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define CSI_RAW12 0x2C
35 #define CSI_DECODE_6BIT 0
36 #define CSI_DECODE_8BIT 1
37 #define CSI_DECODE_10BIT 2
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define CSI_DECODE_12BIT 3
40 #define CSI_DECODE_DPCM_10_6_10 4
41 #define CSI_DECODE_DPCM_10_8_10 5
42 #define MAX_CID 16
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define I2C_SEQ_REG_DATA_MAX 1024
45 #define I2C_REG_DATA_MAX (8 * 1024)
46 #define MSM_V4L2_PIX_FMT_META v4l2_fourcc('M', 'E', 'T', 'A')
47 #define MSM_V4L2_PIX_FMT_SBGGR14 v4l2_fourcc('B', 'G', '1', '4')
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define MSM_V4L2_PIX_FMT_SGBRG14 v4l2_fourcc('G', 'B', '1', '4')
50 #define MSM_V4L2_PIX_FMT_SGRBG14 v4l2_fourcc('B', 'A', '1', '4')
51 #define MSM_V4L2_PIX_FMT_SRGGB14 v4l2_fourcc('R', 'G', '1', '4')
52 #define MAX_ACTUATOR_REG_TBL_SIZE 8
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define MAX_ACTUATOR_REGION 5
55 #define NUM_ACTUATOR_DIR 2
56 #define MAX_ACTUATOR_SCENARIO 8
57 #define MAX_ACT_MOD_NAME_SIZE 32
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define MAX_ACT_NAME_SIZE 32
60 #define MAX_ACTUATOR_INIT_SET 120
61 #define MAX_I2C_REG_SET 12
62 #define MAX_LED_TRIGGERS 3
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define MSM_EEPROM_MEMORY_MAP_MAX_SIZE 80
65 #define MSM_EEPROM_MAX_MEM_MAP_CNT 20
66 enum msm_sensor_camera_id_t {
67   CAMERA_0,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   CAMERA_1,
70   CAMERA_2,
71   CAMERA_3,
72   MAX_CAMERAS,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 };
75 enum i2c_freq_mode_t {
76   I2C_STANDARD_MODE,
77   I2C_FAST_MODE,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   I2C_CUSTOM_MODE,
80   I2C_FAST_PLUS_MODE,
81   I2C_MAX_MODES,
82 };
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 enum camb_position_t {
85   BACK_CAMERA_B,
86   FRONT_CAMERA_B,
87   AUX_CAMERA_B = 0x100,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   INVALID_CAMERA_B,
90 };
91 enum msm_sensor_power_seq_type_t {
92   SENSOR_CLK,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   SENSOR_GPIO,
95   SENSOR_VREG,
96   SENSOR_I2C_MUX,
97   SENSOR_I2C,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 };
100 enum msm_camera_i2c_reg_addr_type {
101   MSM_CAMERA_I2C_BYTE_ADDR = 1,
102   MSM_CAMERA_I2C_WORD_ADDR,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   MSM_CAMERA_I2C_3B_ADDR,
105   MSM_CAMERA_I2C_ADDR_TYPE_MAX,
106 };
107 enum msm_camera_i2c_data_type {
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   MSM_CAMERA_I2C_BYTE_DATA = 1,
110   MSM_CAMERA_I2C_WORD_DATA,
111   MSM_CAMERA_I2C_DWORD_DATA,
112   MSM_CAMERA_I2C_SET_BYTE_MASK,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   MSM_CAMERA_I2C_UNSET_BYTE_MASK,
115   MSM_CAMERA_I2C_SET_WORD_MASK,
116   MSM_CAMERA_I2C_UNSET_WORD_MASK,
117   MSM_CAMERA_I2C_SET_BYTE_WRITE_MASK_DATA,
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   MSM_CAMERA_I2C_DATA_TYPE_MAX,
120 };
121 enum msm_sensor_power_seq_gpio_t {
122   SENSOR_GPIO_RESET,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   SENSOR_GPIO_STANDBY,
125   SENSOR_GPIO_AF_PWDM,
126   SENSOR_GPIO_VIO,
127   SENSOR_GPIO_VANA,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   SENSOR_GPIO_VDIG,
130   SENSOR_GPIO_VAF,
131   SENSOR_GPIO_FL_EN,
132   SENSOR_GPIO_FL_NOW,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134   SENSOR_GPIO_FL_RESET,
135   SENSOR_GPIO_CUSTOM1,
136   SENSOR_GPIO_CUSTOM2,
137   SENSOR_GPIO_MAX,
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 };
140 enum msm_ir_cut_filter_gpio_t {
141   IR_CUT_FILTER_GPIO_P = 0,
142   IR_CUT_FILTER_GPIO_M,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   IR_CUT_FILTER_GPIO_MAX,
145 };
146 #define IR_CUT_FILTER_GPIO_P IR_CUT_FILTER_GPIO_P
147 #define IR_CUT_FILTER_GPIO_M IR_CUT_FILTER_GPIO_M
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define R_CUT_FILTER_GPIO_MAX IR_CUT_FILTER_GPIO_MAX
150 enum msm_camera_vreg_name_t {
151   CAM_VDIG,
152   CAM_VIO,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   CAM_VANA,
155   CAM_VAF,
156   CAM_V_CUSTOM1,
157   CAM_V_CUSTOM2,
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   CAM_VREG_MAX,
160 };
161 enum msm_sensor_clk_type_t {
162   SENSOR_CAM_MCLK,
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164   SENSOR_CAM_CLK,
165   SENSOR_CAM_CLK_MAX,
166 };
167 enum camerab_mode_t {
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   CAMERA_MODE_2D_B = (1 << 0),
170   CAMERA_MODE_3D_B = (1 << 1),
171   CAMERA_MODE_INVALID = (1 << 2),
172 };
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 enum msm_actuator_data_type {
175   MSM_ACTUATOR_BYTE_DATA = 1,
176   MSM_ACTUATOR_WORD_DATA,
177 };
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 enum msm_actuator_addr_type {
180   MSM_ACTUATOR_BYTE_ADDR = 1,
181   MSM_ACTUATOR_WORD_ADDR,
182 };
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 enum msm_actuator_write_type {
185   MSM_ACTUATOR_WRITE_HW_DAMP,
186   MSM_ACTUATOR_WRITE_DAC,
187   MSM_ACTUATOR_WRITE,
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   MSM_ACTUATOR_WRITE_DIR_REG,
190   MSM_ACTUATOR_POLL,
191   MSM_ACTUATOR_READ_WRITE,
192 };
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 enum msm_actuator_i2c_operation {
195   MSM_ACT_WRITE = 0,
196   MSM_ACT_POLL,
197 };
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 enum actuator_type {
200   ACTUATOR_VCM,
201   ACTUATOR_PIEZO,
202   ACTUATOR_HVCM,
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   ACTUATOR_BIVCM,
205 };
206 enum msm_flash_driver_type {
207   FLASH_DRIVER_PMIC,
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   FLASH_DRIVER_I2C,
210   FLASH_DRIVER_GPIO,
211   FLASH_DRIVER_DEFAULT
212 };
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 enum msm_flash_cfg_type_t {
215   CFG_FLASH_INIT,
216   CFG_FLASH_RELEASE,
217   CFG_FLASH_OFF,
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   CFG_FLASH_LOW,
220   CFG_FLASH_HIGH,
221 };
222 enum msm_ir_led_cfg_type_t {
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   CFG_IR_LED_INIT = 0,
225   CFG_IR_LED_RELEASE,
226   CFG_IR_LED_OFF,
227   CFG_IR_LED_ON,
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 };
230 #define CFG_IR_LED_INIT CFG_IR_LED_INIT
231 #define CFG_IR_LED_RELEASE CFG_IR_LED_RELEASE
232 #define CFG_IR_LED_OFF CFG_IR_LED_OFF
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 #define CFG_IR_LED_ON CFG_IR_LED_ON
235 enum msm_ir_cut_cfg_type_t {
236   CFG_IR_CUT_INIT = 0,
237   CFG_IR_CUT_RELEASE,
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   CFG_IR_CUT_OFF,
240   CFG_IR_CUT_ON,
241 };
242 #define CFG_IR_CUT_INIT CFG_IR_CUT_INIT
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 #define CFG_IR_CUT_RELEASE CFG_IR_CUT_RELEASE
245 #define CFG_IR_CUT_OFF CFG_IR_CUT_OFF
246 #define CFG_IR_CUT_ON CFG_IR_CUT_ON
247 enum msm_sensor_output_format_t {
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   MSM_SENSOR_BAYER,
250   MSM_SENSOR_YCBCR,
251   MSM_SENSOR_META,
252 };
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 struct msm_sensor_power_setting {
255   enum msm_sensor_power_seq_type_t seq_type;
256   unsigned short seq_val;
257   long config_val;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259   unsigned short delay;
260   void * data[10];
261 };
262 struct msm_sensor_power_setting_array {
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   struct msm_sensor_power_setting power_setting_a[MAX_POWER_CONFIG];
265   struct msm_sensor_power_setting * power_setting;
266   unsigned short size;
267   struct msm_sensor_power_setting power_down_setting_a[MAX_POWER_CONFIG];
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   struct msm_sensor_power_setting * power_down_setting;
270   unsigned short size_down;
271 };
272 enum msm_camera_i2c_operation {
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   MSM_CAM_WRITE = 0,
275   MSM_CAM_POLL,
276   MSM_CAM_READ,
277 };
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 struct msm_sensor_i2c_sync_params {
280   unsigned int cid;
281   int csid;
282   unsigned short line;
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284   unsigned short delay;
285 };
286 struct msm_camera_reg_settings_t {
287   uint16_t reg_addr;
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289   enum msm_camera_i2c_reg_addr_type addr_type;
290   uint16_t reg_data;
291   enum msm_camera_i2c_data_type data_type;
292   enum msm_camera_i2c_operation i2c_operation;
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   uint16_t delay;
295 };
296 struct msm_eeprom_mem_map_t {
297   int slave_addr;
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299   struct msm_camera_reg_settings_t mem_settings[MSM_EEPROM_MEMORY_MAP_MAX_SIZE];
300   int memory_map_size;
301 };
302 struct msm_eeprom_memory_map_array {
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304   struct msm_eeprom_mem_map_t memory_map[MSM_EEPROM_MAX_MEM_MAP_CNT];
305   uint32_t msm_size_of_max_mappings;
306 };
307 struct msm_sensor_init_params {
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309   int modes_supported;
310   enum camb_position_t position;
311   unsigned int sensor_mount_angle;
312 };
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314 struct msm_sensor_id_info_t {
315   unsigned short sensor_id_reg_addr;
316   unsigned short sensor_id;
317   unsigned short sensor_id_mask;
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 };
320 struct msm_camera_sensor_slave_info {
321   char sensor_name[32];
322   char eeprom_name[32];
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324   char actuator_name[32];
325   char ois_name[32];
326   char flash_name[32];
327   enum msm_sensor_camera_id_t camera_id;
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329   unsigned short slave_addr;
330   enum i2c_freq_mode_t i2c_freq_mode;
331   enum msm_camera_i2c_reg_addr_type addr_type;
332   struct msm_sensor_id_info_t sensor_id_info;
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334   struct msm_sensor_power_setting_array power_setting_array;
335   unsigned char is_init_params_valid;
336   struct msm_sensor_init_params sensor_init_params;
337   enum msm_sensor_output_format_t output_format;
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 };
340 struct msm_camera_i2c_reg_array {
341   unsigned short reg_addr;
342   unsigned short reg_data;
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   unsigned int delay;
345 };
346 struct msm_camera_i2c_reg_setting {
347   struct msm_camera_i2c_reg_array * reg_setting;
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349   unsigned short size;
350   enum msm_camera_i2c_reg_addr_type addr_type;
351   enum msm_camera_i2c_data_type data_type;
352   unsigned short delay;
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 };
355 struct msm_camera_csid_vc_cfg {
356   unsigned char cid;
357   unsigned char dt;
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359   unsigned char decode_format;
360 };
361 struct msm_camera_csid_lut_params {
362   unsigned char num_cid;
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364   struct msm_camera_csid_vc_cfg vc_cfg_a[MAX_CID];
365   struct msm_camera_csid_vc_cfg * vc_cfg[MAX_CID];
366 };
367 struct msm_camera_csid_params {
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369   unsigned char lane_cnt;
370   unsigned short lane_assign;
371   unsigned char phy_sel;
372   unsigned int csi_clk;
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374   struct msm_camera_csid_lut_params lut_params;
375   unsigned char csi_3p_sel;
376 };
377 struct msm_camera_csid_testmode_parms {
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379   unsigned int num_bytes_per_line;
380   unsigned int num_lines;
381   unsigned int h_blanking_count;
382   unsigned int v_blanking_count;
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384   unsigned int payload_mode;
385 };
386 struct msm_camera_csiphy_params {
387   unsigned char lane_cnt;
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389   unsigned char settle_cnt;
390   unsigned short lane_mask;
391   unsigned char combo_mode;
392   unsigned char csid_core;
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394   unsigned int csiphy_clk;
395   unsigned char csi_3phase;
396 };
397 struct msm_camera_i2c_seq_reg_array {
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399   unsigned short reg_addr;
400   unsigned char reg_data[I2C_SEQ_REG_DATA_MAX];
401   unsigned short reg_data_size;
402 };
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 struct msm_camera_i2c_seq_reg_setting {
405   struct msm_camera_i2c_seq_reg_array * reg_setting;
406   unsigned short size;
407   enum msm_camera_i2c_reg_addr_type addr_type;
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409   unsigned short delay;
410 };
411 struct msm_actuator_reg_params_t {
412   enum msm_actuator_write_type reg_write_type;
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414   unsigned int hw_mask;
415   unsigned short reg_addr;
416   unsigned short hw_shift;
417   unsigned short data_shift;
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   unsigned short data_type;
420   unsigned short addr_type;
421   unsigned short reg_data;
422   unsigned short delay;
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 };
425 struct damping_params_t {
426   unsigned int damping_step;
427   unsigned int damping_delay;
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429   unsigned int hw_params;
430 };
431 struct region_params_t {
432   unsigned short step_bound[2];
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434   unsigned short code_per_step;
435   unsigned int qvalue;
436 };
437 struct reg_settings_t {
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439   unsigned short reg_addr;
440   enum msm_camera_i2c_reg_addr_type addr_type;
441   unsigned short reg_data;
442   enum msm_camera_i2c_data_type data_type;
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444   enum msm_actuator_i2c_operation i2c_operation;
445   unsigned int delay;
446 };
447 struct msm_camera_i2c_reg_setting_array {
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449   struct msm_camera_i2c_reg_array reg_setting_a[MAX_I2C_REG_SET];
450   unsigned short size;
451   enum msm_camera_i2c_reg_addr_type addr_type;
452   enum msm_camera_i2c_data_type data_type;
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454   unsigned short delay;
455 };
456 #endif
457 
458