|
@@ -135,6 +135,7 @@
|
|
|
#define CAM_ISP_GENERIC_BLOB_TYPE_SFE_EXP_ORDER_CFG 27
|
|
|
#define CAM_ISP_GENERIC_BLOB_TYPE_DRV_CONFIG 28
|
|
|
#define CAM_ISP_GENERIC_BLOB_TYPE_BW_CONFIG_V3 29
|
|
|
+#define CAM_ISP_GENERIC_BLOB_TYPE_NFI_MODE_SWITCH 30
|
|
|
|
|
|
#define CAM_ISP_VC_DT_CFG 4
|
|
|
|
|
@@ -184,6 +185,7 @@
|
|
|
#define CAM_ISP_SFE_SHDR_MODE_EN BIT(6)
|
|
|
#define CAM_ISP_AEB_MODE_EN BIT(7)
|
|
|
#define CAM_ISP_HDR_MODE_DYNAMIC_SWITCH_EN BIT(8)
|
|
|
+#define CAM_ISP_NFI_BASED_MODE_SWITCH_EN BIT(9)
|
|
|
|
|
|
/* ISP core cfg flag params */
|
|
|
#define CAM_ISP_PARAM_CORE_CFG_HDR_MUX_SEL BIT(0)
|
|
@@ -948,6 +950,33 @@ struct cam_isp_mode_switch_info{
|
|
|
__u32 reserved;
|
|
|
} __attribute__((packed));
|
|
|
|
|
|
+/**
|
|
|
+ * struct cam_isp_nfi_mode_switch_info - New Frame ID (NFI) Based Switching Scheme info
|
|
|
+ *
|
|
|
+ * @version : Version info
|
|
|
+ * @mode_id : Mode ID value for the next frame
|
|
|
+ * @modeid_vc : The VC with which the embedded packet with MODE ID comes with.
|
|
|
+ * @x_offset : X offset of MODE ID location in horizontal
|
|
|
+ * direction within single EBD line packet, unit is byte.
|
|
|
+ * @y_offset : Y offset of MODE ID location in vertical direction
|
|
|
+ * within EBD Lines, unit is line packet.
|
|
|
+ * @reg_length : Number of bytes for each MODE ID
|
|
|
+ * @num_valid_params : Number of valid params
|
|
|
+ * @param_mask : Mask to indicate fields in params
|
|
|
+ * @params : Additional Params
|
|
|
+ */
|
|
|
+struct cam_isp_nfi_mode_switch_info {
|
|
|
+ __u32 version;
|
|
|
+ __u32 mode_id;
|
|
|
+ __u32 modeid_vc;
|
|
|
+ __u32 x_offset;
|
|
|
+ __u32 y_offset;
|
|
|
+ __u32 reg_length;
|
|
|
+ __u32 num_valid_params;
|
|
|
+ __u32 param_mask;
|
|
|
+ __u32 params[4];
|
|
|
+} __attribute__((packed));
|
|
|
+
|
|
|
/**
|
|
|
* struct cam_isp_sfe_wm_exp_order_config - SFE write master
|
|
|
* exposure order config
|