当前使用设备的参数表 SD:
static struct msm_sensor_ctrl_t
ov5640_s_ctrl = {
.msm_sensor_reg = &ov5640_regs,
.msm_sensor_v4l2_ctrl_info = ov5640_v4l2_ctrl_info,
.num_v4l2_ctrl = ARRAY_SIZE(ov5640_v4l2_ctrl_info),
.sensor_i2c_client = &ov5640_sensor_i2c_client,
.sensor_i2c_addr = 0x78 - 2,//original 0x78, sub offset to avoid i2c conflicts
.sensor_output_reg_addr = &ov5640_reg_addr,
.sensor_id_info = &ov5640_id_info,
.sensor_exp_gain_info = &ov5640_exp_gain_info,
.cam_mode = MSM_SENSOR_MODE_INVALID,
.csic_params = &ov5640_csi_params_array[0],
.msm_sensor_mutex = &ov5640_mut,
.sensor_i2c_driver = &ov5640_i2c_driver,
.sensor_v4l2_subdev_info = ov5640_subdev_info,
.sensor_v4l2_subdev_info_size = ARRAY_SIZE(ov5640_subdev_info),
.sensor_v4l2_subdev_ops = &ov5640_subdev_ops,
.func_tbl = &ov5640_func_tbl,
.clk_rate = MSM_SENSOR_MCLK_24HZ,
};
.msm_sensor_reg = &ov5640_regs,
.msm_sensor_v4l2_ctrl_info = ov5640_v4l2_ctrl_info,
.num_v4l2_ctrl = ARRAY_SIZE(ov5640_v4l2_ctrl_info),
.sensor_i2c_client = &ov5640_sensor_i2c_client,
.sensor_i2c_addr = 0x78 - 2,//original 0x78, sub offset to avoid i2c conflicts
.sensor_output_reg_addr = &ov5640_reg_addr,
.sensor_id_info = &ov5640_id_info,
.sensor_exp_gain_info = &ov5640_exp_gain_info,
.cam_mode = MSM_SENSOR_MODE_INVALID,
.csic_params = &ov5640_csi_params_array[0],
.msm_sensor_mutex = &ov5640_mut,
.sensor_i2c_driver = &ov5640_i2c_driver,
.sensor_v4l2_subdev_info = ov5640_subdev_info,
.sensor_v4l2_subdev_info_size = ARRAY_SIZE(ov5640_subdev_info),
.sensor_v4l2_subdev_ops = &ov5640_subdev_ops,
.func_tbl = &ov5640_func_tbl,
.clk_rate = MSM_SENSOR_MCLK_24HZ,
};
ov5640v4l2:
static struct v4l2_subdev_core_ops