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:

committed by
Camera Software Integration

parent
f29c2857d0
commit
d3d9f214b6
@@ -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
|
||||||
|
Reference in New Issue
Block a user