فهرست منبع

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 <[email protected]>
Karthik Anantha Ram 3 سال پیش
والد
کامیت
d3d9f214b6
1فایلهای تغییر یافته به همراه53 افزوده شده و 1 حذف شده
  1. 53 1
      include/uapi/camera/media/cam_sensor.h

+ 53 - 1
include/uapi/camera/media/cam_sensor.h

@@ -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