camera: intel: ipu6: Update the header files of imaging control

Update the ia_xxx files in camera/hal/intel/ipu6

BUG=b:149068439, b:149068672
TEST=Full tested pass for camera functions

Cq-Depend: chromium:3361841
Cq-Depend: chrome-internal:4412794, chrome-internal:4390320
Cq-Depend: chrome-internal:4412703, chrome-internal:4378708
Change-Id: If6c30e4de6960c24be7bbf625f89d26c7f0fab8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/camera/+/3362925
Reviewed-by: Ren-Pei Zeng <kamesan@chromium.org>
Tested-by: Ren-Pei Zeng <kamesan@chromium.org>
Commit-Queue: Ren-Pei Zeng <kamesan@chromium.org>
diff --git a/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h b/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h
index 95c9598..dd5f445 100644
--- a/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h
+++ b/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h
@@ -259,6 +259,7 @@
 {
     ia_aiq_af_status status;                           /*!< Focus status */
     uint32_t next_lens_position;                       /*!< Next lens position */
+    int32_t next_focus_distance;                      /*!< Next focusing distance [mm] between the lens and object plane */
     uint16_t current_focus_distance;                   /*!< Current focusing distance [mm] between the lens and object plane */
     bool final_lens_position_reached;                  /*!< Lens has reached the final lens position */
 } cca_af_results;
diff --git a/hal/intel/ipu6/include/ia_imaging/ia_aiq.h b/hal/intel/ipu6/include/ia_imaging/ia_aiq.h
index 2ce8c9a..1409eda 100644
--- a/hal/intel/ipu6/include/ia_imaging/ia_aiq.h
+++ b/hal/intel/ipu6/include/ia_imaging/ia_aiq.h
@@ -339,6 +339,22 @@
               ia_aiq_af_results **af_results);
 
 /*!
+ * \brief calcualte the object focus distance based on the lens position.
+ *
+ * \param[in] ia_aiq_ptr            Mandatory.\n
+ *                                  AIQ instance handle.
+ * \param[in] lens_position         Mandatory.\n
+ *                                  vcm position.
+ * \param[out] focus_distance       Mandatory.\n
+ *                                  pointer to calculated object focus distance Results from AF calculations.
+ * \return                          Error code.
+ */
+LIBEXPORT ia_err
+ia_aiq_calculate_focus_distance(ia_aiq *ia_aiq_ptr,
+                                int32_t lens_position,
+                                int32_t *focus_distance);
+
+/*!
  *  \brief Input parameter structure for AWB algorithm.
  */
 typedef struct
diff --git a/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h b/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h
index 3d2fd7a..209eff9 100644
--- a/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h
+++ b/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h
@@ -304,6 +304,8 @@
     int iso;                                /*!< ISO value corresponding to the analog gain. -1 if N/A. */
     ia_aiq_gain gains[IA_CMC_GAINS_MAX_NUM];       /*!< Gain as multipliers (e.g. 1.0), -1.0f if N/A. */
     unsigned int num_gains;                 /*!< The number of gains. */
+    unsigned int low_limit_total_exposure;  /*!< Low limit of total exposure by tuning and sensor*/
+    unsigned int up_limit_total_exposure;   /*!< Up limit of total exposure by tuning and sensor*/
 } ia_aiq_exposure_parameters;
 
 /*!
@@ -695,7 +697,9 @@
     unsigned int gamma_lut_size;    /*!< Number of elements in each gamma LUT. */
     float* tone_map_lut;            /*!< Tone Mapping Gain LUT. Range [0.0 FLT_MAX] */
     unsigned int tone_map_lut_size; /*!< Number of elements in tone mapping LUT. */
-    float base_gamma;
+    float base_gamma;               /*!< gamma */
+    float btm;                      /*!< bottom range border */
+    float rng;                      /*!< dynamic range  */
 } ia_aiq_gbce_results;
 
 /*!