msm: camera: uapi: Add UAPI for new CPHY cmd buffers

Add new cmd buffer types to support CDR sweep
and auxiliary settings update.

CRs-Fixed: 3186732
Change-Id: I46924d188521617d6b179cf6f89311d9f4179bf2
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
This commit is contained in:
Karthik Anantha Ram
2022-03-31 16:54:57 -07:00
committed by Camera Software Integration
parent f29c2857d0
commit d3d9f214b6

View File

@@ -20,6 +20,18 @@
#define SKEW_CAL_MASK BIT(1) #define SKEW_CAL_MASK BIT(1)
#define PREAMBLE_PATTEN_CAL_MASK BIT(2) #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 { enum camera_sensor_cmd_type {
CAMERA_SENSOR_CMD_TYPE_INVALID, CAMERA_SENSOR_CMD_TYPE_INVALID,
CAMERA_SENSOR_CMD_TYPE_PROBE, CAMERA_SENSOR_CMD_TYPE_PROBE,
@@ -532,10 +544,50 @@ struct cam_cmd_unconditional_wait {
__u16 reserved1; __u16 reserved1;
} __attribute__((packed)); } __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 * cam_csiphy_info : Provides cmdbuffer structre
* @lane_assign : Lane sensor will be using * @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 * @lane_cnt : Total number of lanes
* @secure_mode : Secure mode flag to enable / disable * @secure_mode : Secure mode flag to enable / disable
* @settle_time : Settling time in ms * @settle_time : Settling time in ms