diff --git a/kernel-headers/media/msm_cam_sensor.h b/kernel-headers/media/msm_cam_sensor.h index b5ae223..9f780f9 100644 --- a/kernel-headers/media/msm_cam_sensor.h +++ b/kernel-headers/media/msm_cam_sensor.h @@ -416,129 +416,144 @@ enum msm_ois_cfg_type_t { CFG_OIS_CONTROL, CFG_OIS_I2C_WRITE_SEQ_TABLE, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_OIS_I2C_READ_SEQ_TABLE, }; enum msm_ois_cfg_download_type_t { CFG_OIS_DOWNLOAD, - CFG_OIS_DATA_CONFIG, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_OIS_DATA_CONFIG, }; enum msm_ois_i2c_operation { MSM_OIS_WRITE = 0, - MSM_OIS_POLL, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_OIS_POLL, }; struct reg_settings_ois_t { uint16_t reg_addr; - enum msm_camera_i2c_reg_addr_type addr_type; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_camera_i2c_reg_addr_type addr_type; uint32_t reg_data; enum msm_camera_i2c_data_type data_type; enum msm_ois_i2c_operation i2c_operation; - uint32_t delay; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t delay; }; struct msm_ois_params_t { uint16_t data_size; - uint16_t setting_size; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t setting_size; uint32_t i2c_addr; enum i2c_freq_mode_t i2c_freq_mode; enum msm_camera_i2c_reg_addr_type i2c_addr_type; - enum msm_camera_i2c_data_type i2c_data_type; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_camera_i2c_data_type i2c_data_type; struct reg_settings_ois_t * settings; }; struct msm_ois_set_info_t { - struct msm_ois_params_t ois_params; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_ois_params_t ois_params; }; struct msm_actuator_move_params_t { int8_t dir; - int8_t sign_dir; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int8_t sign_dir; int16_t dest_step_pos; int32_t num_steps; uint16_t curr_lens_pos; - struct damping_params_t * ringing_params; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct damping_params_t * ringing_params; }; struct msm_actuator_tuning_params_t { int16_t initial_code; - uint16_t pwd_step; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t pwd_step; uint16_t region_size; uint32_t total_steps; struct region_params_t * region_params; -}; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; struct park_lens_data_t { uint32_t damping_step; uint32_t damping_delay; - uint32_t hw_params; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t hw_params; uint32_t max_step; }; struct msm_actuator_params_t { - enum actuator_type act_type; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum actuator_type act_type; uint8_t reg_tbl_size; uint16_t data_size; uint16_t init_setting_size; - uint32_t i2c_addr; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t i2c_addr; enum i2c_freq_mode_t i2c_freq_mode; enum msm_camera_i2c_reg_addr_type i2c_addr_type; enum msm_camera_i2c_data_type i2c_data_type; - struct msm_actuator_reg_params_t * reg_tbl_params; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_actuator_reg_params_t * reg_tbl_params; struct reg_settings_t * init_settings; struct park_lens_data_t park_lens; }; -struct msm_actuator_set_info_t { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_actuator_set_info_t { struct msm_actuator_params_t actuator_params; struct msm_actuator_tuning_params_t af_tuning_params; }; -struct msm_actuator_get_info_t { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_actuator_get_info_t { uint32_t focal_length_num; uint32_t focal_length_den; uint32_t f_number_num; - uint32_t f_number_den; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t f_number_den; uint32_t f_pix_num; uint32_t f_pix_den; uint32_t total_f_dist_num; - uint32_t total_f_dist_den; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t total_f_dist_den; uint32_t hor_view_angle_num; uint32_t hor_view_angle_den; uint32_t ver_view_angle_num; - uint32_t ver_view_angle_den; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t ver_view_angle_den; }; enum af_camera_name { ACTUATOR_MAIN_CAM_0, - ACTUATOR_MAIN_CAM_1, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ACTUATOR_MAIN_CAM_1, ACTUATOR_MAIN_CAM_2, ACTUATOR_MAIN_CAM_3, ACTUATOR_MAIN_CAM_4, - ACTUATOR_MAIN_CAM_5, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ACTUATOR_MAIN_CAM_5, ACTUATOR_WEB_CAM_0, ACTUATOR_WEB_CAM_1, ACTUATOR_WEB_CAM_2, -}; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; struct msm_ois_slave_info { char ois_name[MAX_OIS_NAME_SIZE]; uint32_t i2c_addr; - struct msm_ois_opcode opcode; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_ois_opcode opcode; }; +struct ois_position { + uint8_t data0; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t data1; + uint8_t data2; + uint8_t data3; + uint8_t data4; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t data5; + uint8_t data6; + uint8_t data7; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct msm_ois_cfg_data { int cfgtype; + struct ois_position pos; union { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct msm_ois_set_info_t set_info; diff --git a/original-kernel-headers/media/msm_cam_sensor.h b/original-kernel-headers/media/msm_cam_sensor.h index 172545d..97eb7fc 100644 --- a/original-kernel-headers/media/msm_cam_sensor.h +++ b/original-kernel-headers/media/msm_cam_sensor.h @@ -371,6 +371,7 @@ enum msm_ois_cfg_type_t { CFG_OIS_POWERUP, CFG_OIS_CONTROL, CFG_OIS_I2C_WRITE_SEQ_TABLE, + CFG_OIS_I2C_READ_SEQ_TABLE, }; enum msm_ois_cfg_download_type_t { @@ -481,8 +482,21 @@ struct msm_ois_slave_info { uint32_t i2c_addr; struct msm_ois_opcode opcode; }; + +struct ois_position{ + uint8_t data0; + uint8_t data1; + uint8_t data2; + uint8_t data3; + uint8_t data4; + uint8_t data5; + uint8_t data6; + uint8_t data7; +}; + struct msm_ois_cfg_data { int cfgtype; + struct ois_position pos; union { struct msm_ois_set_info_t set_info; struct msm_camera_i2c_seq_reg_setting *settings;