Home | History | Annotate | Download | only in media
      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_MEDIA_MSM_CAM_SENSOR_H
     20 #define _UAPI_MEDIA_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 20
     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 MOVE_NEAR 0
     62 #define MOVE_FAR 1
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define MAX_EEPROM_NAME 32
     65 enum msm_camera_i2c_reg_addr_type {
     66  MSM_CAMERA_I2C_BYTE_ADDR = 1,
     67  MSM_CAMERA_I2C_WORD_ADDR,
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 };
     70 enum msm_camera_i2c_data_type {
     71  MSM_CAMERA_I2C_BYTE_DATA = 1,
     72  MSM_CAMERA_I2C_WORD_DATA,
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  MSM_CAMERA_I2C_SET_BYTE_MASK,
     75  MSM_CAMERA_I2C_UNSET_BYTE_MASK,
     76  MSM_CAMERA_I2C_SET_WORD_MASK,
     77  MSM_CAMERA_I2C_UNSET_WORD_MASK,
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  MSM_CAMERA_I2C_SET_BYTE_WRITE_MASK_DATA,
     80 };
     81 enum msm_sensor_power_seq_type_t {
     82  SENSOR_CLK,
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  SENSOR_GPIO,
     85  SENSOR_VREG,
     86  SENSOR_I2C_MUX,
     87 };
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 enum msm_sensor_clk_type_t {
     90  SENSOR_CAM_MCLK,
     91  SENSOR_CAM_CLK,
     92  SENSOR_CAM_CLK_MAX,
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 };
     95 enum msm_sensor_power_seq_gpio_t {
     96  SENSOR_GPIO_RESET,
     97  SENSOR_GPIO_STANDBY,
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  SENSOR_GPIO_MAX,
    100 };
    101 enum msm_camera_vreg_name_t {
    102  CAM_VDIG,
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104  CAM_VIO,
    105  CAM_VANA,
    106  CAM_VAF,
    107  CAM_VREG_MAX,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 };
    110 enum msm_sensor_resolution_t {
    111  MSM_SENSOR_RES_FULL,
    112  MSM_SENSOR_RES_QTR,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  MSM_SENSOR_RES_2,
    115  MSM_SENSOR_RES_3,
    116  MSM_SENSOR_RES_4,
    117  MSM_SENSOR_RES_5,
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  MSM_SENSOR_RES_6,
    120  MSM_SENSOR_RES_7,
    121  MSM_SENSOR_INVALID_RES,
    122 };
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 enum sensor_sub_module_t {
    125  SUB_MODULE_SENSOR,
    126  SUB_MODULE_CHROMATIX,
    127  SUB_MODULE_ACTUATOR,
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  SUB_MODULE_EEPROM,
    130  SUB_MODULE_LED_FLASH,
    131  SUB_MODULE_STROBE_FLASH,
    132  SUB_MODULE_CSID,
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  SUB_MODULE_CSID_3D,
    135  SUB_MODULE_CSIPHY,
    136  SUB_MODULE_CSIPHY_3D,
    137  SUB_MODULE_MAX,
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 };
    140 enum csid_cfg_type_t {
    141  CSID_INIT,
    142  CSID_CFG,
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144  CSID_RELEASE,
    145 };
    146 enum csiphy_cfg_type_t {
    147  CSIPHY_INIT,
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  CSIPHY_CFG,
    150  CSIPHY_RELEASE,
    151 };
    152 enum camera_vreg_type {
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154  REG_LDO,
    155  REG_VS,
    156  REG_GPIO,
    157 };
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 struct msm_sensor_power_setting {
    160  enum msm_sensor_power_seq_type_t seq_type;
    161  uint16_t seq_val;
    162  long config_val;
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164  uint16_t delay;
    165  void *data[10];
    166 };
    167 struct msm_sensor_power_setting_array {
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169  struct msm_sensor_power_setting *power_setting;
    170  uint16_t size;
    171 };
    172 struct msm_sensor_id_info_t {
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174  uint16_t sensor_id_reg_addr;
    175  uint16_t sensor_id;
    176 };
    177 struct msm_camera_sensor_slave_info {
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179  uint16_t slave_addr;
    180  enum msm_camera_i2c_reg_addr_type addr_type;
    181  struct msm_sensor_id_info_t sensor_id_info;
    182  struct msm_sensor_power_setting_array power_setting_array;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 };
    185 struct msm_camera_i2c_reg_array {
    186  uint16_t reg_addr;
    187  uint16_t reg_data;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 };
    190 struct msm_camera_i2c_reg_setting {
    191  struct msm_camera_i2c_reg_array *reg_setting;
    192  uint16_t size;
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194  enum msm_camera_i2c_reg_addr_type addr_type;
    195  enum msm_camera_i2c_data_type data_type;
    196  uint16_t delay;
    197 };
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 struct msm_camera_i2c_seq_reg_array {
    200  uint16_t reg_addr;
    201  uint8_t reg_data[I2C_SEQ_REG_DATA_MAX];
    202  uint16_t reg_data_size;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 };
    205 struct msm_camera_i2c_seq_reg_setting {
    206  struct msm_camera_i2c_seq_reg_array *reg_setting;
    207  uint16_t size;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  enum msm_camera_i2c_reg_addr_type addr_type;
    210  uint16_t delay;
    211 };
    212 struct msm_camera_csid_vc_cfg {
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214  uint8_t cid;
    215  uint8_t dt;
    216  uint8_t decode_format;
    217 };
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 struct msm_camera_csid_lut_params {
    220  uint8_t num_cid;
    221  struct msm_camera_csid_vc_cfg *vc_cfg[MAX_CID];
    222 };
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 struct msm_camera_csid_params {
    225  uint8_t lane_cnt;
    226  uint16_t lane_assign;
    227  uint8_t phy_sel;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229  struct msm_camera_csid_lut_params lut_params;
    230 };
    231 struct msm_camera_csiphy_params {
    232  uint8_t lane_cnt;
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234  uint8_t settle_cnt;
    235  uint16_t lane_mask;
    236  uint8_t combo_mode;
    237 };
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 struct msm_camera_csi2_params {
    240  struct msm_camera_csid_params csid_params;
    241  struct msm_camera_csiphy_params csiphy_params;
    242 };
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 struct msm_camera_csi_lane_params {
    245  uint16_t csi_lane_assign;
    246  uint16_t csi_lane_mask;
    247 };
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249 struct csi_lane_params_t {
    250  uint16_t csi_lane_assign;
    251  uint8_t csi_lane_mask;
    252  uint8_t csi_if;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  uint8_t csid_core[2];
    255  uint8_t csi_phy_sel;
    256 };
    257 struct msm_sensor_info_t {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  char sensor_name[MAX_SENSOR_NAME];
    260  int32_t session_id;
    261  int32_t subdev_id[SUB_MODULE_MAX];
    262 };
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 struct camera_vreg_t {
    265  const char *reg_name;
    266  enum camera_vreg_type type;
    267  int min_voltage;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  int max_voltage;
    270  int op_mode;
    271  uint32_t delay;
    272 };
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 enum camb_position_t {
    275  BACK_CAMERA_B,
    276  FRONT_CAMERA_B,
    277 };
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279 enum camerab_mode_t {
    280  CAMERA_MODE_2D_B = (1<<0),
    281  CAMERA_MODE_3D_B = (1<<1)
    282 };
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 struct msm_sensor_init_params {
    285  int modes_supported;
    286  enum camb_position_t position;
    287  uint32_t sensor_mount_angle;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 };
    290 struct sensorb_cfg_data {
    291  int cfgtype;
    292  union {
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  struct msm_sensor_info_t sensor_info;
    295  struct msm_sensor_init_params sensor_init_params;
    296  void *setting;
    297  int8_t effect;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299  uint8_t wb_val;
    300  int8_t exp_compensation;
    301  int8_t fps;
    302  } cfg;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 };
    305 struct csid_cfg_data {
    306  enum csid_cfg_type_t cfgtype;
    307  union {
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309  uint32_t csid_version;
    310  struct msm_camera_csid_params *csid_params;
    311  } cfg;
    312 };
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314 struct csiphy_cfg_data {
    315  enum csiphy_cfg_type_t cfgtype;
    316  union {
    317  struct msm_camera_csiphy_params *csiphy_params;
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319  struct msm_camera_csi_lane_params *csi_lane_params;
    320  } cfg;
    321 };
    322 enum eeprom_cfg_type_t {
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  CFG_EEPROM_GET_INFO,
    325  CFG_EEPROM_GET_DATA,
    326  CFG_EEPROM_READ_DATA,
    327  CFG_EEPROM_WRITE_DATA,
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329 };
    330 struct eeprom_get_t {
    331  uint16_t num_bytes;
    332 };
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334 struct eeprom_read_t {
    335  uint8_t *dbuffer;
    336  uint16_t num_bytes;
    337 };
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339 struct eeprom_write_t {
    340  uint8_t *dbuffer;
    341  uint16_t num_bytes;
    342 };
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344 struct msm_eeprom_cfg_data {
    345  enum eeprom_cfg_type_t cfgtype;
    346  uint8_t is_supported;
    347  union {
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  char eeprom_name[MAX_SENSOR_NAME];
    350  struct eeprom_get_t get_data;
    351  struct eeprom_read_t read_data;
    352  struct eeprom_write_t write_data;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  } cfg;
    355 };
    356 enum msm_sensor_cfg_type_t {
    357  CFG_SET_SLAVE_INFO,
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  CFG_WRITE_I2C_ARRAY,
    360  CFG_WRITE_I2C_SEQ_ARRAY,
    361  CFG_POWER_UP,
    362  CFG_POWER_DOWN,
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  CFG_SET_STOP_STREAM_SETTING,
    365  CFG_GET_SENSOR_INFO,
    366  CFG_GET_SENSOR_INIT_PARAMS,
    367  CFG_SET_INIT_SETTING,
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  CFG_SET_RESOLUTION,
    370  CFG_SET_STOP_STREAM,
    371  CFG_SET_START_STREAM,
    372  CFG_SET_EFFECT,
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  CFG_SET_WB,
    375  CFG_SET_FPS,
    376  CFG_SET_EXPOSURE_COMPENSATION,
    377 };
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 enum msm_actuator_cfg_type_t {
    380  CFG_GET_ACTUATOR_INFO,
    381  CFG_SET_ACTUATOR_INFO,
    382  CFG_SET_DEFAULT_FOCUS,
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  CFG_MOVE_FOCUS,
    385  CFG_ACTUATOR_POWERDOWN,
    386 };
    387 enum actuator_type {
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  ACTUATOR_VCM,
    390  ACTUATOR_PIEZO,
    391 };
    392 enum msm_actuator_data_type {
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  MSM_ACTUATOR_BYTE_DATA = 1,
    395  MSM_ACTUATOR_WORD_DATA,
    396 };
    397 enum msm_actuator_addr_type {
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  MSM_ACTUATOR_BYTE_ADDR = 1,
    400  MSM_ACTUATOR_WORD_ADDR,
    401 };
    402 struct reg_settings_t {
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  uint16_t reg_addr;
    405  uint16_t reg_data;
    406 };
    407 struct region_params_t {
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  uint16_t step_bound[2];
    410  uint16_t code_per_step;
    411 };
    412 struct damping_params_t {
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414  uint32_t damping_step;
    415  uint32_t damping_delay;
    416  uint32_t hw_params;
    417 };
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419 struct msm_actuator_move_params_t {
    420  int8_t dir;
    421  int8_t sign_dir;
    422  int16_t dest_step_pos;
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424  int32_t num_steps;
    425  struct damping_params_t *ringing_params;
    426 };
    427 struct msm_actuator_tuning_params_t {
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  int16_t initial_code;
    430  uint16_t pwd_step;
    431  uint16_t region_size;
    432  uint32_t total_steps;
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434  struct region_params_t *region_params;
    435 };
    436 struct msm_actuator_params_t {
    437  enum actuator_type act_type;
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439  uint8_t reg_tbl_size;
    440  uint16_t data_size;
    441  uint16_t init_setting_size;
    442  uint32_t i2c_addr;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444  enum msm_actuator_addr_type i2c_addr_type;
    445  enum msm_actuator_data_type i2c_data_type;
    446  struct msm_actuator_reg_params_t *reg_tbl_params;
    447  struct reg_settings_t *init_settings;
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449 };
    450 struct msm_actuator_set_info_t {
    451  struct msm_actuator_params_t actuator_params;
    452  struct msm_actuator_tuning_params_t af_tuning_params;
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454 };
    455 struct msm_actuator_get_info_t {
    456  uint32_t focal_length_num;
    457  uint32_t focal_length_den;
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459  uint32_t f_number_num;
    460  uint32_t f_number_den;
    461  uint32_t f_pix_num;
    462  uint32_t f_pix_den;
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464  uint32_t total_f_dist_num;
    465  uint32_t total_f_dist_den;
    466  uint32_t hor_view_angle_num;
    467  uint32_t hor_view_angle_den;
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469  uint32_t ver_view_angle_num;
    470  uint32_t ver_view_angle_den;
    471 };
    472 enum af_camera_name {
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  ACTUATOR_MAIN_CAM_0,
    475  ACTUATOR_MAIN_CAM_1,
    476  ACTUATOR_MAIN_CAM_2,
    477  ACTUATOR_MAIN_CAM_3,
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479  ACTUATOR_MAIN_CAM_4,
    480  ACTUATOR_MAIN_CAM_5,
    481  ACTUATOR_WEB_CAM_0,
    482  ACTUATOR_WEB_CAM_1,
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484  ACTUATOR_WEB_CAM_2,
    485 };
    486 #define CAMERA_EFFECT_OFF 0
    487 #define CAMERA_EFFECT_MONO 1
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489 #define CAMERA_EFFECT_NEGATIVE 2
    490 #define CAMERA_EFFECT_SOLARIZE 3
    491 #define CAMERA_EFFECT_SEPIA 4
    492 #define CAMERA_EFFECT_POSTERIZE 5
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494 #define CAMERA_EFFECT_WHITEBOARD 6
    495 #define CAMERA_EFFECT_BLACKBOARD 7
    496 #define CAMERA_EFFECT_AQUA 8
    497 #define CAMERA_EFFECT_EMBOSS 9
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499 #define CAMERA_EFFECT_SKETCH 10
    500 #define CAMERA_EFFECT_NEON 11
    501 #define CAMERA_EFFECT_MAX 12
    502 #define YUV_CAMERA_WB_AUTO 0
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504 #define YUV_CAMERA_WB_CUSTOM 1
    505 #define YUV_CAMERA_WB_INCANDESCENT 2
    506 #define YUV_CAMERA_WB_FLUORESCENT 3
    507 #define YUV_CAMERA_WB_WARM_FLUORESCENT 4
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509 #define YUV_CAMERA_WB_DAYLIGHT 5
    510 #define YUV_CAMERA_WB_CLOUDY_DAYLIGHT 6
    511 #define YUV_CAMERA_WB_TWILIGHT 7
    512 #define YUV_CAMERA_WB_SHADE 8
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514 #define CAMERA_EXPOSURE_COMPENSATION_LV0 12
    515 #define CAMERA_EXPOSURE_COMPENSATION_LV1 6
    516 #define CAMERA_EXPOSURE_COMPENSATION_LV2 0
    517 #define CAMERA_EXPOSURE_COMPENSATION_LV3 -6
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519 #define CAMERA_EXPOSURE_COMPENSATION_LV4 -12
    520 #define CAMERA_FPS_FIX_30 30
    521 #define CAMERA_FPS_FIX_25 25
    522 #define CAMERA_FPS_FIX_24 24
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 #define CAMERA_FPS_FIX_20 20
    525 #define CAMERA_FPS_FIX_15 15
    526 #define CAMERA_FPS_AUTO_30 0
    527 struct msm_actuator_cfg_data {
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  int cfgtype;
    530  uint8_t is_af_supported;
    531  union {
    532  struct msm_actuator_move_params_t move;
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534  struct msm_actuator_set_info_t set_info;
    535  struct msm_actuator_get_info_t get_info;
    536  enum af_camera_name cam_name;
    537  } cfg;
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539 };
    540 enum msm_actuator_write_type {
    541  MSM_ACTUATOR_WRITE_HW_DAMP,
    542  MSM_ACTUATOR_WRITE_DAC,
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544 };
    545 struct msm_actuator_reg_params_t {
    546  enum msm_actuator_write_type reg_write_type;
    547  uint32_t hw_mask;
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549  uint16_t reg_addr;
    550  uint16_t hw_shift;
    551  uint16_t data_shift;
    552 };
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554 enum msm_camera_led_config_t {
    555  MSM_CAMERA_LED_OFF,
    556  MSM_CAMERA_LED_LOW,
    557  MSM_CAMERA_LED_HIGH,
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559  MSM_CAMERA_LED_INIT,
    560  MSM_CAMERA_LED_RELEASE,
    561 };
    562 struct msm_camera_led_cfg_t {
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564  enum msm_camera_led_config_t cfgtype;
    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 csid_cfg_data)
    571 #define VIDIOC_MSM_CSID_IO_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct csiphy_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 MSM_V4L2_PIX_FMT_META v4l2_fourcc('M', 'E', 'T', 'A')
    577 #define MSM_V4L2_PIX_FMT_RESERVED_0 v4l2_fourcc('R', 'E', 'S', '0')
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579 #endif
    580