diff --git a/include/uapi/camera/media/cam_sensor.h b/include/uapi/camera/media/cam_sensor.h index fe7bd64afa..df008d7dcd 100644 --- a/include/uapi/camera/media/cam_sensor.h +++ b/include/uapi/camera/media/cam_sensor.h @@ -20,6 +20,18 @@ #define SKEW_CAL_MASK BIT(1) #define PREAMBLE_PATTEN_CAL_MASK BIT(2) +/* CSIPHY driver cmd buffer meta types */ +#define CAM_CSIPHY_PACKET_META_LANE_INFO 0 +#define CAM_CSIPHY_PACKET_META_GENERIC_BLOB 1 + +/* CSIPHY blob types */ +#define CAM_CSIPHY_GENERIC_BLOB_TYPE_CDR_CONFIG 0 +#define CAM_CSIPHY_GENERIC_BLOB_TYPE_AUX_CONFIG 1 + +/* CSIPHY CDR tolerance operations */ +#define CAM_CSIPHY_CDR_ADD_TOLERANCE 1 +#define CAM_CSIPHY_CDR_SUB_TOLERANCE 2 + enum camera_sensor_cmd_type { CAMERA_SENSOR_CMD_TYPE_INVALID, CAMERA_SENSOR_CMD_TYPE_PROBE, @@ -532,10 +544,50 @@ struct cam_cmd_unconditional_wait { __u16 reserved1; } __attribute__((packed)); +/** + * cam_csiphy_cdr_sweep_params : Provides cdr blob structre + * + * @cdr_tolerance : CDR tolerance param + * @tolerance_op_type : Determines if the tolerance needs to be added/subtracted + * from default CDR value + * @configured_cdr : Configured CDR value for all the lanes for the + * selected data rate, default +/- tolerance, + * this is the output + * @num_valid_params : Number of valid params + * @valid_param_mask : Valid param mask + * @params : params + * + */ +struct cam_csiphy_cdr_sweep_params { + __u32 cdr_tolerance; + __u32 tolerance_op_type; + __u32 configured_cdr; + __u32 num_valid_params; + __u32 valid_param_mask; + __u32 params[3]; +}; + +/** + * cam_csiphy_aux_settings_params : Provides aux blob structre + * + * @data_rate_aux_mask : Auxiliary settings update for different data rates, + * this is the output + * @num_valid_params : Number of valid params + * @valid_param_mask : Valid param mask + * @params : params + * + */ +struct cam_csiphy_aux_settings_params { + __u64 data_rate_aux_mask; + __u32 num_valid_params; + __u32 valid_param_mask; + __u32 params[2]; +}; + /** * cam_csiphy_info : Provides cmdbuffer structre * @lane_assign : Lane sensor will be using - * @mipi_flags : Phy flags for differnt calibration operations + * @mipi_flags : Phy flags for different calibration operations * @lane_cnt : Total number of lanes * @secure_mode : Secure mode flag to enable / disable * @settle_time : Settling time in ms