[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6

MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF  modem version: NA

Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/l1/ul1/external/hal_ul1_def.h b/mcu/interface/l1/ul1/external/hal_ul1_def.h
new file mode 100644
index 0000000..f1ae8d1
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/hal_ul1_def.h
@@ -0,0 +1,181 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * hal_ul1_def.h
+ *
+ * Project:
+ * --------
+ *   WCDMA_Software
+ *
+ * Description:
+ * ------------
+ *   This file contains common typedef, definition prototypes exported by L1 for MMI/Middleware
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+ 
+#ifndef _HAL_UL1_DEF_H
+#define _HAL_UL1_DEF_H
+
+#if defined (__UMTS_FDD_MODE__)
+#define UMTS_FDD_QUERY_UE_BAND_CAPABILITY(ADDR, INDEX) UL1D_UeCaBandCapability(ADDR, INDEX);
+#else
+#define UMTS_FDD_QUERY_UE_BAND_CAPABILITY(ADDR)
+#endif
+
+#define UL1D_EXIT()                                     //Null function
+
+#define RF_GET_CAL_DATA_ARRAY_BAND_IDX(BAND, NVRAM_INIT) UL1D_RF_CalDataGetBand(BAND, NVRAM_INIT)
+
+#if defined(__L1_GPS_AUTO_TIMING_SYNC_SUPPORT__) || defined(__L1_GPS_REF_TIME_SUPPORT__)
+/* __GPS_FRAME_SYNC_SUPPORT__ */
+/*-------------- A-GPS Related ----------------*/
+typedef enum _ul1_agps_frame_sync_app_E
+{
+   UL1_AGPS_APP_FINE_TIME_ASSISTANCE = 0,
+   UL1_AGPS_APP_EVENT7C_PERIODIC,
+   UL1_AGPS_APP_FRAME_TIME_AIDING,
+   UL1_AGPS_APP_END
+} ul1_agps_frame_sync_app_E;
+
+typedef enum _ul1_agps_frame_sync_fail_reason_E
+{
+   UL1_AGPS_FAIL_NO_FAILURE = 0,       /* No failure. */
+   UL1_AGPS_FAIL_3G_NOT_ACTIVE,        /* 3G is not active. */
+   UL1_AGPS_FAIL_NO_SERVING_CELL,      /* This fail reason means there is no serving cell. */
+   UL1_AGPS_FAIL_CELL_NOT_FOUND,       /* Only for Type1/2, the fail reason means the cell indicated from the request is not in current BA list.*/
+   UL1_AGPS_FAIL_TIMING_NOT_ACCURATE,  /* Timing result is not accurate due to some specific scenario. */
+   UL1_AGPS_FAIL_LCT_IN_OTHER_RAT,     /* The fail reason is set by UL1D to indicate that LCT is currently controlled by other RAT. */
+   UL1_AGPS_FAIL_END
+} ul1_agps_frame_sync_fail_reason_E;
+#endif
+
+/* ---------------------- L+W Gemini ----------------------*/
+typedef enum _UL1_EXT_SIM_INDEX_E
+{
+   UL1_EXT_SIM_1 = 0,
+#ifdef __GEMINI_WCDMA__
+   UL1_EXT_SIM_2,
+#if (GEMINI_PLUS_WCDMA >= 3)
+   UL1_EXT_SIM_3, 
+#if (GEMINI_PLUS_WCDMA >= 4)
+   UL1_EXT_SIM_4, 
+#endif  /* GEMINI_PLUS_WCDMA >= 4 */
+#endif  /* GEMINI_PLUS_WCDMA >= 3 */
+#endif  /* __GEMINI_WCDMA__ */
+   UL1_EXT_SIM_NUM
+} UL1_EXT_SIM_INDEX_E;
+
+#endif
diff --git a/mcu/interface/l1/ul1/external/hal_ul1_struct.h b/mcu/interface/l1/ul1/external/hal_ul1_struct.h
new file mode 100644
index 0000000..bfa9b52
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/hal_ul1_struct.h
@@ -0,0 +1,271 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+ 
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * hal_ul1_struct.h
+ *
+ * Project:
+ * --------
+ *   WCDMA_Software
+ *
+ * Description:
+ * ------------
+ *   Layer 1 and Protocol Stack message and callback function definition for MMI/Middleware
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef _HAL_UL1_STRUCT_H
+#define _HAL_UL1_STRUCT_H
+
+#include "hal_ul1_def.h"
+#include "kal_public_api.h"
+
+#if defined(__L1_GPS_AUTO_TIMING_SYNC_SUPPORT__) || defined(__L1_GPS_REF_TIME_SUPPORT__)
+/* __GPS_FRAME_SYNC_SUPPORT__ */
+/*****************************************************************************
+Request from GPS Task
+*****************************************************************************/
+typedef struct _ul1_gps_time_sync_req_struct
+{
+   LOCAL_PARA_HDR
+
+   ul1_agps_frame_sync_app_E     application_type; 
+   
+   kal_bool                      maintain_phase;     /* This flag is only useful when FRAME_TIME_AIDING_APP (Type3).
+                                                      FALSE: The type3 request is aiding phase, and must check if timing is not accurate. 
+                                                      TRUE: The type3 request is maintain phase, and do not check if timing is not accurate. */
+
+   /* When application_type is FRAME_TIME_AIDING_APP, uarfcn and psc are unused. */
+   kal_uint16                    uarfcn;  
+   kal_uint16                    psc;              /* Primary scrambling code */   
+} ul1_gps_time_sync_req_struct;
+
+/*****************************************************************************
+Confirm and indication to GPS Task
+*****************************************************************************/
+typedef struct _ul1_gps_time_sync_ind_struct
+{
+   LOCAL_PARA_HDR
+
+   ul1_agps_frame_sync_app_E           application_type; 
+   ul1_agps_frame_sync_fail_reason_E   fail_reason;
+
+   /* result_valid, sfn adn echip are useful only when 
+      application_type in CPHY_GPS_TIME_SYNC_REQ is not FRAME_TIME_AIDING_APP. */
+   kal_bool          result_valid;
+   kal_uint16        sfn;              /* sfn is valid only when result_valid is true. */
+   kal_uint32        echip;            /* echip is valid only when result_valid is true. */
+   
+   kal_bool          local_time_valid;
+   kal_uint64        local_time;       /* uint=1/104 us. 
+                                          local_time is valid only when local_time_valid is true. */
+} ul1_gps_time_sync_ind_struct;
+
+#endif
+
+/* ============================== Maintained by UL1D ==============================*/
+typedef enum
+{
+   FDD_HSDPA_OFF,
+   FDD_HSDPA_PHY_CAT1,
+   FDD_HSDPA_PHY_CAT2,
+   FDD_HSDPA_PHY_CAT3,
+   FDD_HSDPA_PHY_CAT4,
+   FDD_HSDPA_PHY_CAT5,
+   FDD_HSDPA_PHY_CAT6,
+   FDD_HSDPA_PHY_CAT7,
+   FDD_HSDPA_PHY_CAT8,
+   FDD_HSDPA_PHY_CAT9,
+   FDD_HSDPA_PHY_CAT10,
+   FDD_HSDPA_PHY_CAT11,
+   FDD_HSDPA_PHY_CAT12,
+#if defined(__UMTS_R8__)
+   FDD_HSDPA_PHY_CAT13,   
+   FDD_HSDPA_PHY_CAT14,   
+   FDD_HSDPA_PHY_CAT15,
+   FDD_HSDPA_PHY_CAT16,
+   FDD_HSDPA_PHY_CAT17,
+   FDD_HSDPA_PHY_CAT18,   
+   FDD_HSDPA_PHY_CAT19,
+   FDD_HSDPA_PHY_CAT20,
+   FDD_HSDPA_PHY_CAT21,
+   FDD_HSDPA_PHY_CAT22,
+   FDD_HSDPA_PHY_CAT23,   
+   FDD_HSDPA_PHY_CAT24,
+   FDD_HSDPA_PHY_CAT25,
+   FDD_HSDPA_PHY_CAT26,
+   FDD_HSDPA_PHY_CAT27,
+   FDD_HSDPA_PHY_CAT28,
+   FDD_HSDPA_PHY_CAT29
+#endif    
+} FDD_HSDPA_CATEGORY_E;
+
+typedef enum
+{
+   FDD_HSUPA_OFF,
+   FDD_HSUPA_PHY_CAT1,
+   FDD_HSUPA_PHY_CAT2,
+   FDD_HSUPA_PHY_CAT3,
+   FDD_HSUPA_PHY_CAT4,
+   FDD_HSUPA_PHY_CAT5,
+   FDD_HSUPA_PHY_CAT6,
+   FDD_HSUPA_PHY_CAT7,
+   FDD_HSUPA_PHY_CAT8,
+   FDD_HSUPA_PHY_CAT9
+} FDD_HSUPA_CATEGORY_E;
+
+/* =================================================
+API for querying the supported Cat. of target chip
+
+hsdpa_cat: HSDPA PHY supported Cat.
+hsupa_cat: HSUPA PHY supported Cat.
+
+Return: Indicate whether the obtained HSDPA/HSUPA
+        category is valid or not
+===================================================*/
+extern kal_bool UL1D_Get_FDD_HSPA_Phy_Category( UL1_EXT_SIM_INDEX_E sim_idx,
+                                                FDD_HSDPA_CATEGORY_E *hsdpa_cat,
+                                                FDD_HSUPA_CATEGORY_E *hsupa_cat);
+extern kal_bool UL1D_Get_FDD_HSPA_Phy_Category_Extension(UL1_EXT_SIM_INDEX_E sim_idx,
+                                                         FDD_HSDPA_CATEGORY_E *hsdpa_cat,
+                                                         FDD_HSUPA_CATEGORY_E *hsupa_cat );
+extern kal_bool UL1D_Get_FDD_HSPA_Phy_Category_Extension_2( FDD_HSDPA_CATEGORY_E *hsdpa_cat,
+                                         FDD_HSUPA_CATEGORY_E *hsupa_cat );
+extern kal_bool UL1_IS_3G_FDD_EXIST(void);
+extern kal_bool UL1_IS_3G_FDD_EXIST_PCORE(void);
+
+/* ============================== Maintained by UL1D ==============================*/
+
+/* =================================================
+API for 3G USB LOGGING for HAL Rules
+===================================================*/
+/* ============================== Maintained by UL1D ==============================*/
+
+#endif   /*_HAL_UL1_STRUCT_H*/
+
+/* ---------------------- Neighbor user detection ----------------------*/
+#if defined(__MTK_TARGET__)
+void ul1d_neighbor_user_detection_update_pcore(kal_bool result, kal_uint8 sim_idx);
+#endif
+
diff --git a/mcu/interface/l1/ul1/external/ul1cal.h b/mcu/interface/l1/ul1/external/ul1cal.h
new file mode 100644
index 0000000..b126703
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1cal.h
@@ -0,0 +1,686 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ *   ul1cal.h
+ *
+ * Project:
+ * --------
+ *   Maui_Software
+ *
+ * Description:
+ * ------------
+ *   The structure definition of UL1 calibration data
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------ 
+ * removed!
+ * removed!
+ * removed!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+#ifndef UL1CAL_H
+#define UL1CAL_H
+
+/*===============================================================================*/
+
+#include "kal_general_types.h"
+#include "ul1d_rf_public.h"
+#include "dcl.h"        //SmartPhone Project's CommonModemImage need this
+#include "ul1d_rf_cid.h"
+#include "ul1d_rf_cal_poc_data.h"
+#include "ul1d_mipi_public.h"
+/*===============================================================================*/
+
+/* ------------------------------------------------------------------------- */
+typedef struct
+{
+   kal_uint16 tempdacData[8];
+}ul1cal_tempdacData_T; 
+
+typedef struct
+{
+   U_sTEMPAGCOFFSET  pathlossData; 
+}ul1cal_pathlossData_T;
+
+typedef struct
+{
+   U_sRAMPDATA txdacData; 
+}ul1cal_txdacData_T;
+
+/* PA 8-level control (MT6276, MT6573) */
+typedef struct
+{
+   U_sPAOCTLVLSETTING txPaOctLevData; 
+}ul1cal_txPaOctLevData_T;
+
+typedef struct
+{
+   U_sPARACHTMCOMPDATA txPrachTmCompData;
+}ul1cal_txPrachTmCompData_T;
+
+typedef struct
+{
+   U_sAFCDACDATA afcDacData;
+}ul1cal_afcDacData_T;
+
+typedef struct
+{
+   U_sAFCCAPDATA afcCapData;
+}ul1cal_afcCapData_T;
+
+#if defined (__UL1_HS_PLATFORM__) || defined (__UL1_HS_PLUS_PLATFORM__) 
+
+typedef struct
+{
+   U_sUl1dRfCustomInputData umtsRfCustomInput;
+}ul1cal_umtsRfCustomInput_T;
+
+#endif
+
+typedef struct
+{
+   U_sTEMPAGCOFFSET  pathlossData; 
+}ul1cal_pathlossRxdData_T;
+
+typedef struct
+{
+   U_sPADRIFTSETTING txPaDriftCompData; 
+}ul1cal_txPaDriftCompData_T;
+
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+typedef struct
+{
+   U_sSARBackoffDATA sarBackoffData;
+}ul1cal_SARBackoffData_T;
+
+typedef struct
+{
+   const U_sSARBackoffDATA* const* sarBackoffData_p;
+}Ul1CustomDynamicSARBackoffData;
+
+#endif
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT 
+typedef struct
+{
+   U_sTXPOWEROFFSETDATA txPowerOffsetData;
+}ul1cal_txPowerOffsetData_T;
+
+typedef struct
+{
+   const U_sTXPOWEROFFSETDATA* const* TpoData_p;
+}Ul1CustomDynamicTpoData;
+
+#endif
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+typedef struct
+{
+   const U_sTXNSFTPOWEROFFSETDATA* const* nsftTpoData_p;
+}Ul1CustomDynamicNsftTpoData;
+#endif
+
+#if (IS_3G_RX_POWER_OFFSET_SUPPORT )
+typedef struct
+{
+   U_sUl1dMetaRxPowerOffsetSetting RpoSetting;
+   const U_sRXPOWEROFFSETDATA* const* RpoData_p;
+}Ul1CustomDynamicRpoData;
+#endif
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+typedef struct
+{
+   const UMTS_VPA_SOURCE_TYPE* const* vpaSrcSelTable_p;
+}Ul1CustomDynamicVpaSrcSelData;
+#endif/*IS_3G_VPA_SEL_BY_BAND_SUPPORT*/
+
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+/*****************************************************************************
+* Constant    : UL1CUSTOM_MAX_RF_BPI_EVENT_NUM
+* Group       : Real target, Internal, UL1D common operation
+* Description : Constant to be used for record the maximum 3G BPI event
+*               support numbers currently in use
+*****************************************************************************/
+#define UL1CUSTOM_MAX_RF_BPI_EVENT_NUM  (15)          //MT6280 Changes to 15
+
+/*****************************************************************************
+* Constant    : UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM
+* Group       : Real target, Internal, UL1D common operation
+* Description : Constant to be used for record the maximum 3G RF band
+*               support numbers currently in use
+*****************************************************************************/
+#define UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM  (MAX_SUPPORTED_BAND_INDEX)          //MT6280 Changes to 5
+
+/*****************************************************************************
+* Constant    : UL1CUSTOM_NULL_ACTION
+*               UL1CUSTOM_GPIO_DETECTION_ID
+*               UL1CUSTOM_ADC_DETECTION_ID
+*               UL1CUSTOM_NVRAM_BARCODE_DETECTION_ID
+* Group       : Real target, Internals, UL1D common operation
+* Description : Constant to be used to define the value to be used in
+*               enumeration Ul1CustomActionId
+*****************************************************************************/
+#define UL1CUSTOM_NULL_ACTION                (0)
+#define UL1CUSTOM_GPIO_DETECTION_ID          (1)
+#define UL1CUSTOM_ADC_DETECTION_ID           (2)
+#define UL1CUSTOM_NVRAM_BARCODE_DETECTION_ID (3)
+
+/*****************************************************************************
+* Typedef     : Ul1CustomFunction
+* Group       : Real target, Internals, UL1D common operation
+* Type        : Function pointer
+* Description : Internal typedef used by UL1 Custom action function prototype
+*****************************************************************************/
+typedef void (*Ul1CustomFunction)(void *usrDataPtr);
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitLnaPortTxPath
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               for LNA port and Tx path setting
+*****************************************************************************/
+typedef struct
+{
+   /* User input to notify the band of the data to be modified */
+   kal_uint32 bandToModify;
+
+   /* LNA port selection */
+   kal_uint8  lnaPortNum;
+
+   /* TX output path selection */
+   kal_uint8  txOutputSel; 
+
+   /* RXD LNA port selection */
+   kal_uint8  lnaPortNum2;
+} Ul1CustomDynamicInitLnaPortTxPath;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsBpiData
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G BPI data
+*****************************************************************************/
+typedef struct
+{
+   /* User input to notify the band of the data to be modified */
+   kal_uint32 bandToModify;
+
+   /* ASM logics */
+   kal_uint16 asmLogics[UL1CUSTOM_MAX_RF_BPI_EVENT_NUM];
+
+   /* PA enable control bits */
+//   kal_uint8 paEnables[UL1CUSTOM_MAX_RF_BPI_EVENT_NUM];
+
+} Ul1CustomDynamicInitUmtsBpiData;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsTxRampData
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G Tx Ramp data
+*****************************************************************************/
+typedef struct
+{
+   /* 3G TX Ramp data array */
+   U_sRAMPDATA *TxRampData[UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM];
+
+} Ul1CustomDynamicInitUmtsTxRampData;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsTxPaOctLvlData
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G Tx PA oct-level data
+*****************************************************************************/
+typedef struct
+{
+   /* 3G TX Ramp data array */
+   U_sPAOCTLVLSETTING *TxPaOctLvl[UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM];
+
+} Ul1CustomDynamicInitUmtsTxPaOctLvlData;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsRxPathLossData
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G Rx path loss data
+*****************************************************************************/
+
+typedef struct
+{
+   /* 3G TX Ramp data array */
+   U_sTEMPAGCOFFSET **RxPathLoss_p;
+
+} Ul1CustomDynamicInitUmtsRxPathLossData;
+
+typedef struct
+{
+   /* 3G RX path loss */
+   const U_sTEMPAGCOFFSET*    const*   RxPathLoss_p;
+   const U_sTEMPAGCOFFSET*    const*   RxDPathLoss_p;
+   const U_sPAOCTLVLSETTING*  const*   PaOctLev_p;
+   const U_sPARACHTMCOMPDATA* const*   PaRachComp_p;
+   const U_sPADRIFTSETTING*   const*   PaDrift_p;
+   const U_sRAMPDATA*         const*   RampData_p;
+   const kal_uint16          *TempDac_p;
+   const U_sAFCCAPDATA       *AfcCap_p;
+   const U_sAFCDACDATA       *AfcDac_p;
+} Ul1CustomDynamicInitUmtsCalData;
+
+typedef struct
+{
+   const UMTS_FE_ROUTE_TABLE_T *FeSetting;
+   
+} Ul1CustomDynamicInitUmtsFeSettingData;
+
+typedef struct
+{
+   const U_sDPD_COMMON_CTRL                 **DpdCtrlData_p;
+   const U_UL1D_PCFE_DPD_OTFC_CUSTOM_PARA_T *DpdPcfeCustomData_p;
+#if IS_3G_MIPI_SUPPORT   
+   const UL1_UMTS_MIPI_TPC_T                **DpdTpcTable_p;
+#endif
+         DPD_ENABLE_E                       dpd_enable;                           
+} Ul1CustomDynamicInitUmtsDpdfactoryData;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsTxPrachTmCompData
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G Tx PRACH TM comp. data
+*****************************************************************************/
+typedef struct
+{
+   /* 3G TX PRACH TM comp data array */
+   U_sPARACHTMCOMPDATA *TxPrachTmComp[UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM];
+
+} Ul1CustomDynamicInitUmtsTxPrachTmCompData;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsTempDac
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G temperature DAC data
+*****************************************************************************/
+typedef struct
+{
+   /* 3G Temperature DAC */
+   kal_uint16 *UTempDac;
+
+} Ul1CustomDynamicInitUmtsTempDac;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsAfcDac
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G temperature DAC data
+*****************************************************************************/
+typedef struct
+{
+   /* 3G AFC DAC */
+   U_sAFCDACDATA *UAfcDac;
+
+} Ul1CustomDynamicInitUmtsAfcDac;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitUmtsAfcCap
+* Group       : Real target, Internals, UL1D common operation
+* Type        : structure
+* Description : Internal typedef used by UL1 Custom dynamic initialization data
+*               3G temperature DAC data
+*****************************************************************************/
+typedef struct
+{
+   /* 3G AFC CAP */
+   U_sAFCCAPDATA *UAfcCap;
+
+} Ul1CustomDynamicInitUmtsAfcCap;
+
+#if (IS_3G_MIPI_SUPPORT)
+typedef struct
+{
+   MIPI_Setting                   mipiSetting;
+   const UL1_MIPI_EVENT_TABLE_T*         const* rxEventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const* rxDataTable_p;
+   const UL1_MIPI_EVENT_TABLE_T*         const* txEventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const* txDataTable_p;
+   const UL1_UMTS_MIPI_TPC_T*            const* tpcTable_p;
+   const UL1_MIPI_DATA_TABLE_T*          const* asmIsoTable_p;
+}Ul1CustomDynamicInitMipiData;
+
+typedef struct
+{
+   const UL1_MIPI_SIMPLE_EVENT_TABLE_T*        const* txEventTable_p;
+   const UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T* const* txDataTable_p;
+   const UL1_MIPI_SIMPLE_EVENT_TABLE_T*        const* tpcEventTable_p;
+   const UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T* const* tpcDataTable_p;   
+} Ul1CustomDynamicInitMipiEtmData;
+
+#endif
+
+#if (IS_3G_DAT_UL1_CUSTOM_SUPPORT)
+
+#if !IS_3G_GEN97_DAT_SUPPORT
+typedef struct
+{
+   const UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T  *dat_fe_route;
+}Ul1CustomDynamicDatRoute;
+#endif
+
+typedef struct
+{
+   UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T  dat_feature_byRat;
+}Ul1CustomDynamicDatFeatureByRat;
+
+#if !IS_3G_UDAT_SUPPORT
+typedef struct
+{
+   const UMTS_CUSTOM_DAT_FE_CAT_A_T   *dat_cat_a_fe_db;
+   const UMTS_CUSTOM_DAT_FE_CAT_B_T   *dat_cat_b_fe_db;
+}Ul1CustomDynamicDatDb;
+
+#if (IS_3G_MIPI_SUPPORT)
+typedef struct
+{
+   const UL1_MIPI_EVENT_TABLE_T*        const* catA_eventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T* const* catA_dataTable_p;
+   const UL1_MIPI_EVENT_TABLE_T*        const* catB_eventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T* const* catB_dataTable_p;
+}Ul1CustomDynamicDatMipiData;
+#endif
+#endif /*!IS_3G_UDAT_SUPPORT*/
+#endif
+
+#if (IS_3G_TAS_UL1_CUSTOM_SUPPORT)
+
+#if IS_3G_GEN97_TAS_SUPPORT
+typedef struct
+{
+   const UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T  *tas_fe_route;
+}Ul1CustomDynamicTasRoute;
+#else
+typedef struct
+{
+   const UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T  *tas_fe_route;
+}Ul1CustomDynamicTasRoute;
+#endif
+
+typedef struct
+{
+   const UMTS_CUSTOM_TAS_FE_CAT_A_T   *tas_cat_a_fe_db;
+   const UMTS_CUSTOM_TAS_FE_CAT_B_T   *tas_cat_b_fe_db;
+   const UMTS_CUSTOM_TAS_FE_CAT_C_T   *tas_cat_c_fe_db;
+}Ul1CustomDynamicTasDb;
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T  tas_feature_byRat;
+}Ul1CustomDynamicTasFeatureByRat;
+
+#if (IS_3G_MIPI_SUPPORT)
+typedef struct
+{
+   const UL1_MIPI_EVENT_TABLE_T*         const* catA_eventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const* catA_dataTable_p;
+   const UL1_MIPI_EVENT_TABLE_T*         const* catB_eventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const* catB_dataTable_p;
+   const UL1_MIPI_EVENT_TABLE_T*         const* catC_eventTable_p;
+   const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const* catC_dataTable_p;
+}Ul1CustomDynamicTasMipiData;
+#endif
+
+#if IS_3G_TAS_TST_SUPPORT
+typedef struct
+{
+   const UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T  *tas_tst_fe_route;
+}Ul1CustomDynamicTasTstRoute;
+#endif
+#endif
+
+#if IS_3G_TAS_INHERIT_4G_ANT
+typedef struct
+{
+   const UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_T* const* inheritLteAntTable_p;
+}Ul1CustomDynamicTasInheritLteAnt;
+#endif
+
+#if IS_3G_REMOVE_MIPI 
+typedef struct
+{  
+   kal_bool                  xPMU_PA_CONTROL;
+   kal_bool                  umtsRxDAlwaysOn;
+   kal_bool                  ultra_low_cost_solution;
+   kal_uint32                umtsPADriftCompensation;
+   kal_uint8                 PA_section;
+   kal_bool                  band5_and_band6_indicator;
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT 
+   kal_bool					band5_and_band19_indicator;
+   kal_bool					disable_band5_indicator;
+#endif   
+   U_sUl1dRfBsiBpiTiming     RfBpiTiming;
+   U_sUl1dRfPaControlTiming  RfPaControlTiming;
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   U_sUl1dMprBackOff         umtsMprBackOff;
+#endif
+#if IS_3G_MIPI_SUPPORT
+   U_sUl1dRfMipiSetting      umtsRfMipiSetting;
+#endif
+   
+}Ul1CustomDynamicRfParameter;
+#else
+typedef struct
+{  
+   kal_bool                  xPMU_PA_CONTROL;
+   kal_bool                  umtsRxDAlwaysOn;
+   kal_bool                  ultra_low_cost_solution;
+   kal_uint32                umtsPADriftCompensation;
+   kal_uint8                 PA_section;
+   kal_bool                  band5_and_band6_indicator;
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT 
+   kal_bool					band5_and_band19_indicator;
+   kal_bool					disable_band5_indicator;
+#endif   
+   U_sUl1dRfBsiBpiTiming     RfBpiTiming;
+   U_sUl1dRfPaControlTiming  RfPaControlTiming;
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   U_sUl1dMprBackOff         umtsMprBackOff;
+#endif
+#if IS_3G_MIPI_SUPPORT
+   //U_sUl1dRfMipiSetting      umtsRfMipiSetting;
+#endif
+   
+}Ul1CustomDynamicRfParameter;
+#endif
+
+#if IS_3G_ELNA_IDX_SUPPORT
+typedef struct
+{
+   UMTS_CUSTOM_ELNA_IDX_T    umtsRxElnaIdxSetting;
+}Ul1CustomDynamicElnaIdxData;
+#endif
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+typedef struct
+{
+   const hs_dsch_rfeq_info_band_T*   const* rfeqCoef_p;
+}Ul1CustomDynamicRfeqCoefData;
+#endif
+
+#if IS_3G_RFEQ_REAL_COEF_TEST
+typedef struct
+{
+   const URXDFE_REAL_RFEQ_CUSTOM_BAND_T*  const* realRfeqCoef_p;
+}Ul1CustomDynamicRealRfeqCoefData;
+#endif
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+typedef struct
+{
+   UMTS_RF_INTERFERENCE_FREQUENCY_T    umtsRfInterferenceFreq;
+}Ul1CustomDynamicInterferenceFrequencyTable;
+#endif
+
+/*****************************************************************************
+* Typedef     : Ul1CustomActionId
+* Group       : Real target, Internals, UL1D common operation
+* Type        : Enumeration
+* Description : Internal typedef used by UL1 Custom action ID constant value
+*****************************************************************************/
+typedef enum
+{
+   UL1CUSTOM_NULL_ACTION_ID = UL1CUSTOM_NULL_ACTION,
+   UL1CUSTOM_BASE_PROC_ACTION_ID = UL1CUSTOM_NULL_ACTION_ID,
+   UL1CUSTOM_GPIO_DETECTION = UL1CUSTOM_GPIO_DETECTION_ID,
+   UL1CUSTOM_ADC_DETECTION = UL1CUSTOM_ADC_DETECTION_ID,
+   UL1CUSTOM_NVRAM_BARCODE_DETECTION = UL1CUSTOM_NVRAM_BARCODE_DETECTION_ID,
+   UL1CUSTOM_MAX_PROC_ACTIONS
+
+} Ul1CustomActionId;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitResultRFParams
+* Group       : Real target, Internals, UL1D common operation
+* Type        : Enumeration
+* Description : Internal typedef used by UL1 Custom Dynamic init debug
+*****************************************************************************/
+typedef struct
+{
+   /* BPI data allocation */
+   U_sUl1dRfBpiData umtsPdata;
+
+   /* RF Hign-band and Low-band indicator */
+   U_sUl1dRfBandIndicator umtsBandIndicator;
+
+   /* RX LNA port selection */
+   U_sUl1dRfRxLnaPortSel umtsRxLnaPortSel;
+
+   /* TX output path selection */
+   U_sUl1dRfTxPathSel umtsTxPathSel;
+
+   /* RXd Path Setting (Main/Diversity on off Switch) */
+   U_sUl1dRxdPathSetting   umtsRxdPathSetting;
+
+   /* PA Drift Compensation (On/Off Switch Mask) */
+   kal_uint32 umtsPADriftCompensation;
+} Ul1CustomDynamicInitResultRFParams;
+
+/*****************************************************************************
+* Typedef     : Ul1CustomDynamicInitDebug
+* Group       : Real target, Internals, UL1D common operation
+* Type        : Enumeration
+* Description : Internal typedef used by UL1 Custom Dynamic init debug
+*****************************************************************************/
+typedef struct
+{
+   kal_uint16 combined_config_index;
+   kal_uint8  first_config_index_base;
+   kal_uint8  second_config_index_base;
+   kal_uint8  third_config_index_base;
+   kal_int32  gpio_get_pin_rpc_status;
+   kal_uint32 gpio_return_pin_num[3];
+   kal_uint32 gpio_pin_value[3];
+   kal_uint32 gpio_combined_pin_value;
+   kal_int32  adc_get_ch_num_rpc_status;
+   DCL_STATUS adc_dcl_handle_status;
+   DCL_STATUS adc_cal_dcl_handle_status;
+   kal_uint32 adc_get_ch_num;
+   kal_uint32 adc_dac_read_result;
+   kal_uint32 adc_volt_translate_result;
+   kal_uint8  adc_volt_level;
+   kal_bool   barcode_lid_read_status;
+   kal_uint8  barcode_digit_read_result;
+   kal_bool   umts_tempdac_lid_write_status;
+   kal_bool   umts_txrampdata_lid_write_status;
+   kal_bool   umts_txpaoctlvl_lid_write_status;
+   kal_bool   umts_rxpathloss_lid_write_status;   
+   kal_bool   umts_txprachtmcomp_lid_write_status;
+   kal_bool   umts_rf_params_lid_write_status;
+   Ul1CustomDynamicInitResultRFParams custom_dynamic_init_result_params;   
+
+} Ul1CustomDynamicInitDebug;
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+
+/*****************************************************************************
+*  Description : POC calibration global
+*****************************************************************************/
+/************************************************************************************
+*  Global Functions Prototype (Interface)
+************************************************************************************/
+/* Function Prototypes can be used by other files */
+void UL1D_RFC_SHARE_CW_INIT(void);
+
+/************************************************************************************
+*  Global Variables extern (Interface)
+************************************************************************************/
+#if 0/* No more used */
+/* under construction !*/
+#endif
+
+#ifdef __MTK_TARGET__
+#if IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT
+extern const Ul1CustomDynamicSARBackoffData ul1CustomSarBackoffDataCondi[TPO_3G_TABLE_TYPE_NUM];
+extern kal_uint32 TPO_3G_TOTAL_TYPE_NUM;
+#endif
+#endif//__MTK_TARGET__
+
+extern void UL1D_RF_DynamicCustomTable_Update(const Ul1CustomDynamicInitUmtsFeSettingData *RfFeRoute_array_ptr);
+extern void UL1D_RF_DynamicSetRfParameter(U_sUl1dRfCustomInputData *dst, const Ul1CustomDynamicRfParameter *RfTiming_ptr );
+   #if(IS_3G_RX_POWER_OFFSET_SUPPORT)
+extern void UL1D_RF_DynamicRxPowerOffset_Update(U_sUl1dRfCustomInputData *dst, const Ul1CustomDynamicRpoData *source);	
+	#endif
+
+#endif 	
diff --git a/mcu/interface/l1/ul1/external/ul1d_gpt_if.h b/mcu/interface/l1/ul1/external/ul1d_gpt_if.h
new file mode 100644
index 0000000..4978d3c
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_gpt_if.h
@@ -0,0 +1,9 @@
+#if (defined __MD93__)
+#include "ul1d_gpt_if_gen93.h"
+#elif (defined __MD95__)
+#include "ul1d_gpt_if_gen95.h"
+#elif (defined __MD97__) || (defined __MD97P__)
+#include "ul1d_gpt_if_gen97.h"
+#else
+#error "[ERROR] Invalid MD generation"
+#endif
diff --git a/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen93.h b/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen93.h
new file mode 100644
index 0000000..e190f16
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen93.h
@@ -0,0 +1,337 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2012
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * File name:
+ * ---------
+ *   ul1d_gpt_if.h
+ *
+ * Project:
+ * --------
+ *   UMOLY
+ *
+ * Description:
+ * ------------
+ *  WCDMA test mode specific definitions for synchronizing with HOST tool
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ * ==========================================================================
+ * $Log$
+ *
+ * 04 23 2018 alan.wong
+ * [MOLY00320644] [UL1D][RF] RFEQ Subband Setting and RXDFE IQ Dump by META Auto Tool
+ * . RF part 2.
+ *
+ * 02 08 2018 alan.wong
+ * [MOLY00304150] WCDMA ?ºÝBER???¥ÎMETA_3Grf_NSFT_Reset_BER_Result_r¥¢?
+ * -fix NSFT reset BER flow sync from R2 5055617
+ *
+ * 02 23 2017 alan.wong
+ * [MOLY00231464] [Bianco Bring-up][WCDMA][UL1TST] Add GP tool command
+ * .
+ *
+ * 05 30 2016 yu-hsuan.sung
+ * [MOLY00180557] [ELBRUS] add capability for META update parameter
+ *
+ ****************************************************************************/
+
+#ifndef __UL1D_GPT_IF_H__
+#define __UL1D_GPT_IF_H__
+
+/*******************************************************************************
+ * Include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "ft_msg_ul1rf.h"
+
+#define GPTOOL_EN_BSI_CW_NUMBER 64
+/*******************************************************************************
+ * Enumeration
+ ******************************************************************************/
+typedef enum
+{
+   u_test_command       = URF_TEST_CMD_GP_TOOL_COMMAND_START,
+   //u_set_get_bsi,
+   /* --------------- please add new command posterior to this line --------------- */
+   //93new
+   u_get_rxtx_cal_data  = URF_TEST_CMD_GET_RXTX_CALIBRATION_DATA_V3,
+   u_set_rxtx_cal_data  = URF_TEST_CMD_SET_RXTX_CALIBRATION_DATA_V3,
+   u_get_calinfo_v3      =URF_TEST_CMD_GET_CALIBRATION_INFO_V3,
+   u_start_fhc_v3        =URF_TEST_CMD_START_FHC_V3,
+   u_get_fhc_result_v3   =URF_TEST_CMD_GET_FHC_RESULT_V3,
+   u_get_rssi_v3         =URF_TEST_CMD_GET_RSSI_V3,
+   u_gain_select_pwr_v3  =URF_TEST_CMD_GAIN_SELECT_PWR_V3,
+   u_gain_select_lna_v3  =URF_TEST_CMD_GAIN_SELECT_LNA_V3,
+   u_trigger_iq_dump_mode_v3    =URF_TEST_CMD_TRIGGER_IQ_DUMP_MODE_V3,
+   u_get_iq_dump_result_v3      =URF_TEST_CMD_GET_IQ_DUMP_RESULT_V3,
+   u_set_rfeq_subband_result_v3 =URF_TEST_CMD_SET_RFEQ_SUBBAND_RESULT_V3,
+   u_hsdpa_r5_tx         =URF_TEST_CMD_START_HSDPA_NSFT,
+   u_hsupa_r6_tx         =URF_TEST_CMD_START_HSUPA_NSFT,
+   u_stop                =URF_TEST_CMD_STOP,
+   u_nsft_ex             =URF_TEST_CMD_START_NSFT_EX,
+   u_nsft_get_rssi       =URF_TEST_CMD_NSFT_GET_RSSI,
+   u_nsft_reset_ber      =URF_TEST_CMD_NSFT_RESET_BER_RESULT,
+   u_get_single_end_ber  =URF_TEST_CMD_GET_BIT_COUNT_FOR_SINGLE_ENDED_BER,
+}ft_urf_test_req_id_cmd_enum_type;
+
+
+/*******************************************************************************
+ * Legacy LTE RF Tool Commands
+ ******************************************************************************/
+
+
+
+/* --------------- please add new command structure posterior to this line --------------- */
+
+/*******************************************************************************
+ * GP RF Tool Commands
+ ******************************************************************************/
+
+/* -------------- *\
+|* U_TEST_COMMAND *|
+\* -------------- */
+typedef struct
+{
+   kal_uint16 req_param1;
+   kal_uint16 req_param2;
+   kal_uint16 req_param3;
+} u_test_command_req_param_struct;
+
+typedef struct
+{
+   kal_uint16 req_pdu1;
+   kal_uint16 req_pdu2;
+   kal_uint16 req_pdu3;
+} u_test_command_req_pdu_struct;
+
+typedef struct
+{
+   kal_uint16 cnf_param1;
+   kal_uint16 cnf_param2;
+   kal_uint16 cnf_param3;
+} u_test_command_cnf_param_struct;
+
+typedef struct
+{
+   kal_uint16 req_pdu1;
+   kal_uint16 req_pdu2;
+   kal_uint16 req_pdu3;
+} u_test_command_cnf_pdu_struct;
+
+/* -------------- *\
+|* U_SET_GET_BSI  *|
+\* -------------- */
+typedef enum
+{
+   U_SET_GET_BSI_WRITE = 0,
+   U_SET_GET_BSI_READ = 1
+} U_SET_GET_BSI_E;
+
+typedef enum
+{
+   U_SET_GET_BSI_DISABLE = 0,
+   U_SET_GET_BSI_ENABLE = 1
+} U_SET_GET_BSI_ENABLE_E;
+
+typedef enum
+{  /* following number are according to HWPOR port select */
+   UL1TST_RF_RFIC1   = 0x0000,
+   UL1TST_RF_RFIC2   = 0x0001,
+   UL1TST_RF_PMIC    = 0x0002,
+   UL1TST_RF_MIPI0   = 0x0003,
+   UL1TST_RF_MIPI1   = 0x0004,
+   UL1TST_RF_MIPI2   = 0x0005,
+   UL1TST_RF_MIPI3   = 0x0006,
+   UL1TST_RF_MIPI4   = 0x0007,
+   UL1TST_RF_PORT_CNT,
+}UL1TST_RF_BSIMM_PORT_T;
+
+
+typedef struct
+{
+   U_SET_GET_BSI_ENABLE_E gpt_bsi_enable;
+   U_SET_GET_BSI_E w_r;
+   UL1TST_RF_BSIMM_PORT_T sel_rfic;
+   kal_uint32 cw_address;
+   kal_uint32 cw_data;
+   kal_uint32 delay_us;
+} BSI_INFORMATION;
+
+typedef struct
+{
+   kal_uint32  void_param;
+} u_set_get_bsi_req_param_struct;
+
+typedef struct
+{
+   BSI_INFORMATION BSI[GPTOOL_EN_BSI_CW_NUMBER];
+} u_set_get_bsi_req_pdu_struct;
+
+typedef struct
+{
+   kal_uint32  void_param;
+} u_set_get_bsi_cnf_param_struct;
+
+typedef struct
+{
+   BSI_INFORMATION BSI[GPTOOL_EN_BSI_CW_NUMBER];
+} u_set_get_bsi_cnf_pdu_struct;
+
+
+/*93 get set*/
+typedef URfTestCmd_GetRxTxCalData_ReqParam_V3 u_get_rxtx_cal_data_req_param_struct;
+typedef URfTestCmd_GetRxTxCalData_CnfParam_V3 u_get_rxtx_cal_data_cnf_param_struct;
+
+typedef struct //fix structure
+{
+   UTSTPathlossV3 RXM_peer_buf[5];
+   UTSTPathlossV3 RXD_peer_buf[5];
+   URfTestTXDaTaItem TX_peer_buf[5];
+}u_get_rxtx_cal_data_cnf_pdu_struct;
+
+typedef URfTestCmd_SetRxTxCalData_ReqParam_V3 u_set_rxtx_cal_data_req_param_struct;
+typedef URfTestCmd_SetRxTxCalData_CnfParam_V3 u_set_rxtx_cal_data_cnf_param_struct;
+
+typedef struct //fix structure
+{
+   UTSTPathlossV3 RXM_peer_buf[5];
+   UTSTPathlossV3 RXD_peer_buf[5];
+   URfTestTXDaTaItem TX_peer_buf[5];
+}u_set_rxtx_cal_data_req_pdu_struct;
+
+//get_calinfo_v3
+typedef UTSTReqGetCalInfoV3lp u_get_calinfo_v3_req_param_struct;
+typedef UTSTCnfGetCalInfoV3lp u_get_calinfo_v3_cnf_param_struct;
+typedef struct
+{
+   UTSTCnfGetCalInfoV3pb calinfo[5];
+}u_get_calinfo_v3_cnf_pdu_struct;
+
+//get_RSSI_V3
+typedef UTSTReqGetRSSIV3lp u_get_rssi_v3_req_param_struct;
+typedef UTSTCnfGetRSSIV3lp u_get_rssi_v3_cnf_param_struct;
+//powertogain
+typedef UTSTReqPwrtoGainV3lp u_gain_select_pwr_v3_req_param_struct;
+typedef UTSTCnfPwrtoGainV3lp u_gain_select_pwr_v3_cnf_param_struct;
+//powertoLNA
+typedef UTSTReqLnatoGainV3lp u_gain_select_lna_v3_req_param_struct;
+typedef UTSTCnfLnatoGainV3lp u_gain_select_lna_v3_cnf_param_struct;
+//start_fhc_v3(One band only)
+typedef UTSTReqFHCeLNAV3lp u_start_fhc_v3_req_param_struct;
+typedef UTSTCnfFHCeLNAV3lp u_start_fhc_v3_cnf_param_struct;
+typedef UTSTReqFHCeLNAV3pb u_start_fhc_v3_req_pdu_struct;
+//get_fhc_result_v3 
+typedef struct
+{
+   kal_bool    get_result;
+}u_get_fhc_result_v3_req_param_struct;
+typedef UTSTCnfGetFHCResultV3lp u_get_fhc_result_v3_cnf_param_struct;
+typedef UTSTCnfGetFHCResultV3pb u_get_fhc_result_v3_cnf_pdu_struct;
+
+//u_trigger_iq_dump_mode_v3
+typedef UTSTReqTriggerIqDumpModeV3lp u_trigger_iq_dump_mode_v3_req_param_struct;
+typedef UTSTCnfTriggerIqDumpModeV3lp u_trigger_iq_dump_mode_v3_cnf_param_struct;
+
+//u_get_iq_dump_result_v3
+typedef struct
+{
+   kal_bool get_result;
+}u_get_iq_dump_result_v3_req_param_struct;
+typedef UTSTCnfGetIqDumpResultV3lp u_get_iq_dump_result_v3_cnf_param_struct;
+typedef struct
+{ 
+   UTSTCnfGetIqDumpResultV3pb iq_dump_result[8192];
+}u_get_iq_dump_result_v3_cnf_pdu_struct;
+
+//u_set_rfeq_subband_result_v3
+typedef UTSTReqSetRfeqSubbandV3lp u_set_rfeq_subband_result_v3_req_param_struct;
+typedef struct
+{
+   UTSTReqSetRfeqSubbandV3pb rfeq_data[10];
+}u_set_rfeq_subband_result_v3_req_pdu_struct;
+typedef UTSTCnfSetRfeqSubbandV3lp u_set_rfeq_subband_result_v3_cnf_param_struct;
+
+//R5
+typedef struct
+{
+   kal_bool   open_R5_test;
+}u_hsdpa_r5_tx_req_param_struct;
+typedef URfTestCmdHspaNsft u_hsdpa_r5_tx_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_hsdpa_r5_tx_cnf_param_struct;
+//R6
+typedef struct
+{
+   kal_bool   open_R6_test;
+}u_hsupa_r6_tx_req_param_struct;
+typedef URfTestCmdHspaNsft u_hsupa_r6_tx_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_hsupa_r6_tx_cnf_param_struct;
+//STOP
+typedef struct
+{
+   kal_bool stop;
+}u_stop_req_param_struct;
+typedef struct
+{
+   kal_bool ok;
+}u_stop_cnf_param_struct;
+
+//u_nsft_ex
+typedef struct
+{
+   kal_bool   open_nsft_test;
+}u_nsft_ex_req_param_struct;
+typedef UL1D_RF_NSFT_REQ_T u_nsft_ex_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_nsft_ex_cnf_param_struct;
+//u_nsft_get_rssi
+typedef struct
+{
+   kal_bool get_rssi;
+}u_nsft_get_rssi_req_param_struct;
+typedef URfTestResultNSFTRSSI u_nsft_get_rssi_cnf_param_struct;
+
+
+//u_nsft_reset_ber
+typedef URFTestCmdResetBERResult u_nsft_reset_ber_req_param_struct;
+typedef URFTestResultResetBERResult u_nsft_reset_ber_cnf_param_struct;
+//u_get_single_end_ber
+typedef struct
+{
+   kal_bool get_single_end_ber;
+}u_get_single_end_ber_req_param_struct;
+typedef UL1D_RF_NSFT_BET_BIT_CNT_FOR_BER_CNF_T u_get_single_end_ber_cnf_param_struct;
+#endif
diff --git a/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen95.h b/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen95.h
new file mode 100644
index 0000000..b6bafa6
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen95.h
@@ -0,0 +1,421 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2012
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * File name:
+ * ---------
+ *   ul1d_gpt_if.h
+ *
+ * Project:
+ * --------
+ *   UMOLY
+ *
+ * Description:
+ * ------------
+ *  WCDMA test mode specific definitions for synchronizing with HOST tool
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ * ==========================================================================
+ * $Log$
+ *
+ * 08 22 2018 alan.wong
+ * [MOLY00347056] [UL1D][RF] NSFT TX Power Offset - sync 95  97 part
+ *
+ * 04 23 2018 alan.wong
+ * [MOLY00320644] [UL1D][RF] RFEQ Subband Setting and RXDFE IQ Dump by META Auto Tool
+ * . RF part 2.
+ *
+ * 02 08 2018 alan.wong
+ * [MOLY00304150] WCDMA ?ºÝBER???¥ÎMETA_3Grf_NSFT_Reset_BER_Result_r¥¢?
+ * -fix NSFT reset BER flow sync from R2 5055617
+ *
+ * 02 07 2018 alan.wong
+ * [MOLY00306660] eLNA support 18 dB & 13.5 dB feature change
+ * .
+ *
+ * 10 25 2017 alan.wong
+ * [MOLY00278686] [MT6295][WCDMA][TST] porting
+ * -get/set command
+ * -FHC start command modify
+ *
+ * 09 29 2017 alan.wong
+ * [MOLY00278686] [MT6295][WCDMA][TST] porting
+ * -capability 
+ * -FHC start/result
+ *
+ * 02 23 2017 alan.wong
+ * [MOLY00231464] [Bianco Bring-up][WCDMA][UL1TST] Add GP tool command
+ * .
+ *
+ * 05 30 2016 yu-hsuan.sung
+ * [MOLY00180557] [ELBRUS] add capability for META update parameter
+ *
+ ****************************************************************************/
+
+#ifndef __UL1D_GPT_IF_H__
+#define __UL1D_GPT_IF_H__
+
+/*******************************************************************************
+ * Include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "ft_msg_ul1rf.h"
+
+#define GPTOOL_EN_BSI_CW_NUMBER 64
+/*******************************************************************************
+ * Enumeration
+ ******************************************************************************/
+typedef enum
+{
+   u_test_command       = URF_TEST_CMD_GP_TOOL_COMMAND_START,
+   //u_set_get_bsi,
+   /* --------------- please add new command posterior to this line --------------- */
+   //93new
+   //u_get_rxtx_cal_data  = URF_TEST_CMD_GET_RXTX_CALIBRATION_DATA_V3,
+   //u_set_rxtx_cal_data  = URF_TEST_CMD_SET_RXTX_CALIBRATION_DATA_V3,
+   //u_get_calinfo_v3      =URF_TEST_CMD_GET_CALIBRATION_INFO_V3,
+   //u_start_fhc_v3        =URF_TEST_CMD_START_FHC_V3,
+   //u_get_fhc_result_v3   =URF_TEST_CMD_GET_FHC_RESULT_V3,
+   //u_get_rssi_v3         =URF_TEST_CMD_GET_RSSI_V3,
+   //u_gain_select_pwr_v3  =URF_TEST_CMD_GAIN_SELECT_PWR_V3,
+   //u_gain_select_lna_v3  =URF_TEST_CMD_GAIN_SELECT_LNA_V3,
+   //95 new
+   u_get_calinfo_v5        =URF_TEST_CMD_GET_CALIBRATION_INFO_V5,
+   u_start_fhc_v5          =URF_TEST_CMD_START_FHC_V5,
+   u_get_fhc_result_v5     =URF_TEST_CMD_GET_FHC_RESULT_V5,
+   u_get_rxtx_cal_data_v5  =URF_TEST_CMD_GET_RXTX_CALIBRATION_DATA_V5,
+   u_set_rxtx_cal_data_v5  =URF_TEST_CMD_SET_RXTX_CALIBRATION_DATA_V5,
+   u_get_rssi_v5           =URF_TEST_CMD_GET_RSSI_V5,
+   u_gain_select_pwr_v5    =URF_TEST_CMD_GAIN_SELECT_PWR_V5,
+   u_gain_select_lna_v5    =URF_TEST_CMD_GAIN_SELECT_LNA_V5,
+   u_trigger_iq_dump_mode_v3    =URF_TEST_CMD_TRIGGER_IQ_DUMP_MODE_V3,
+   u_get_iq_dump_result_v3      =URF_TEST_CMD_GET_IQ_DUMP_RESULT_V3,
+   u_set_rfeq_subband_result_v3 =URF_TEST_CMD_SET_RFEQ_SUBBAND_RESULT_V3,
+   //nsft
+   u_hsdpa_r5_tx           =URF_TEST_CMD_START_HSDPA_NSFT,
+   u_hsupa_r6_tx           =URF_TEST_CMD_START_HSUPA_NSFT,
+   u_stop                  =URF_TEST_CMD_STOP,
+   u_nsft_ex               =URF_TEST_CMD_START_NSFT_EX,
+   u_nsft_get_rssi         =URF_TEST_CMD_NSFT_GET_RSSI,
+   u_nsft_reset_ber        =URF_TEST_CMD_NSFT_RESET_BER_RESULT,
+   u_get_single_end_ber    =URF_TEST_CMD_GET_BIT_COUNT_FOR_SINGLE_ENDED_BER,
+   u_get_tx_power_offset   =URF_TEST_CMD_GET_TX_POWER_OFFSET_V5,
+   u_set_tx_power_offset   =URF_TEST_CMD_SET_TX_POWER_OFFSET_V5,
+}ft_urf_test_req_id_cmd_enum_type;
+
+
+/*******************************************************************************
+ * Legacy LTE RF Tool Commands
+ ******************************************************************************/
+
+
+
+/* --------------- please add new command structure posterior to this line --------------- */
+
+/*******************************************************************************
+ * GP RF Tool Commands
+ ******************************************************************************/
+
+/* -------------- *\
+|* U_TEST_COMMAND *|
+\* -------------- */
+typedef struct
+{
+   kal_uint16 req_param1;
+   kal_uint16 req_param2;
+   kal_uint16 req_param3;
+} u_test_command_req_param_struct;
+
+typedef struct
+{
+   kal_uint16 req_pdu1;
+   kal_uint16 req_pdu2;
+   kal_uint16 req_pdu3;
+} u_test_command_req_pdu_struct;
+
+typedef struct
+{
+   kal_uint16 cnf_param1;
+   kal_uint16 cnf_param2;
+   kal_uint16 cnf_param3;
+} u_test_command_cnf_param_struct;
+
+typedef struct
+{
+   kal_uint16 req_pdu1;
+   kal_uint16 req_pdu2;
+   kal_uint16 req_pdu3;
+} u_test_command_cnf_pdu_struct;
+
+/* -------------- *\
+|* U_SET_GET_BSI  *|
+\* -------------- */
+typedef enum
+{
+   U_SET_GET_BSI_WRITE = 0,
+   U_SET_GET_BSI_READ = 1
+} U_SET_GET_BSI_E;
+
+typedef enum
+{
+   U_SET_GET_BSI_DISABLE = 0,
+   U_SET_GET_BSI_ENABLE = 1
+} U_SET_GET_BSI_ENABLE_E;
+
+typedef enum
+{  /* following number are according to HWPOR port select */
+   UL1TST_RF_RFIC1   = 0x0000,
+   UL1TST_RF_RFIC2   = 0x0001,
+   UL1TST_RF_PMIC    = 0x0002,
+   UL1TST_RF_MIPI0   = 0x0003,
+   UL1TST_RF_MIPI1   = 0x0004,
+   UL1TST_RF_MIPI2   = 0x0005,
+   UL1TST_RF_MIPI3   = 0x0006,
+   UL1TST_RF_MIPI4   = 0x0007,
+   UL1TST_RF_PORT_CNT,
+}UL1TST_RF_BSIMM_PORT_T;
+
+
+typedef struct
+{
+   U_SET_GET_BSI_ENABLE_E gpt_bsi_enable;
+   U_SET_GET_BSI_E w_r;
+   UL1TST_RF_BSIMM_PORT_T sel_rfic;
+   kal_uint32 cw_address;
+   kal_uint32 cw_data;
+   kal_uint32 delay_us;
+} BSI_INFORMATION;
+
+typedef struct
+{
+   kal_uint32  void_param;
+} u_set_get_bsi_req_param_struct;
+
+typedef struct
+{
+   BSI_INFORMATION BSI[GPTOOL_EN_BSI_CW_NUMBER];
+} u_set_get_bsi_req_pdu_struct;
+
+typedef struct
+{
+   kal_uint32  void_param;
+} u_set_get_bsi_cnf_param_struct;
+
+typedef struct
+{
+   BSI_INFORMATION BSI[GPTOOL_EN_BSI_CW_NUMBER];
+} u_set_get_bsi_cnf_pdu_struct;
+
+
+/*93 get set*/
+//typedef URfTestCmd_GetRxTxCalData_ReqParam_V3 u_get_rxtx_cal_data_req_param_struct;
+//typedef URfTestCmd_GetRxTxCalData_CnfParam_V3 u_get_rxtx_cal_data_cnf_param_struct;
+//
+//typedef struct //fix structure
+//{
+//   UTSTPathlossV3 RXM_peer_buf[5];
+//   UTSTPathlossV3 RXD_peer_buf[5];
+//   URfTestTXDaTaItem TX_peer_buf[5];
+//}u_get_rxtx_cal_data_cnf_pdu_struct;
+//
+//typedef URfTestCmd_SetRxTxCalData_ReqParam_V3 u_set_rxtx_cal_data_req_param_struct;
+//typedef URfTestCmd_SetRxTxCalData_CnfParam_V3 u_set_rxtx_cal_data_cnf_param_struct;
+//
+//typedef struct //fix structure
+//{
+//   UTSTPathlossV3 RXM_peer_buf[5];
+//   UTSTPathlossV3 RXD_peer_buf[5];
+//   URfTestTXDaTaItem TX_peer_buf[5];
+//}u_set_rxtx_cal_data_req_pdu_struct;
+
+//get_calinfo_v3
+//typedef UTSTReqGetCalInfoV3lp u_get_calinfo_v3_req_param_struct;
+//typedef UTSTCnfGetCalInfoV3lp u_get_calinfo_v3_cnf_param_struct;
+//typedef struct
+//{
+//   UTSTCnfGetCalInfoV3pb calinfo[5];
+//}u_get_calinfo_v3_cnf_pdu_struct;
+
+////get_RSSI_V3
+//typedef UTSTReqGetRSSIV3lp u_get_rssi_v3_req_param_struct;
+//typedef UTSTCnfGetRSSIV3lp u_get_rssi_v3_cnf_param_struct;
+////powertogain
+//typedef UTSTReqPwrtoGainV3lp u_gain_select_pwr_v3_req_param_struct;
+//typedef UTSTCnfPwrtoGainV3lp u_gain_select_pwr_v3_cnf_param_struct;
+////powertoLNA
+//typedef UTSTReqLnatoGainV3lp u_gain_select_lna_v3_req_param_struct;
+//typedef UTSTCnfLnatoGainV3lp u_gain_select_lna_v3_cnf_param_struct;
+////start_fhc_v3(One band only)
+//typedef UTSTReqFHCeLNAV3lp u_start_fhc_v3_req_param_struct;
+//typedef UTSTCnfFHCeLNAV3lp u_start_fhc_v3_cnf_param_struct;
+//typedef UTSTReqFHCeLNAV3pb u_start_fhc_v3_req_pdu_struct;
+////get_fhc_result_v3 
+//typedef struct
+//{
+//   kal_bool    get_result;
+//}u_get_fhc_result_v3_req_param_struct;
+//typedef UTSTCnfGetFHCResultV3lp u_get_fhc_result_v3_cnf_param_struct;
+//typedef UTSTCnfGetFHCResultV3pb u_get_fhc_result_v3_cnf_pdu_struct;
+
+//get_calinfo_v5 95
+typedef UTSTReqGetCalInfoV5lp u_get_calinfo_v5_req_param_struct;
+typedef UTSTCnfGetCalInfoV5lp u_get_calinfo_v5_cnf_param_struct;
+typedef struct
+{
+   UTSTCnfGetCalInfoV5pb calinfo[8];
+}u_get_calinfo_v5_cnf_pdu_struct;
+//start_fhc_v5(One band only)
+typedef UTSTReqFHCV5lp u_start_fhc_v5_req_param_struct;
+typedef UTSTCnfFHCV5lp u_start_fhc_v5_cnf_param_struct;
+typedef UTSTReqFHCV5pb u_start_fhc_v5_req_pdu_struct;
+//get_fhc_result_v5 
+typedef struct
+{
+   kal_bool    get_result;
+}u_get_fhc_result_v5_req_param_struct;
+typedef UTSTCnfGetFHCResultV5lp u_get_fhc_result_v5_cnf_param_struct;
+typedef UTSTCnfGetFHCResultV5pb u_get_fhc_result_v5_cnf_pdu_struct;
+/*95 get set*/
+typedef URfTestCmd_GetRxTxCalData_ReqParam_V5 u_get_rxtx_cal_data_v5_req_param_struct;
+typedef URfTestCmd_GetRxTxCalData_CnfParam_V5 u_get_rxtx_cal_data_v5_cnf_param_struct;
+
+typedef struct //fix structure
+{
+   UTSTPathlossV3 RXM_peer_buf[8];
+   UTSTPathlossV3 RXD_peer_buf[8];
+   URfTestTXDaTaItem TX_peer_buf[8];
+}u_get_rxtx_cal_data_v5_cnf_pdu_struct;
+
+typedef URfTestCmd_SetRxTxCalData_ReqParam_V5 u_set_rxtx_cal_data_v5_req_param_struct;
+typedef URfTestCmd_SetRxTxCalData_CnfParam_V5 u_set_rxtx_cal_data_v5_cnf_param_struct;
+
+typedef struct //fix structure
+{
+   UTSTPathlossV3 RXM_peer_buf[8];
+   UTSTPathlossV3 RXD_peer_buf[8];
+   URfTestTXDaTaItem TX_peer_buf[8];
+}u_set_rxtx_cal_data_v5_req_pdu_struct;
+//get_RSSI_V5 95
+typedef UTSTReqGetRSSIV5lp u_get_rssi_v5_req_param_struct;
+typedef UTSTCnfGetRSSIV5lp u_get_rssi_v5_cnf_param_struct;
+//powertogain 95
+typedef UTSTReqPwrtoGainV5lp u_gain_select_pwr_v5_req_param_struct;
+typedef UTSTCnfPwrtoGainV5lp u_gain_select_pwr_v5_cnf_param_struct;
+//powertoLNA 95
+typedef UTSTReqLnatoGainV5lp u_gain_select_lna_v5_req_param_struct;
+typedef UTSTCnfLnatoGainV5lp u_gain_select_lna_v5_cnf_param_struct;
+
+//u_trigger_iq_dump_mode_v3
+typedef UTSTReqTriggerIqDumpModeV3lp u_trigger_iq_dump_mode_v3_req_param_struct;
+typedef UTSTCnfTriggerIqDumpModeV3lp u_trigger_iq_dump_mode_v3_cnf_param_struct;
+
+//u_get_iq_dump_result_v3
+typedef struct
+{
+   kal_bool get_result;
+}u_get_iq_dump_result_v3_req_param_struct;
+typedef UTSTCnfGetIqDumpResultV3lp u_get_iq_dump_result_v3_cnf_param_struct;
+typedef struct
+{ 
+   UTSTCnfGetIqDumpResultV3pb iq_dump_result[8192];
+}u_get_iq_dump_result_v3_cnf_pdu_struct;
+
+//u_set_rfeq_subband_result_v3
+typedef UTSTReqSetRfeqSubbandV3lp u_set_rfeq_subband_result_v3_req_param_struct;
+typedef struct
+{
+   UTSTReqSetRfeqSubbandV3pb rfeq_data[10];
+}u_set_rfeq_subband_result_v3_req_pdu_struct;
+typedef UTSTCnfSetRfeqSubbandV3lp u_set_rfeq_subband_result_v3_cnf_param_struct;
+
+//R5
+typedef struct
+{
+   kal_bool   open_R5_test;
+}u_hsdpa_r5_tx_req_param_struct;
+typedef URfTestCmdHspaNsft u_hsdpa_r5_tx_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_hsdpa_r5_tx_cnf_param_struct;
+//R6
+typedef struct
+{
+   kal_bool   open_R6_test;
+}u_hsupa_r6_tx_req_param_struct;
+typedef URfTestCmdHspaNsft u_hsupa_r6_tx_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_hsupa_r6_tx_cnf_param_struct;
+//STOP
+typedef struct
+{
+   kal_bool stop;
+}u_stop_req_param_struct;
+typedef struct
+{
+   kal_bool ok;
+}u_stop_cnf_param_struct;
+
+//u_nsft_ex
+typedef struct
+{
+   kal_bool   open_nsft_test;
+}u_nsft_ex_req_param_struct;
+typedef UL1D_RF_NSFT_REQ_T u_nsft_ex_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_nsft_ex_cnf_param_struct;
+//u_nsft_get_rssi
+typedef struct
+{
+   kal_bool get_rssi;
+}u_nsft_get_rssi_req_param_struct;
+typedef URfTestResultNSFTRSSI u_nsft_get_rssi_cnf_param_struct;
+
+
+//u_nsft_reset_ber
+typedef URFTestCmdResetBERResult u_nsft_reset_ber_req_param_struct;
+typedef URFTestResultResetBERResult u_nsft_reset_ber_cnf_param_struct;
+//u_get_single_end_ber
+typedef struct
+{
+   kal_bool get_single_end_ber;
+}u_get_single_end_ber_req_param_struct;
+typedef UL1D_RF_NSFT_BET_BIT_CNT_FOR_BER_CNF_T u_get_single_end_ber_cnf_param_struct;
+
+//u_get_tx_power_offset =URF_TEST_CMD_GET_TX_POWER_OFFSET,
+typedef UTSTReqGetTXpowerOffsetV5lp u_get_tx_power_offset_req_param_struct;
+typedef UTSTCnfGetTXpowerOffsetV5lp u_get_tx_power_offset_cnf_param_struct;
+//u_set_tx_power_offset =URF_TEST_CMD_SET_TX_POWER_OFFSET,
+typedef UTSTReqSetTXpowerOffsetV5lp u_set_tx_power_offset_req_param_struct;
+typedef UTSTCnfSetTXpowerOffsetV5lp u_set_tx_power_offset_cnf_param_struct;
+#endif
diff --git a/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen97.h b/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen97.h
new file mode 100644
index 0000000..7335b56
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_gpt_if_gen97.h
@@ -0,0 +1,424 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2012
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * File name:
+ * ---------
+ *   ul1d_gpt_if.h
+ *
+ * Project:
+ * --------
+ *   UMOLY
+ *
+ * Description:
+ * ------------
+ *  WCDMA test mode specific definitions for synchronizing with HOST tool
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ * ==========================================================================
+ * $Log$
+ *
+ * 01 30 2019 alan.wong
+ * [MOLY00368807] [MT6297][Apollo Bring-up][WCDMA] TST porting
+ * 	
+ * 	- dpch tx IF change  interface [ERS00028738]
+ *
+ * 01 21 2019 alan.wong
+ * [MOLY00368807] [MT6297][Apollo Bring-up][WCDMA] TST porting- GP UBIN CMD [ERS00027867]
+ *
+ * 12 27 2018 alan.wong
+ * [MOLY00368807] [MT6297][Apollo Bring-up][WCDMA] TST porting
+ * 	
+ * 	-TX ILPC API / fix RSSI idx passing  IF part [ERS00025688]
+ *
+ * 11 23 2018 alan.wong
+ * [MOLY00365628] [GEN97][VMOLY] RF tool related functionality for phnoe call use
+ * 	
+ * 	-DPCH gptool[ERS00022757]
+ *
+ * 10 22 2018 alan.wong
+ * [MOLY00329245] [MT6297][WCDMA] TST part porting [ERS00018518]
+ * 	- improve FHC CMD  interface part
+ *
+ * 09 18 2018 alan.wong
+ * [MOLY00329245] [MT6297][WCDMA] TST part porting
+ * 	
+ * 	-sync 6319626 6320482 6325766 6326076
+ *
+ * 08 22 2018 alan.wong
+ * [MOLY00347056] [UL1D][RF] NSFT TX Power Offset - sync 95  97 part
+ *
+ * 04 23 2018 alan.wong
+ * [MOLY00320644] [UL1D][RF] RFEQ Subband Setting and RXDFE IQ Dump by META Auto Tool
+ * . RF part 2.
+ *
+ * 02 08 2018 alan.wong
+ * [MOLY00304150] WCDMA ?ºÝBER???¥ÎMETA_3Grf_NSFT_Reset_BER_Result_r¥¢?
+ * -fix NSFT reset BER flow sync from R2 5055617
+ *
+ * 02 07 2018 alan.wong
+ * [MOLY00306660] eLNA support 18 dB & 13.5 dB feature change
+ * .
+ *
+ * 10 25 2017 alan.wong
+ * [MOLY00278686] [MT6295][WCDMA][TST] porting
+ * -get/set command
+ * -FHC start command modify
+ *
+ * 09 29 2017 alan.wong
+ * [MOLY00278686] [MT6295][WCDMA][TST] porting
+ * -capability 
+ * -FHC start/result
+ *
+ * 02 23 2017 alan.wong
+ * [MOLY00231464] [Bianco Bring-up][WCDMA][UL1TST] Add GP tool command
+ * .
+ *
+ * 05 30 2016 yu-hsuan.sung
+ * [MOLY00180557] [ELBRUS] add capability for META update parameter
+ *
+ ****************************************************************************/
+
+#ifndef __UL1D_GPT_IF_H__
+#define __UL1D_GPT_IF_H__
+
+/*******************************************************************************
+ * Include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "ft_msg_ul1rf.h"
+
+#define GPTOOL_EN_BSI_CW_NUMBER 64
+/*******************************************************************************
+ * Enumeration
+ ******************************************************************************/
+typedef enum
+{
+   u_test_command       = URF_TEST_CMD_GP_TOOL_COMMAND_START,
+   //u_set_get_bsi,
+   /* --------------- please add new command posterior to this line --------------- */
+   //97 new
+   u_get_calinfo_v7        =URF_TEST_CMD_GET_CALIBRATION_INFO_V7,
+   u_start_fhc_v7          =URF_TEST_CMD_FHC_V7,
+   //u_get_fhc_result_v7     =URF_TEST_CMD_GET_FHC_RESULT_V7,
+   u_get_rxtx_cal_data_v7  =URF_TEST_CMD_GET_RXTX_CALIBRATION_DATA_V7,
+   u_set_rxtx_cal_data_v7  =URF_TEST_CMD_SET_RXTX_CALIBRATION_DATA_V7,
+   u_get_rssi_v7           =URF_TEST_CMD_GET_RSSI_V7,
+   u_gain_select_pwr_v7    =URF_TEST_CMD_GAIN_SELECT_PWR_V7,
+   u_gain_select_lna_v7    =URF_TEST_CMD_GAIN_SELECT_LNA_V7,
+   u_tx_power_adjust_v7    =URF_TEST_CMD_TX_POWER_ADJUST_V7,
+   u_ubin_setup            =URF_TEST_CMD_UBIN_MODE_SETUP,
+   u_dpch_tx_v7            =URF_TEST_CMD_TX_DPCH_V7,
+   u_set_rx_bw             =URF_TEST_CMD_SET_RX_BANDWIDTH,
+   u_trigger_iq_dump_mode_v3    =URF_TEST_CMD_TRIGGER_IQ_DUMP_MODE_V3,
+   u_get_iq_dump_result_v3      =URF_TEST_CMD_GET_IQ_DUMP_RESULT_V3,
+   u_set_rfeq_subband_result_v3 =URF_TEST_CMD_SET_RFEQ_SUBBAND_RESULT_V3,
+   //nsft
+   u_hsdpa_r5_tx           =URF_TEST_CMD_START_HSDPA_NSFT,
+   u_hsupa_r6_tx           =URF_TEST_CMD_START_HSUPA_NSFT,
+   u_stop                  =URF_TEST_CMD_STOP,
+   u_nsft_ex               =URF_TEST_CMD_START_NSFT_EX,
+   u_nsft_get_rssi         =URF_TEST_CMD_NSFT_GET_RSSI,
+   u_nsft_reset_ber        =URF_TEST_CMD_NSFT_RESET_BER_RESULT,
+   u_get_single_end_ber    =URF_TEST_CMD_GET_BIT_COUNT_FOR_SINGLE_ENDED_BER,
+   u_get_tx_power_offset   =URF_TEST_CMD_GET_TX_POWER_OFFSET_V5,
+   u_set_tx_power_offset   =URF_TEST_CMD_SET_TX_POWER_OFFSET_V5,
+}ft_urf_test_req_id_cmd_enum_type;
+
+
+/*******************************************************************************
+ * Legacy LTE RF Tool Commands
+ ******************************************************************************/
+
+
+
+/* --------------- please add new command structure posterior to this line --------------- */
+
+/*******************************************************************************
+ * GP RF Tool Commands
+ ******************************************************************************/
+
+/* -------------- *\
+|* U_TEST_COMMAND *|
+\* -------------- */
+typedef struct
+{
+   kal_uint16 req_param1;
+   kal_uint16 req_param2;
+   kal_uint16 req_param3;
+} u_test_command_req_param_struct;
+
+typedef struct
+{
+   kal_uint16 req_pdu1;
+   kal_uint16 req_pdu2;
+   kal_uint16 req_pdu3;
+} u_test_command_req_pdu_struct;
+
+typedef struct
+{
+   kal_uint16 cnf_param1;
+   kal_uint16 cnf_param2;
+   kal_uint16 cnf_param3;
+} u_test_command_cnf_param_struct;
+
+typedef struct
+{
+   kal_uint16 req_pdu1;
+   kal_uint16 req_pdu2;
+   kal_uint16 req_pdu3;
+} u_test_command_cnf_pdu_struct;
+
+/* -------------- *\
+|* U_SET_GET_BSI  *|
+\* -------------- */
+typedef enum
+{
+   U_SET_GET_BSI_WRITE = 0,
+   U_SET_GET_BSI_READ = 1
+} U_SET_GET_BSI_E;
+
+typedef enum
+{
+   U_SET_GET_BSI_DISABLE = 0,
+   U_SET_GET_BSI_ENABLE = 1
+} U_SET_GET_BSI_ENABLE_E;
+
+typedef enum
+{  /* following number are according to HWPOR port select */
+   UL1TST_RF_RFIC1   = 0x0000,
+   UL1TST_RF_RFIC2   = 0x0001,
+   UL1TST_RF_PMIC    = 0x0002,
+   UL1TST_RF_MIPI0   = 0x0003,
+   UL1TST_RF_MIPI1   = 0x0004,
+   UL1TST_RF_MIPI2   = 0x0005,
+   UL1TST_RF_MIPI3   = 0x0006,
+   UL1TST_RF_MIPI4   = 0x0007,
+   UL1TST_RF_PORT_CNT,
+}UL1TST_RF_BSIMM_PORT_T;
+
+
+typedef struct
+{
+   U_SET_GET_BSI_ENABLE_E gpt_bsi_enable;
+   U_SET_GET_BSI_E w_r;
+   UL1TST_RF_BSIMM_PORT_T sel_rfic;
+   kal_uint32 cw_address;
+   kal_uint32 cw_data;
+   kal_uint32 delay_us;
+} BSI_INFORMATION;
+
+typedef struct
+{
+   kal_uint32  void_param;
+} u_set_get_bsi_req_param_struct;
+
+typedef struct
+{
+   BSI_INFORMATION BSI[GPTOOL_EN_BSI_CW_NUMBER];
+} u_set_get_bsi_req_pdu_struct;
+
+typedef struct
+{
+   kal_uint32  void_param;
+} u_set_get_bsi_cnf_param_struct;
+
+typedef struct
+{
+   BSI_INFORMATION BSI[GPTOOL_EN_BSI_CW_NUMBER];
+} u_set_get_bsi_cnf_pdu_struct;
+
+
+//get_calinfo_v7
+typedef UTSTReqGetCalInfoV7lp u_get_calinfo_v7_req_param_struct;
+typedef UTSTCnfGetCalInfoV7lp u_get_calinfo_v7_cnf_param_struct;
+typedef struct
+{
+   UTSTCnfGetCalInfoV7pb calinfo[8];
+}u_get_calinfo_v7_cnf_pdu_struct;
+//start_fhc_v7(One band only)
+typedef UTSTReqFHCV7lp u_start_fhc_v7_req_param_struct;
+//typedef UTSTCnfFHCV7lp u_start_fhc_v7_cnf_param_struct;
+typedef UTSTReqFHCV7pb u_start_fhc_v7_req_pdu_struct;
+typedef UTSTCnfFHCResultV7lp u_start_fhc_v7_cnf_param_struct;
+typedef UTSTCnfFHCResultV7pb u_start_fhc_v7_cnf_pdu_struct;
+#if 0//get_fhc_result_v7
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+/*97 get set*/
+typedef UTSTReqGetRxTxCalDataV7lp u_get_rxtx_cal_data_v7_req_param_struct;
+typedef UTSTCnfGetRxTxCalDataV7lp u_get_rxtx_cal_data_v7_cnf_param_struct;
+
+typedef struct //fix structure
+{
+   UTSTPathlossV7 RXM_peer_buf[8];
+   UTSTPathlossV7 RXD_peer_buf[8];
+   URfTestTXDaTaItem TX_peer_buf[8];
+}u_get_rxtx_cal_data_v7_cnf_pdu_struct;
+
+typedef UTSTReqSetRxTxCalDataV7lp u_set_rxtx_cal_data_v7_req_param_struct;
+typedef UTSTCnfSetRxTxCalDataV7lp u_set_rxtx_cal_data_v7_cnf_param_struct;
+
+typedef struct //fix structure
+{
+   UTSTPathlossV7 RXM_peer_buf[8];
+   UTSTPathlossV7 RXD_peer_buf[8];
+   URfTestTXDaTaItem TX_peer_buf[8];
+}u_set_rxtx_cal_data_v7_req_pdu_struct;
+//get_RSSI_V7 
+typedef UTSTReqGetRSSIV7lp u_get_rssi_v7_req_param_struct;
+typedef UTSTCnfGetRSSIV7lp u_get_rssi_v7_cnf_param_struct;
+//powertogain 
+typedef UTSTReqPwrtoGainV7lp u_gain_select_pwr_v7_req_param_struct;
+typedef UTSTCnfPwrtoGainV7lp u_gain_select_pwr_v7_cnf_param_struct;
+//powertoLNA 
+typedef UTSTReqLnatoGainV7lp u_gain_select_lna_v7_req_param_struct;
+typedef UTSTCnfLnatoGainV7lp u_gain_select_lna_v7_cnf_param_struct;
+
+// tx power adjust
+typedef UTSTReqTxPwrAdjustV7lp u_tx_power_adjust_v7_req_param_struct;
+typedef UTSTCnfTxPwrAdjustV7lp u_tx_power_adjust_v7_cnf_param_struct;
+
+//UBIN setup   u_ubin_setup
+typedef struct
+{
+   kal_uint8 ubin_fdd_mode_init;
+}u_ubin_setup_req_param_struct;
+typedef URfTestResultUbinModeSetup u_ubin_setup_cnf_param_struct;
+
+//DPCH TX
+typedef UTSTReqTxDPChV7lp u_dpch_tx_v7_req_param_struct;
+typedef struct
+{
+   kal_bool ok;
+}u_dpch_tx_v7_cnf_param_struct;
+
+//RX bandwidth
+typedef struct
+{
+   kal_uint8 is_5mhz;
+}u_set_rx_bw_req_param_struct;
+typedef struct
+{
+   kal_bool ok;
+}u_set_rx_bw_cnf_param_struct;
+
+//u_trigger_iq_dump_mode_v3
+typedef UTSTReqTriggerIqDumpModeV3lp u_trigger_iq_dump_mode_v3_req_param_struct;
+typedef UTSTCnfTriggerIqDumpModeV3lp u_trigger_iq_dump_mode_v3_cnf_param_struct;
+
+//u_get_iq_dump_result_v3
+typedef struct
+{
+   kal_bool get_result;
+}u_get_iq_dump_result_v3_req_param_struct;
+typedef UTSTCnfGetIqDumpResultV3lp u_get_iq_dump_result_v3_cnf_param_struct;
+typedef struct
+{ 
+   UTSTCnfGetIqDumpResultV3pb iq_dump_result[8192];
+}u_get_iq_dump_result_v3_cnf_pdu_struct;
+
+//u_set_rfeq_subband_result_v3
+typedef UTSTReqSetRfeqSubbandV3lp u_set_rfeq_subband_result_v3_req_param_struct;
+typedef struct
+{
+   UTSTReqSetRfeqSubbandV3pb rfeq_data[10];
+}u_set_rfeq_subband_result_v3_req_pdu_struct;
+typedef UTSTCnfSetRfeqSubbandV3lp u_set_rfeq_subband_result_v3_cnf_param_struct;
+
+//R5
+typedef struct
+{
+   kal_bool   open_R5_test;
+}u_hsdpa_r5_tx_req_param_struct;
+typedef URfTestCmdHspaNsft u_hsdpa_r5_tx_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_hsdpa_r5_tx_cnf_param_struct;
+//R6
+typedef struct
+{
+   kal_bool   open_R6_test;
+}u_hsupa_r6_tx_req_param_struct;
+typedef URfTestCmdHspaNsft u_hsupa_r6_tx_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_hsupa_r6_tx_cnf_param_struct;
+//STOP
+typedef struct
+{
+   kal_bool stop;
+}u_stop_req_param_struct;
+typedef struct
+{
+   kal_bool ok;
+}u_stop_cnf_param_struct;
+
+//u_nsft_ex
+typedef struct
+{
+   kal_bool   open_nsft_test;
+}u_nsft_ex_req_param_struct;
+typedef UL1D_RF_NSFT_REQ_T u_nsft_ex_req_pdu_struct;
+typedef FT_UMTS_NSFTLinkStatusReport u_nsft_ex_cnf_param_struct;
+//u_nsft_get_rssi
+typedef struct
+{
+   kal_bool get_rssi;
+}u_nsft_get_rssi_req_param_struct;
+typedef URfTestResultNSFTRSSI u_nsft_get_rssi_cnf_param_struct;
+
+
+//u_nsft_reset_ber
+typedef URFTestCmdResetBERResult u_nsft_reset_ber_req_param_struct;
+typedef URFTestResultResetBERResult u_nsft_reset_ber_cnf_param_struct;
+//u_get_single_end_ber
+typedef struct
+{
+   kal_bool get_single_end_ber;
+}u_get_single_end_ber_req_param_struct;
+typedef UL1D_RF_NSFT_BET_BIT_CNT_FOR_BER_CNF_T u_get_single_end_ber_cnf_param_struct;
+
+//u_get_tx_power_offset =URF_TEST_CMD_GET_TX_POWER_OFFSET,
+typedef UTSTReqGetTXpowerOffsetV5lp u_get_tx_power_offset_req_param_struct;
+typedef UTSTCnfGetTXpowerOffsetV5lp u_get_tx_power_offset_cnf_param_struct;
+//u_set_tx_power_offset =URF_TEST_CMD_SET_TX_POWER_OFFSET,
+typedef UTSTReqSetTXpowerOffsetV5lp u_set_tx_power_offset_req_param_struct;
+typedef UTSTCnfSetTXpowerOffsetV5lp u_set_tx_power_offset_cnf_param_struct;
+#endif
diff --git a/mcu/interface/l1/ul1/external/ul1d_mipi_public.h b/mcu/interface/l1/ul1/external/ul1d_mipi_public.h
new file mode 100644
index 0000000..9944ce3
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_mipi_public.h
@@ -0,0 +1,887 @@
+/*******************************************************************************
+*  Modification Notice :
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * ul1d_mipi_public.h
+ *
+ * Project:
+ * --------
+ *   3G Project Common File
+ *
+ * Description:
+ * ------------
+ *   Definition of some of customization setting not defined in ul1d_custom_rf.h
+ *   And the stuff needs to be recognized by UL1D external module (wdata.c)
+ *   Also some of data structure, global data, global function prototypes to be used
+ *   by inter-category module (e.g. NVRAM)
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+#ifndef UL1D_MIPI_PUBLIC_H
+#define UL1D_MIPI_PUBLIC_H
+
+
+/*******************************************************************************
+** Includes
+*******************************************************************************/
+#include "ul1d_rf_cid.h"
+#if IS_URF_PCORE
+
+#if defined(L1_SIM)
+#else
+#include "ul1d_custom_rf_ca.h"
+#endif
+
+#endif
+#include "ul1d_rf_public.h"
+#include "mml1_mipi_public.h"
+#include "mml1_dpd_def.h"
+
+#if (IS_3G_MIPI_SUPPORT)
+/*******************************************************************************
+** Constants
+*******************************************************************************/
+/////////////////////////
+//Should not modify
+//(2ASM + 4ATs for RX main & diversity; RX main:2ATs, RX diversity:2ATs)
+#define UL1_MIPI_RX_EVENT_NUM    24
+#define UL1_MIPI_RX_DATA_NUM     28
+
+#define UL1_MIPI_INIT_DATA_NUM    8
+
+   //(1ASM + 2AT + PA for TX)
+#define UL1_MIPI_TX_EVENT_NUM    16
+#define UL1_MIPI_TX_DATA_NUM     18
+   
+   //(For MIPI PA META UI tuning)
+#define UL1_META_MIPI_PA_SECTION_NUM       8
+#define UL1_META_MIPI_PA_SECTION_DATA_NUM  4
+   
+#define UL1_MIPI_TPC_EVENT_NUM   8
+#define UL1_MIPI_TPC_DATA_NUM   40
+
+#define UL1_MIPI_ETM_TX_EVENT_NUM          5
+#define UL1_MIPI_ETM_TX_DATA_NUM          12
+
+#define UL1_MIPI_ETM_TPC_EVENT_NUM         2
+#define UL1_MIPI_ETM_TPC_DATA_NUM          5
+
+#if IS_3G_TPC9LV_OFFPOWER_SUPPORT
+#define UL1_MIPI_TPC_OFF_DATA_NUM   5
+#else
+#define UL1_MIPI_TPC_OFF_DATA_NUM   0
+#endif
+
+   //(PA setting of TPC set)
+#define UL1_MIPI_PA_SECTION_NUM       8
+#define UL1_MIPI_PA_SECTION_DATA_NUM  5
+   
+#define MIPI_SUBBAND_NUM   5    /*Max subband number is 5*/
+   
+   //the first band is UMTSBandNone, actually support 5 bands
+#define UL1_MIPI_MAX_BAND_NUM   (MAX_SUPPORTED_BAND_INDEX+1)
+   
+#define UL1_MIPI_DATA_NULL      0x0000
+   
+   //port slectiong
+#define UL1_MIPI_PORT0          0x0000
+#define UL1_MIPI_PORT1          0x0001
+#define UL1_MIPI_PORT2          0x0002
+#define UL1_MIPI_PORT3          0x0003
+#define UL1_MIPI_PORT4          0x0004
+#define UL1_MIPI_PORT5          0x0005
+#define UL1_MIPI_PORT6          0x0006
+#define UL1_MIPI_PORT7          0x0007
+#define UL1_MIPI_PORT_OFFSET_TO_MML1 (0)
+#define UL1_MIPI_PORT_OFFSET_TO_MML1_R (MML1_RF_MIPI0-UL1_MIPI_PORT0) /*MML1 use Port0/1/2/3 with value 2/3/4/5*/
+
+#define UL1_MIPI_PORT0_MSK      (0x1<<(UL1_MIPI_PORT0))
+#define UL1_MIPI_PORT1_MSK      (0x1<<(UL1_MIPI_PORT1))
+   
+#define MIPI_DATA_IDX(start,stop)  (((stop)<<8)|(start))
+   
+//event type
+#define UL1_MIPI_TRX_ON         0x0001
+#define UL1_MIPI_TRX_OFF        0x0002
+#define UL1_MIPI_TPC_SET        0x0003 
+#define UL1_MIPI_EVENT_NULL     0x0000
+   
+//element type
+#define UL1_MIPI_NULL           0x0000
+#define UL1_MIPI_ASM            0x0001
+#define UL1_MIPI_ANT            0x0002
+#define UL1_MIPI_PA             0x0003
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+#define UL1_MIPI_TAS            0x0004
+#endif
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+#define UL1_MIPI_DAT            0x0005
+#endif
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define UL1_MIPI_ASM_RXD        0x0006
+#define UL1_MIPI_ANT_RXD        0x0007
+#endif
+
+#define UL1_MIPI_ETM            0x0008
+
+#if IS_3G_UTAS_SUPPORT
+#define UL1_MIPI_SWITCH         0x0009
+#endif
+
+#define UL1_MIPI_END       0xFFFF
+   
+//data write seq. format
+#define UL1_SEQ_NULL             0x0000
+#define UL1_REG_0_W              MML1_REG_0_W
+#define UL1_REG_W                MML1_REG_W
+#define UL1_REG_W_EXT_1ST        MML1_REG_W_EXT_1ST
+#define UL1_REG_W_EXT_BYTE       MML1_REG_W_EXT_BYTE
+#define UL1_REG_W_EXT_END        MML1_REG_W_EXT_END
+#define UL1_IMM_BSI_WAIT         MML1_IMM_BSI_WAIT
+#define UL1_REG_W_EXT            MML1_REG_W_EXT
+#if IS_3G_MIPI_EXTENDED_READ_ENABLE
+#define UL1_REG_EXT_R            MML1_REG_R_EXT_ONLY_ONE_BYTE
+#define UL1_REG_R                MML1_REG_R
+#endif
+
+
+//TPC PA SECTION DATA PATTERN
+#define UL1_MIPI_PA_SECTION_DATA0   0x10000000
+#define UL1_MIPI_PA_SECTION_DATA1   0x10000001
+#define UL1_MIPI_PA_SECTION_DATA2   0x10000002
+#define UL1_MIPI_PA_SECTION_DATA3   0x10000003
+   
+#define US2CHIPCNT(us)       ((us)*3.84)
+   
+#define UL1_MIPI_MAX_INITIAL_CW_NUM   30
+   
+#define UL1_MIPI_MAX_SLEEP_CW_NUM     20
+
+#define MIPI_MAX_INITIAL_IMM_BSI_CW_NUM   UL1_MIPI_INIT_DATA_NUM
+
+#define MIPI_MAX_SLEEP_IMM_BSI_CW_NUM     20
+
+#define MIPI_MAX_ASM_ISOLATION_IMM_BSI_CW_NUM     1
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+#if IS_3G_UTAS_SUPPORT
+#define UL1_MIPI_TAS_EVENT_NUM        MMRFD_MIPI_ANT_EVENT_NUM
+#define UL1_MIPI_TAS_DATA_NUM         MMRFD_MIPI_ANT_DATA_NUM
+#else
+#define UL1_MIPI_TAS_EVENT_NUM        (8)
+#define UL1_MIPI_TAS_DATA_NUM         (20)
+#endif
+#define UL1_MIPI_TAS_ROUTE_A_NUM      (UMTS_TAS_MAX_CAT_A_ROUTE_NUM)
+#define UL1_MIPI_TAS_ROUTE_B_NUM      (UMTS_TAS_MAX_CAT_B_ROUTE_NUM)
+#define UL1_MIPI_TAS_ROUTE_C_NUM      (UMTS_TAS_MAX_CAT_C_ROUTE_NUM)
+#define UL1_TAS_NO_SPLIT_BAND         (0xFF)
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+#define UL1_MIPI_DAT_EVENT_NUM        (8)
+#define UL1_MIPI_DAT_DATA_NUM         (20)
+#define UL1_MIPI_DAT_ROUTE_A_NUM      (UMTS_DAT_MAX_CAT_A_ROUTE_NUM)
+#define UL1_MIPI_DAT_ROUTE_B_NUM      (UMTS_DAT_MAX_CAT_B_ROUTE_NUM)
+#define UL1_DAT_NO_SPLIT_BAND         (0xFF)
+#endif
+/*******************************************************************************
+** Macro define
+*******************************************************************************/   
+#if IS_URF_PCORE
+#define M_UMTS_MIPI_RX_EVENT(x, sET) UMTS_MIPI_RX_EVENT_##x##_##sET
+#define M_UMTS_RX_EVENT(x, sET)      M_UMTS_MIPI_RX_EVENT(x, sET)
+
+#define M_UMTS_MIPI_RX_DATA(x,sET)  UMTS_MIPI_RX_DATA_##x##_##sET
+#define M_UMTS_RX_DATA(x,sET)       M_UMTS_MIPI_RX_DATA(x,sET)
+
+#define M_UMTS_MIPI_TX_EVENT(x,sET) UMTS_MIPI_TX_EVENT_##x##_##sET
+#define M_UMTS_TX_EVENT(x,sET)      M_UMTS_MIPI_TX_EVENT(x,sET)
+
+#define M_UMTS_MIPI_TX_DATA(x,sET)  UMTS_MIPI_TX_DATA_##x##_##sET
+#define M_UMTS_TX_DATA(x,sET)       M_UMTS_MIPI_TX_DATA(x,sET)
+
+#define M_UMTS_MIPI_TPC(x,sET)      &UMTS_MIPI_TPC_##x##_##sET
+#define M_UMTS_TPC(x,sET)           M_UMTS_MIPI_TPC(x,sET)
+
+#define M_UMTS_MIPI_ASM_ISO(x,sET)   UMTS_MIPI_ASM_ISOLATION_DATA_##x##_##sET
+#define M_UMTS_ASM_ISO(x,sET)        M_UMTS_MIPI_ASM_ISO(x,sET)
+
+#define M_UMTS_MIPI_DPD_TPC(x,sET)  &UMTS_MIPI_DPD_TPC_##x##_##sET
+#define M_UMTS_DPD_TPC(x,sET)       M_UMTS_MIPI_DPD_TPC(x,sET)
+
+#define M_UMTS_MIPI_ETM_TX_EVENT(x,sET)  UMTS_MIPI_ETM_TX_EVENT_##x##_##sET
+#define M_UMTS_ETM_TX_EVENT(x,sET)       M_UMTS_MIPI_ETM_TX_EVENT(x,sET)
+
+#define M_UMTS_MIPI_ETM_TX_DATA(x,sET)   UMTS_MIPI_ETM_TX_DATA_##x##_##sET
+#define M_UMTS_ETM_TX_DATA(x,sET)        M_UMTS_MIPI_ETM_TX_DATA(x,sET)
+
+#define M_UMTS_MIPI_ETM_TPC_EVENT(x,sET) UMTS_MIPI_ETM_TPC_EVENT_##x##_##sET
+#define M_UMTS_ETM_TPC_EVENT(x,sET)      M_UMTS_MIPI_ETM_TPC_EVENT(x,sET)
+
+#define M_UMTS_MIPI_ETM_TPC_DATA(x,sET)  UMTS_MIPI_ETM_TPC_DATA_##x##_##sET
+#define M_UMTS_ETM_TPC_DATA(x,sET)       M_UMTS_MIPI_ETM_TPC_DATA(x,sET)
+
+
+/*------------------*/
+/* Macro Definition */
+/*------------------*/
+#define M_UMTS_ROUTE_OF_CACFG_IND(i,c,x)   i##_CC##c##_##x##_MIPI_TBL_IDX
+#define M_UMTS_ROUTE_OF(i,c,x)             M_UMTS_ROUTE_OF_CACFG_IND(i,c,x)
+
+#define M_CONSTRUCT_ROUTE(r)    (1<<(r&0xF))
+#define M_ROUTE_MAP_IND(i,x)    (M_CONSTRUCT_ROUTE(M_UMTS_ROUTE_OF(i,0,x)) | M_CONSTRUCT_ROUTE(M_UMTS_ROUTE_OF(i,1,x)))
+#define M_ROUTE_MAP_GROUP(x)    (M_ROUTE_MAP_IND(RX_CABAND_IND_00,x) | M_ROUTE_MAP_IND(RX_CABAND_IND_01,x) | \
+                                 M_ROUTE_MAP_IND(RX_CABAND_IND_02,x) | M_ROUTE_MAP_IND(RX_CABAND_IND_03,x) | \
+                                 M_ROUTE_MAP_IND(RX_CABAND_IND_04,x))
+
+/*------------------------*/
+/* MIPI RX Route Settings */
+/*------------------------*/
+/*Single Band*/ #if M_ROUTE_MAP_GROUP(RX) & (1<<0)
+/*Single Band*/ #define  __UMTS_MIPI_RX_ROUTE0__
+/*Single Band*/ #endif
+/*Single Band*/
+/*Single Band*/ #if M_ROUTE_MAP_GROUP(RX) & (1<<1)
+/*Single Band*/ #define  __UMTS_MIPI_RX_ROUTE1__
+/*Single Band*/ #endif
+/*Single Band*/
+/*Single Band*/ #if M_ROUTE_MAP_GROUP(RX) & (1<<2)
+/*Single Band*/ #define  __UMTS_MIPI_RX_ROUTE2__
+/*Single Band*/ #endif
+/*Single Band*/
+/*Single Band*/ #if M_ROUTE_MAP_GROUP(RX) & (1<<3)
+/*Single Band*/ #define  __UMTS_MIPI_RX_ROUTE3__
+/*Single Band*/ #endif
+/*Single Band*/
+/*Single Band*/ #if M_ROUTE_MAP_GROUP(RX) & (1<<4)
+/*Single Band*/ #define  __UMTS_MIPI_RX_ROUTE4__
+/*Single Band*/ #endif
+
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<5)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE5__
+/*  CA Band  */ #endif
+/*  CA Band  */    
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<6)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE6__
+/*  CA Band  */ #endif
+/*  CA Band  */   
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<7)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE7__
+/*  CA Band  */ #endif
+/*  CA Band  */ 
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<8)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE8__
+/*  CA Band  */ #endif
+/*  CA Band  */   
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<9)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE9__
+/*  CA Band  */ #endif
+/*  CA Band  */ 
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<10)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE10__
+/*  CA Band  */ #endif
+/*  CA Band  */   
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<11)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE11__
+/*  CA Band  */ #endif
+/*  CA Band  */
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<12)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE12__
+/*  CA Band  */ #endif
+/*  CA Band  */
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<13)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE13__
+/*  CA Band  */ #endif
+/*  CA Band  */
+/*  CA Band  */ #if M_ROUTE_MAP_GROUP(RX) & (1<<14)
+/*  CA Band  */ #define  __UMTS_MIPI_RX_ROUTE14__
+/*  CA Band  */ #endif
+
+
+/*-----------------------*/
+/* RX CA Common Settings */
+/*-----------------------*/
+#ifdef __UMTS_MIPI_RX_ROUTE5__
+#define MIPI_RX_ROUTE_IND_5         UMTS_Route5
+#else
+#define MIPI_RX_ROUTE_IND_5         UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE6__
+#define MIPI_RX_ROUTE_IND_6         UMTS_Route6
+#else
+#define MIPI_RX_ROUTE_IND_6         UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE7__
+#define MIPI_RX_ROUTE_IND_7         UMTS_Route7
+#else
+#define MIPI_RX_ROUTE_IND_7         UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE8__
+#define MIPI_RX_ROUTE_IND_8         UMTS_Route8
+#else
+#define MIPI_RX_ROUTE_IND_8         UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE9__
+#define MIPI_RX_ROUTE_IND_9         UMTS_Route9
+#else
+#define MIPI_RX_ROUTE_IND_9         UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE10__
+#define MIPI_RX_ROUTE_IND_10        UMTS_Route10
+#else
+#define MIPI_RX_ROUTE_IND_10        UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE11__
+#define MIPI_RX_ROUTE_IND_11        UMTS_Route11
+#else
+#define MIPI_RX_ROUTE_IND_11        UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE12__
+#define MIPI_RX_ROUTE_IND_12        UMTS_Route12
+#else
+#define MIPI_RX_ROUTE_IND_12        UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE13__
+#define MIPI_RX_ROUTE_IND_13        UMTS_Route13
+#else
+#define MIPI_RX_ROUTE_IND_13        UMTSBandNone
+#endif
+
+#ifdef __UMTS_MIPI_RX_ROUTE14__
+#define MIPI_RX_ROUTE_IND_14        UMTS_Route14
+#else
+#define MIPI_RX_ROUTE_IND_14        UMTSBandNone
+#endif
+
+#endif
+/*******************************************************************************
+** Typedefs
+*******************************************************************************/
+typedef struct
+{
+   kal_uint16 mipi_data_st;//mipi data start index
+   kal_uint16 mipi_data_sp;//mipi data stop index
+}UL1_MIPI_DATA_STSP;
+
+typedef struct
+{
+   kal_uint16 addr;
+   kal_uint32 data;
+}UL1_MIPI_ADDR_DATA_EXPAND_TABLE_T;
+
+typedef struct
+{
+   kal_uint16 mipi_elm_type;     //mipi element type
+   UL1_MIPI_DATA_STSP mipi_data_stsp;
+   kal_uint16 mipi_evt_type;     //event type
+   kal_uint32 mipi_evt_offset;   //event offset
+}UL1_MIPI_EVENT_TABLE_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_STSP mipi_data_stsp;
+   kal_uint16 mipi_evt_type;     //event type
+   kal_uint32 mipi_evt_offset;   //event offset
+} UL1_MIPI_SIMPLE_EVENT_TABLE_T;
+
+typedef struct
+{
+   kal_uint16 mipi_subband_freq; // Port where data to send
+   UL1_MIPI_ADDR_DATA_EXPAND_TABLE_T mipi_data; // mipi data
+}UL1_MIPI_DATA_EXPAND_TABLE_T;       //expanded by sub-freq
+
+typedef struct
+{
+   kal_uint16 mipi_elm_type;                                     //mipi element type
+   kal_uint16 mipi_port_sel;                                     //0:for Port0, 1:for Port1 
+   kal_uint16 mipi_data_seq;                                     // data write sequence format
+   kal_uint16 mipi_usid;                                         //mipi USID   
+   UL1_MIPI_DATA_EXPAND_TABLE_T mipi_subband_data[MIPI_SUBBAND_NUM]; // mipi data
+}UL1_MIPI_DATA_SUBBAND_TABLE_T;
+
+typedef struct
+{
+   kal_uint8  device_index;
+   kal_uint16 mipi_data_seq;                                                // data write sequence format
+   UL1_MIPI_ADDR_DATA_EXPAND_TABLE_T mipi_subband_data[ MIPI_SUBBAND_NUM ]; // mipi data
+} UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T;
+
+typedef struct
+{
+   kal_uint16 mipi_elm_type;                                     //mipi element type
+   kal_uint16 mipi_port_sel;                                     //0:for Port0, 1:for Port1 
+   kal_uint16 mipi_data_seq;                                     // data write sequence format
+   kal_uint16 mipi_usid;                                         //mipi USID      
+   UL1_MIPI_ADDR_DATA_EXPAND_TABLE_T mipi_data;                  // mipi data
+}UL1_MIPI_DATA_TABLE_T;
+
+typedef struct
+{
+   UL1_MIPI_EVENT_TABLE_T         umts_mipi_tpc_event[UL1_MIPI_TPC_EVENT_NUM];
+   UL1_MIPI_DATA_SUBBAND_TABLE_T  umts_mipi_tpc_data[UL1_MIPI_TPC_DATA_NUM];    
+}UL1_UMTS_MIPI_TPC_T;
+
+typedef struct
+{
+   kal_uint16 mipi_subband_freq;
+   kal_uint32 mipi_pa_tpc_data[UL1_MIPI_PA_SECTION_NUM][UL1_MIPI_PA_SECTION_DATA_NUM];
+}UL1_MIPI_PA_TPC_SECTION_TABLE_T;
+
+typedef UL1_UMTS_MIPI_TPC_T ul1mipi_tpcData_T;
+
+#if (IS_3G_MIPI_NVRAM_FULL_SUPPORT)
+typedef struct
+{
+   UL1_MIPI_DATA_SUBBAND_TABLE_T mipiTxData[UL1_MIPI_TX_DATA_NUM]; 
+}ul1mipi_txData_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_TABLE_T mipiAsmIsoData[MIPI_MAX_ASM_ISOLATION_IMM_BSI_CW_NUM]; 
+}ul1mipi_asmIsoData_T;
+
+typedef struct
+{
+   UL1_MIPI_EVENT_TABLE_T mipiTxEvent[UL1_MIPI_TX_EVENT_NUM]; 
+}ul1mipi_txEvent_T;
+
+typedef struct
+{
+   UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T mipiTxData[ UL1_MIPI_ETM_TX_DATA_NUM ]; 
+}ul1mipiEtm_txData_T;
+
+typedef struct
+{
+   UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T mipiTpcData[ UL1_MIPI_ETM_TPC_DATA_NUM ]; 
+}ul1mipiEtm_tpcData_T;
+
+typedef struct
+{
+   UL1_MIPI_SIMPLE_EVENT_TABLE_T mipiTxEvent[ UL1_MIPI_ETM_TX_EVENT_NUM ];
+} ul1mipiEtm_txEvent_T;
+
+typedef struct
+{
+   UL1_MIPI_SIMPLE_EVENT_TABLE_T mipiTpcEvent[ UL1_MIPI_ETM_TPC_EVENT_NUM ];
+} ul1mipiEtm_tpcEvent_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_SUBBAND_TABLE_T mipiRxData[UL1_MIPI_RX_DATA_NUM]; 
+}ul1mipi_rxData_T;
+
+typedef struct
+{
+   UL1_MIPI_EVENT_TABLE_T mipiRxEvent[UL1_MIPI_RX_EVENT_NUM]; 
+}ul1mipi_rxEvent_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_TABLE_T mipiInitData[MIPI_MAX_INITIAL_IMM_BSI_CW_NUM]; 
+}ul1mipi_initCwData_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_TABLE_T mipiSleepData[MIPI_MAX_SLEEP_IMM_BSI_CW_NUM]; 
+}ul1mipi_sleepCwData_T;
+
+#endif/*IS_3G_MIPI_NVRAM_FULL_SUPPORT*/
+
+#if (IS_3G_MIPI_SUPPORT)
+typedef enum
+{
+   MIPI_DEFAULT = 0,
+   MIPI_DISABLE = 1,
+   MIPI_ENABLE  = 2
+}MIPI_Setting;
+
+
+#endif
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+typedef struct
+{
+   UL1_MIPI_EVENT_TABLE_T mipiTasEvent[UL1_MIPI_TAS_EVENT_NUM];
+}ul1mipi_tasEvent_T;
+
+typedef struct
+{
+   ul1mipi_tasEvent_T mipiTasEventRoute[UL1_MIPI_TAS_ROUTE_A_NUM];
+}ul1mipi_tasEvent_CatA_T;
+
+typedef struct
+{
+   ul1mipi_tasEvent_T mipiTasEventRoute[UL1_MIPI_TAS_ROUTE_B_NUM];
+}ul1mipi_tasEvent_CatB_T;
+
+typedef struct
+{
+   ul1mipi_tasEvent_T mipiTasEventRoute[UL1_MIPI_TAS_ROUTE_C_NUM];
+}ul1mipi_tasEvent_CatC_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_TABLE_T mipiTasData[UL1_MIPI_TAS_DATA_NUM]; 
+}ul1mipi_tasData_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_SUBBAND_TABLE_T mipiTasData[UL1_MIPI_TAS_DATA_NUM]; 
+}ul1mipi_tasSubBandData_T;
+
+typedef struct
+{
+   ul1mipi_tasSubBandData_T mipiTasDataRoute[UL1_MIPI_TAS_ROUTE_A_NUM];
+}ul1mipi_tasData_CatA_T;
+
+typedef struct
+{
+   ul1mipi_tasSubBandData_T mipiTasDataRoute[UL1_MIPI_TAS_ROUTE_B_NUM];
+}ul1mipi_tasData_CatB_T;
+
+typedef struct
+{
+   ul1mipi_tasSubBandData_T mipiTasDataRoute[UL1_MIPI_TAS_ROUTE_C_NUM];
+}ul1mipi_tasData_CatC_T;
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+typedef struct
+{
+   UL1_MIPI_EVENT_TABLE_T mipiDatEvent[UL1_MIPI_DAT_EVENT_NUM];
+}ul1mipi_datEvent_T;
+
+typedef struct
+{
+   ul1mipi_datEvent_T mipiDatEventRoute[UL1_MIPI_DAT_ROUTE_A_NUM];
+}ul1mipi_datEvent_CatA_T;
+
+typedef struct
+{
+   ul1mipi_datEvent_T mipiDatEventRoute[UL1_MIPI_DAT_ROUTE_B_NUM];
+}ul1mipi_datEvent_CatB_T;
+
+typedef struct
+{
+   UL1_MIPI_DATA_SUBBAND_TABLE_T mipiDatData[UL1_MIPI_DAT_DATA_NUM]; 
+}ul1mipi_datSubBandData_T;
+
+typedef struct
+{
+   ul1mipi_datSubBandData_T mipiDatDataRoute[UL1_MIPI_DAT_ROUTE_A_NUM];
+}ul1mipi_datData_CatA_T;
+
+typedef struct
+{
+   ul1mipi_datSubBandData_T mipiDatDataRoute[UL1_MIPI_DAT_ROUTE_B_NUM];
+}ul1mipi_datData_CatB_T;
+#endif
+/*******************************************************************************
+** Function Prototype
+*******************************************************************************/
+
+#if (IS_3G_MIPI_NVRAM_FULL_SUPPORT)
+void nvram_init_uL1_mipiTxData(void);
+void nvram_init_uL1_mipiTxEvent(void);
+void nvram_init_uL1_mipiRxData(void);
+void nvram_init_uL1_mipiRxEvent(void);
+void nvram_init_uL1_mipiInitCw(void);
+void nvram_init_uL1_mipiSleepCw(void);
+#endif/*IS_3G_MIPI_NVRAM_FULL_SUPPORT*/
+
+
+/*******************************************************************************
+** Global Extern Func and Variables
+*******************************************************************************/
+#if IS_3G_RF_NCCA_SUPPORT
+#if IS_URF_PCORE
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_RX_EVENT_TABLE[UMTS_MIPI_RX_TBL_SIZE];
+#elif IS_URF_L1CORE && IS_URF_MT6291_DUAL_CORE_ARCH
+//extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_RX_EVENT_TABLE[UMTS_MIPI_RX_TBL_SIZE];
+#endif
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_RX_DATA_TABLE[UMTS_MIPI_RX_TBL_SIZE];
+#else
+#if IS_URF_PCORE
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_RX_EVENT_TABLE[UL1D_RF_CUSTOM_BAND];
+#elif IS_URF_L1CORE && IS_URF_MT6291_DUAL_CORE_ARCH
+//extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_RX_EVENT_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_RX_DATA_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_TX_EVENT_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_TX_DATA_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_UMTS_MIPI_TPC_T            *UMTS_MIPI_TPC_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_MIPI_DATA_TABLE_T          UMTS_MIPI_INITIAL_CW[UL1_MIPI_INIT_DATA_NUM];
+extern UL1_MIPI_DATA_TABLE_T          *UMTS_MIPI_ASM_ISOLATION_DATA_TABLE[UL1D_RF_CUSTOM_BAND];
+
+#if IS_3G_RF_NCCA_SUPPORT
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_RX_EVENT_PCORE_TABLE[UMTS_MIPI_RX_TBL_SIZE];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_RX_DATA_PCORE_TABLE[UMTS_MIPI_RX_TBL_SIZE];
+#else
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_RX_EVENT_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_RX_DATA_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_TX_EVENT_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_TX_DATA_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_UMTS_MIPI_TPC_T            *UMTS_MIPI_TPC_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_MIPI_DATA_TABLE_T          *UMTS_MIPI_INITIAL_CW_PCORE_ptr;
+extern UL1_MIPI_DATA_TABLE_T          *UMTS_MIPI_SLEEP_CW_PCORE_ptr;
+extern UL1_MIPI_DATA_TABLE_T          *UMTS_MIPI_ASM_ISOLATION_DATA_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+
+#if __IS_UL1D_DPD_SUPPORT__
+extern UL1_UMTS_MIPI_TPC_T            *UMTS_MIPI_DPD_TPC_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern UL1_UMTS_MIPI_TPC_T            *UMTS_MIPI_DPD_TPC_TABLE[UL1D_RF_CUSTOM_BAND];
+extern const UL1_UMTS_MIPI_TPC_T*      UMTS_MIPI_DPD_TPC_TABLE_SetDefault[];
+#endif
+
+#if __IS_UL1D_ETM_SUPPORT__
+extern UL1_MIPI_SIMPLE_EVENT_TABLE_T        *UMTS_MIPI_ETM_TX_EVENT_TABLE[ UL1D_RF_CUSTOM_BAND ];
+extern UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T *UMTS_MIPI_ETM_TX_DATA_TABLE[ UL1D_RF_CUSTOM_BAND ];
+extern UL1_MIPI_SIMPLE_EVENT_TABLE_T        *UMTS_MIPI_ETM_TPC_EVENT_TABLE[ UL1D_RF_CUSTOM_BAND ];
+extern UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T *UMTS_MIPI_ETM_TPC_DATA_TABLE[ UL1D_RF_CUSTOM_BAND ];
+
+extern UL1_MIPI_SIMPLE_EVENT_TABLE_T        *UMTS_MIPI_ETM_TX_EVENT_PCORE_TABLE[ UL1D_RF_CUSTOM_BAND ];
+extern UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T *UMTS_MIPI_ETM_TX_DATA_PCORE_TABLE[ UL1D_RF_CUSTOM_BAND ];
+extern UL1_MIPI_SIMPLE_EVENT_TABLE_T        *UMTS_MIPI_ETM_TPC_EVENT_PCORE_TABLE[ UL1D_RF_CUSTOM_BAND ];
+extern UL1_MIPI_SIMPLE_DATA_SUBBAND_TABLE_T *UMTS_MIPI_ETM_TPC_DATA_PCORE_TABLE[ UL1D_RF_CUSTOM_BAND ];
+#endif   // #if __IS_UL1D_ETM_SUPPORT__
+
+#ifdef __UMTS_MIPI_RX_ROUTE5__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route5[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route5[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE6__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route6[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route6[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE7__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route7[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route7[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE8__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route8[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route8[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE9__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route9[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route9[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE10__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route10[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route10[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE11__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route11[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route11[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE12__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route12[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route12[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE13__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route13[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route13[];
+#endif
+#ifdef __UMTS_MIPI_RX_ROUTE14__
+extern UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_RX_EVENT_UMTS_Route14[];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T UMTS_MIPI_RX_DATA_UMTS_Route14[];
+#endif
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_TAS_CAT_A_EVENT_TABLE_ptr[UL1_MIPI_TAS_ROUTE_A_NUM];
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_TAS_CAT_B_EVENT_TABLE_ptr[UL1_MIPI_TAS_ROUTE_B_NUM];
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_TAS_CAT_C_EVENT_TABLE_ptr[UL1_MIPI_TAS_ROUTE_C_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_TAS_CAT_A_DATA_TABLE_ptr[UL1_MIPI_TAS_ROUTE_A_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_TAS_CAT_B_DATA_TABLE_ptr[UL1_MIPI_TAS_ROUTE_B_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_TAS_CAT_C_DATA_TABLE_ptr[UL1_MIPI_TAS_ROUTE_C_NUM];
+
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_TAS_CAT_A_MIPI_EVENT_TABLE_PCORE_ptr[UL1_MIPI_TAS_ROUTE_A_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_TAS_CAT_A_MIPI_DATA_TABLE_PCORE_ptr[UL1_MIPI_TAS_ROUTE_A_NUM];
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_TAS_CAT_B_MIPI_EVENT_TABLE_PCORE_ptr[UL1_MIPI_TAS_ROUTE_B_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_TAS_CAT_B_MIPI_DATA_TABLE_PCORE_ptr[UL1_MIPI_TAS_ROUTE_B_NUM];
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_TAS_CAT_C_MIPI_EVENT_TABLE_PCORE_ptr[UL1_MIPI_TAS_ROUTE_C_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_TAS_CAT_C_MIPI_DATA_TABLE_PCORE_ptr[UL1_MIPI_TAS_ROUTE_C_NUM];
+
+extern const UL1_MIPI_EVENT_TABLE_T* const UMTS_TAS_CAT_A_MIPI_EVENT_TABLE_SetDefault[];
+extern const UL1_MIPI_DATA_SUBBAND_TABLE_T* const UMTS_TAS_CAT_A_MIPI_DATA_TABLE_SetDefault[];
+extern const UL1_MIPI_EVENT_TABLE_T* const UMTS_TAS_CAT_B_MIPI_EVENT_TABLE_SetDefault[];
+extern const UL1_MIPI_DATA_SUBBAND_TABLE_T* const UMTS_TAS_CAT_B_MIPI_DATA_TABLE_SetDefault[];
+extern const UL1_MIPI_EVENT_TABLE_T* const UMTS_TAS_CAT_C_MIPI_EVENT_TABLE_SetDefault[];
+extern const UL1_MIPI_DATA_SUBBAND_TABLE_T* const UMTS_TAS_CAT_C_MIPI_DATA_TABLE_SetDefault[];
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_DAT_CAT_A_EVENT_TABLE_ptr[UL1_MIPI_DAT_ROUTE_A_NUM];
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_MIPI_DAT_CAT_B_EVENT_TABLE_ptr[UL1_MIPI_DAT_ROUTE_B_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_DAT_CAT_A_DATA_TABLE_ptr[UL1_MIPI_DAT_ROUTE_A_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_MIPI_DAT_CAT_B_DATA_TABLE_ptr[UL1_MIPI_DAT_ROUTE_B_NUM];
+
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_DAT_CAT_A_MIPI_EVENT_TABLE_PCORE_ptr[UL1_MIPI_DAT_ROUTE_A_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_DAT_CAT_A_MIPI_DATA_TABLE_PCORE_ptr[UL1_MIPI_DAT_ROUTE_A_NUM];
+extern UL1_MIPI_EVENT_TABLE_T         *UMTS_DAT_CAT_B_MIPI_EVENT_TABLE_PCORE_ptr[UL1_MIPI_DAT_ROUTE_B_NUM];
+extern UL1_MIPI_DATA_SUBBAND_TABLE_T  *UMTS_DAT_CAT_B_MIPI_DATA_TABLE_PCORE_ptr[UL1_MIPI_DAT_ROUTE_B_NUM];
+
+extern const UL1_MIPI_EVENT_TABLE_T*         const UMTS_DAT_CAT_A_MIPI_EVENT_TABLE_SetDefault[];
+extern const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const UMTS_DAT_CAT_A_MIPI_DATA_TABLE_SetDefault[];
+extern const UL1_MIPI_EVENT_TABLE_T*         const UMTS_DAT_CAT_B_MIPI_EVENT_TABLE_SetDefault[];
+extern const UL1_MIPI_DATA_SUBBAND_TABLE_T*  const UMTS_DAT_CAT_B_MIPI_DATA_TABLE_SetDefault[];
+#endif
+
+#endif
+
+#endif /* End of #ifndef UL1D_RF_PUBLIC_H */
+
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data.h
new file mode 100644
index 0000000..a62f291
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data.h
@@ -0,0 +1,221 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RF_CAL_POC_DATA_H__
+#define __UL1D_RF_CAL_POC_DATA_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#if IS_URF_TRINITY_2L
+   #include "ul1d_rf_cal_poc_data_mt6186m.h"
+#elif IS_URF_TRINITY_L_E2
+   #include "ul1d_rf_cal_poc_data_mt6186.h"
+#elif IS_URF_MT6185M || IS_URF_TRINITY_L
+   #include "ul1d_rf_cal_poc_data_mt6185m.h"
+#elif IS_URF_TRINITYE1||IS_URF_COLUMBUS_TO_DO
+   #include "ul1d_rf_cal_poc_data_trinitye1.h"
+#elif IS_URF_MT6177L
+   #include "ul1d_rf_cal_poc_data_mt6177.h"
+#elif IS_URF_MT6173
+   #include "ul1d_rf_cal_poc_data_mt6173.h"
+#else
+   #error "un-defined RF"
+#endif
+
+
+/*******************************************************************************
+ * Global Functions Prototype (Interface)
+ ******************************************************************************/
+
+#endif /*__UL1D_RF_CAL_POC_DATA_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6173.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6173.h
new file mode 100644
index 0000000..6d8294f
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6173.h
@@ -0,0 +1,1115 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RFC_DATA_MT6173_H__
+#define __UL1D_RFC_DATA_MT6173_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "mml1_rf_cal_def.h"
+
+
+/*******************************************************************************
+ * Typedef
+ ******************************************************************************/
+/** Structure Prototypes can be seen by other files */
+typedef enum
+{
+   UMTSBandNone = 0,
+   UMTSBand1    = 1,
+   UMTSBand2    = 2,
+   UMTSBand3    = 3,
+   UMTSBand4    = 4,
+   UMTSBand5    = 5,
+   UMTSBand6    = 6,
+   UMTSBand7    = 7,
+   UMTSBand8    = 8,
+   UMTSBand9    = 9,
+   UMTSBand10   = 10,
+   UMTSBand11   = 11,
+   UMTSBand12   = 12,
+   UMTSBand13   = 13,
+   UMTSBand14   = 14,
+   UMTSBand15   = 15,
+   UMTSBand16   = 16,
+   UMTSBand17   = 17,
+   UMTSBand18   = 18,
+   UMTSBand19   = 19,
+   UMTSBand20   = 20,
+   UMTSBand21   = 21,
+   UMTSBand22   = 22,
+   UMTSBandcount
+}  UMTSBand;
+
+
+/*******************************************************************************
+** RFC dimension define
+*******************************************************************************/
+
+#define UL1D_RXDC_HPM_TIA_GAIN_STEPS       (2)
+#define UL1D_RXDC_HPM_PGA_GAIN_STEPS       (7)
+#define UL1D_RXDC_LPM_TIA_GAIN_STEPS       (1)
+#define UL1D_RXDC_LPM_PGA_GAIN_STEPS       (7)
+
+#define UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX   (5)
+#define UL1D_RF_RX_ROUTE_MAX               (5)
+#define UL1D_RF_RX_DC_COMP_ROUTE_MAX       (1)//UL1D_RF_RX_ROUTE_MAX
+#define UL1D_RF_RX_IRR_COMP_ROUTE_MAX      (1)
+#define UL1D_RF_RX_IIP2_COMP_ROUTE_MAX     (1)//11
+
+#define UL1D_RX_CBW_NUM                    (MMRFC_UMTS_RX_CBW_NUM              )
+#define UL1D_DET_FE_GAIN_STEPS             (MMRFC_DET_FE_GAIN_STEPS            )
+#define UL1D_DET_GAIN_STEPS                (MMRFC_DET_GAIN_STEPS               )
+#define UL1D_DET_EQLPF_TAP_NUM             (MMRFC_DET_EQLPF_TAP_NUM            )
+#define UL1D_TX_PGA_TYPE_NUM               (MMRFC_TX_PGA_TYPE_NUM              )
+#define UL1D_TX_DNL_PGA_A_GAIN_STEPS       (MMRFC_TX_DNL_PGA_A_GAIN_STEPS      )
+#define UL1D_TX_DNL_PGA_B_GAIN_STEPS       (MMRFC_TX_DNL_PGA_B_GAIN_STEPS      )
+#define UL1D_TX_DNL_PGA_AUX_GAIN_STEPS     (MMRFC_TX_DNL_PGA_AUX_GAIN_STEPS    )
+#define UL1D_TX_PGA_A_SLICE_NUM            (MMRFC_TX_PGA_A_SLICE_NUM           )
+#define UL1D_TX_PGA_B_SLICE_NUM            (MMRFC_TX_PGA_B_SLICE_NUM           )
+#define UL1D_TX_DNL_PGA_A_SEQ_NUM          (MMRFC_TX_DNL_PGA_A_SEQ_NUM         )
+#define UL1D_TX_DNL_PGA_B_SEQ_NUM          (MMRFC_TX_DNL_PGA_B_SEQ_NUM         )
+#define UL1D_TX_CBW_NUM                    (MMRFC_UMTS_TX_CBW_NUM              )
+#define UL1D_TX_PGA_SLICE_NUM              (MMRFC_TX_PGA_SLICE_NUM             )
+#define UL1D_TX_RC_LPF_CBW_NUM             (MMRFC_TX_RC_LPF_CBW_NUM            )
+#define UL1D_TX_PGA_GAIN_STEP_SUBBAND_NUM  (MMRFC_TX_PGA_GAIN_STEP_SUBBAND_NUM )
+#define UL1D_TX_PGA_GAIN_STEP_NUM          (MMRFC_TX_PGA_GAIN_STEP_NUM         )
+#define UL1D_TX_SUBBAND_NUM                (MMRFC_TX_SUBBAND_NUM               )
+#define UL1D_TX_PGA_CAP_TUNING_SUBBAND_NUM (MMRFC_TX_PGA_CAP_TUNING_SUBBAND_NUM)
+#define UL1D_ANT_NUM                       (MMRFC_ANT_NUM)
+
+/******************************
+* Rx POC Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX];
+} UMTS_RF_POC_RX_IRR_COMP_T;
+
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RF_POC_RX_DC_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_HPM_TIA_GAIN_STEPS][UL1D_RXDC_HPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_HPM_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_LPM_TIA_GAIN_STEPS][UL1D_RXDC_LPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_LPM_COMP_T;
+
+typedef struct
+{
+   kal_int8             gate_bias_i;
+   kal_int8             gate_bias_q;
+} UMTS_RF_POC_RX_IIP2_COMP_T;
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_hpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_lpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+
+   /* RX DC */
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   /* RX IIP2 */
+   UMTS_RF_POC_RX_IIP2_COMP_T   rx_iip2[UL1D_ANT_NUM][UL1D_RF_RX_IIP2_COMP_ROUTE_MAX];
+
+} UMTS_RF_POC_RX_COMP_DATA_T;
+
+
+/******************************
+* Tx DET POC Part
+*******************************/
+typedef struct
+{
+   kal_int32 i_part;
+   kal_int32 q_part;
+
+} UMTS_DET_EQLPF_COMP_T;
+
+typedef struct
+{
+   UMTS_DET_EQLPF_COMP_T   coef[UL1D_DET_EQLPF_TAP_NUM];
+   kal_int32               scale_i;
+   kal_int32               scale_q;
+} UMTS_DET_FDADPCB_EQLPF_COMP_T;
+
+typedef struct{
+    kal_int8                        gain_est_hw;   //FIIQ gain
+    kal_int8                        phase_est_hw;  //FIIQ phase
+    UMTS_DET_FDADPCB_EQLPF_COMP_T   fd_ad_pcb;     //FDIQ, AD coefficient, 3G do not contain PCB information
+} UMTS_RF_POC_DET_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_DET_DC_COMP_T;
+
+
+
+typedef struct
+{
+   /* DET Coarse DCOC */
+   kal_uint32                  det_coarse_dcoc_cw807;
+   kal_uint32                  det_coarse_dcoc_cw808;
+
+   /* DET IQ/DC/DNL Forward */
+
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+   /* DET IQ/DC/DNL Reverse */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_rev[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_rev[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_rev[UL1D_DET_GAIN_STEPS];
+
+} UMTS_RF_POC_DET_COMP_DATA_T;
+
+/******************************
+* Tx FOWRAD POC Part
+*******************************/
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_RF_POC_TX_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_TX_DC_COMP_T;
+
+typedef struct{
+    kal_int16           freq_dep_filt[MMRFC_FILT_TAPS_NUM];
+} UMTS_TX_FD_FILT_COMP_T;
+
+typedef struct{
+    kal_int16           re;
+    kal_int16           im;
+} UMTS_COMPLEX_16_T;
+
+typedef struct
+{
+   UMTS_COMPLEX_16_T    tx_ga_filt_lin_1[MMRFC_FILT_TAPS_NUM];
+   UMTS_COMPLEX_16_T    tx_ga_filt_lin_2[MMRFC_FILT_TAPS_NUM];
+} UMTS_RF_POC_TX_GA_FILT_COMP_T;
+
+typedef struct
+{
+   kal_int16            slope[13];//[MMRFC_TXGA_MAX_TONES-1];
+   kal_int16            mag_inv_norm[14];//[MMRFC_TXGA_MAX_TONES];
+} UMTS_RF_POC_TX_GA_TPC_COMP_T;
+
+typedef struct{
+   UMTS_RF_POC_TX_GA_FILT_COMP_T  tx_ga_filt_comp;
+   UMTS_RF_POC_TX_GA_TPC_COMP_T   tx_ga_tpc_comp;
+} UMTS_RF_POC_TX_GA_COMP_T;
+
+typedef struct
+{
+   /* TX LO Cal */
+   kal_uint32                   tx_lo;
+   kal_uint8                    tx_lo_ind;
+   kal_uint8                    tx_lo_capcal_peak_cap;
+   kal_uint8                    tx_lo_in_bias_hpm;
+   kal_uint8                    tx_lo_in_bias_lpm;
+   kal_uint32                   stx_dcc_delta_nc;
+
+   /* TX RC */
+   kal_int16                     tx_rc_lpf[UL1D_TX_CBW_NUM];
+   kal_int16                     tx_rc_rcf;
+
+   /* TX FIIQ/DC/DNL Linear Mode */
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM+1];
+
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+
+   kal_int16                    tx_dnl_lin_pga_a[UL1D_TX_DNL_PGA_A_GAIN_STEPS];
+   kal_int16                    tx_dnl_lin_pga_b[UL1D_TX_DNL_PGA_B_GAIN_STEPS+UL1D_TX_DNL_PGA_AUX_GAIN_STEPS];
+
+   /* TX FDIQ Linear Mode 1 */
+   UMTS_TX_FD_FILT_COMP_T       tx_fdiq_lin_1[UL1D_TX_CBW_NUM][UL1D_TX_PGA_SLICE_NUM+1];
+   /* TX FDIQ Linear Mode 2 */
+   UMTS_TX_FD_FILT_COMP_T       tx_fdiq_lin_2[UL1D_TX_CBW_NUM][UL1D_TX_PGA_SLICE_NUM+1];
+
+   /* TX GA */
+   UMTS_RF_POC_TX_GA_COMP_T     tx_ga_w_ET[UL1D_TX_PGA_TYPE_NUM][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_TX_GA_COMP_T     tx_ga_wo_ET[UL1D_TX_PGA_TYPE_NUM][UL1D_TX_CBW_NUM];
+
+   /* TX PGA Phase Step */
+   kal_int16                    pga_phase_step;
+
+   /* TX PGA Gain Step */
+   kal_int16                    pga_gain_step[UL1D_TX_PGA_GAIN_STEP_SUBBAND_NUM][UL1D_TX_PGA_GAIN_STEP_NUM];
+
+   /* TX PGA Cap Tuning */
+   kal_int8                     cap_tuning_pga_a;
+   kal_int8                     cap_tuning_pga_b;
+
+} UMTS_RF_POC_TX_COMP_DATA_T;
+
+typedef struct
+{
+   kal_uint32 verno;
+   UMTSBand band;
+   UMTS_RF_POC_RX_COMP_DATA_T  umts_rx_comp;
+   UMTS_RF_POC_DET_COMP_DATA_T umts_det_comp;
+   UMTS_RF_POC_TX_COMP_DATA_T  umts_tx_comp;
+} UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T;
+
+
+/*******************************************************************************
+** Macro define for POC default value
+*******************************************************************************/
+
+
+#define UMTS_RXDC_RF_I_Default  (0xFFE0)
+#define UMTS_RXDC_RF_Q_Default  (0xFFE0)
+#define UMTS_RXDC_Dig_I_Default (0)
+#define UMTS_RXDC_Dig_Q_Default (0)
+
+#define UMTS_RXDC_RF_IQ_Default  \
+{\
+    UMTS_RXDC_RF_I_Default, UMTS_RXDC_RF_Q_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_Default  \
+{\
+    UMTS_RXDC_Dig_I_Default,\
+    UMTS_RXDC_Dig_Q_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default,\
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default  \
+{\
+/*rx_dc[2:RX_TIA_GAIN_63p5dB][0~6]*/UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+/*rx_dc[3:RX_TIA_GAIN_69p5dB][0~6]*/UMTS_RXDC_RF_IQ_PGA_HPM_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default  \
+{\
+/*rx_dc[2:RX_TIA_GAIN_63p5dB][0~6]*/UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+/*rx_dc[3:RX_TIA_GAIN_69p5dB][0~6]*/UMTS_RXDC_Dig_IQ_PGA_HPM_Default \
+}
+
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default  \
+{\
+    /*rx_dc[0:RX_TIA_GAIN_67p5dB][0~6]*/UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default  \
+{\
+    /*rx_dc[0:RX_TIA_GAIN_67p5dB][0~6]*/UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+}
+
+
+#define UMTS_RXDC_RF_ANT_HPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_RF_ANT_LPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_Dig_ANT_HPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+}
+
+#define UMTS_RXDC_Dig_ANT_LPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+}
+
+
+
+
+//ANT0/1
+#define W_Rx_Irr_5Tap_Comp_Poc_Default \
+{                                      \
+   {0,0,{0,0,512,0,0}},                \
+   {0,0,{0,0,512,0,0}},                \
+}
+
+//ANT0/1
+#define W_Rx_Irr_7Tap_Comp_Poc_Default \
+{                                      \
+   {0,0,{0,0,512,0,0}},                \
+   {0,0,{0,0,512,0,0}},                \
+}
+
+
+
+#define M_IIP2_I_DEFAULT (64)
+#define M_IIP2_Q_DEFAULT (64)
+
+#define W_Rx_Iip2_Comp_Poc_Default {M_IIP2_I_DEFAULT, M_IIP2_Q_DEFAULT}
+
+#define UMTS_TX_FD_Iq_5Tap_Comp_Default {{0,0,511,0,0,0,0}}
+#define UMTS_TX_FD_Iq_7Tap_Comp_Default {{0,0,0,511,0,0,0}}
+
+
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default   {0,0,{{{5,5},{-35,-35},{144,144},{-454,-454},{-350,-350},{312,312},{-218,-218},{127,127},{-59,-59},{19,19},{-3,-3}},9,9}}
+#define UMTS_Det_Iq_MG_DC_Comp_Default   {0,0,{{{5,5},{-35,-35},{144,144},{-454,-454},{-350,-350},{312,312},{-218,-218},{127,127},{-59,-59},{19,19},{-3,-3}},9,9}}
+#define UMTS_Det_Iq_LG_SC_Comp_Default   {0,0,{{{5,5},{-36,-36},{144,144},{-437,-437},{-371,-371},{316,316},{-215,-215},{123,123},{-56,-56},{18,18},{-3,-3}},9,9}}
+#define UMTS_Det_Iq_LG_DC_Comp_Default   {0,0,{{{5,5},{-36,-36},{144,144},{-437,-437},{-371,-371},{316,316},{-215,-215},{123,123},{-56,-56},{18,18},{-3,-3}},9,9}}
+
+
+#define UMTS_DET_IQ_MG_DDFAULT  \
+        {  /*UL1D_TX_CBW_NUM=2*/    \
+           UMTS_Det_Iq_MG_SC_Comp_Default,\
+           UMTS_Det_Iq_MG_DC_Comp_Default,\
+        },
+
+#define UMTS_DET_IQ_LG_DDFAULT  \
+        {  /*UL1D_TX_CBW_NUM=2*/    \
+           UMTS_Det_Iq_LG_SC_Comp_Default,\
+           UMTS_Det_Iq_LG_DC_Comp_Default,\
+        },
+
+#define UMTS_DET_DC_DEFAULT  {0/*DC_I*/, 0/*DC_Q*/}
+
+#define UMTS_TX_GA_5tap_Comp_Default                                                               \
+{                                                                                                 \
+  {                                                                                               \
+    { {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_1*/         \
+    { {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_2*/         \
+  },                                                                                              \
+  {                                                                                               \
+    {0,0,0,0,0,0,0,0,0},  /*slope : MMRFC_TXGA_MAX_TONES-1 */                                     \
+    {0,0,0,0,0,0,0,0,0,0},/*mag_inv_norm : MMRFC_TXGA_MAX_TONES */                                \
+  },                                                                                              \
+}
+
+#define UMTS_TX_GA_7tap_Comp_Default                                                               \
+{                                                                                                 \
+  {                                                                                               \
+    { {0, 0}, {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_1*/         \
+    { {0, 0}, {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_2*/         \
+  },                                                                                              \
+  {                                                                                               \
+    {0,0,0,0,0,0,0,0,0},  /*slope : MMRFC_TXGA_MAX_TONES-1 */                                     \
+    {0,0,0,0,0,0,0,0,0,0},/*mag_inv_norm : MMRFC_TXGA_MAX_TONES */                                \
+  },                                                                                              \
+}
+
+#define TX_FDIQ_5Tap_COMP_DEFAULT     \
+{  /* UL1D_TX_PGA_SLICE_NUM+1 = 5 */ \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+}
+#define TX_FDIQ_7Tap_COMP_DEFAULT     \
+{  /* UL1D_TX_PGA_SLICE_NUM+1 = 5 */ \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+}
+
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_HPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_LPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, HPM*/      \
+ {                                             \
+    W_Rx_Irr_5Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default             \
+ },                                            \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_LPM                \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 5, HPM*/      \
+ {                                             \
+    W_Rx_Irr_5Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default            \
+ },                                            \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IIP2            \
+{                                           \
+ {  /*RXP*/                                 \
+    W_Rx_Iip2_Comp_Poc_Default,/*ROUTE00*/  \
+ },                                         \
+ {  /*RXD*/                                 \
+    W_Rx_Iip2_Comp_Poc_Default,/*ROUTE00*/  \
+ }                                          \
+},
+
+#define UL1D_DEFAULT_RFC_TX_IQ_DC \
+        /*tx_iq_lin*/{{0,0}},     \
+        /*tx_dc_lin*/{{0,0}},     \
+        /*tx_iq_dpd*/{{0,0}},     \
+        /*tx_dc_dpd*/{{0,0}},
+
+//TX part
+#define UL1D_DEFAULT_RFC_DET_CDCOC          0x84210, // Designer David : If you run without POC than use 0x84210 in both of them.  This will not apply any offset correction.
+
+
+#define UL1D_DEFAULT_RFC_DET_IQ_FWD             \
+        { /* UL1D_DET_FE_GAIN_STEPS = 2 */ \
+          UMTS_DET_IQ_MG_DDFAULT  \
+          UMTS_DET_IQ_LG_DDFAULT  \
+        },
+
+#define UL1D_DEFAULT_RFC_DET_IQ_REV             \
+        { /* UL1D_DET_FE_GAIN_STEPS = 2 */ \
+          UMTS_DET_IQ_MG_DDFAULT  \
+          UMTS_DET_IQ_LG_DDFAULT  \
+        },
+
+
+
+
+#define UL1D_DEFAULT_RFC_DET_DC_FWD       \
+        { /* UL1D_DET_GAIN_STEPS = 15*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG05*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG06*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG07*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG08*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG09*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG10*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG11*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG12*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG13*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG14*/  \
+        },
+
+#define UL1D_DEFAULT_RFC_DET_DC_REV       \
+        { /* UL1D_DET_GAIN_STEPS = 15*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG05*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG06*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG07*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG08*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG09*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG10*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG11*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG12*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG13*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG14*/  \
+        },
+
+
+
+
+
+
+#define UL1D_DEFAULT_RFC_TX_GA     \
+{                                  \
+  /*tx_ga_w_ET*/                   \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+},                                 \
+{                                  \
+  /*tx_ga_wo_ET*/                  \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+},                                 \
+
+
+
+
+/* Default value from MT6177L, FXP=s6.5 */
+#define UL1D_DEFAULT_RFC_DET_DNL  \
+{                             \
+    918, /*   G0*/            \
+    822, /*   G1*/            \
+    726, /*   G2*/            \
+    630, /*   G3*/            \
+    534, /*   G4*/            \
+    438, /*   G5*/            \
+    342, /*   G6*/            \
+    342, /*   G7*/            \
+    246, /*   G8*/            \
+    150, /*   G9*/            \
+     54, /*   G10*/           \
+    -42, /*   G11*/           \
+   -138, /*   G12*/           \
+   -234, /*   G13*/           \
+   -330, /*   G14*/           \
+},
+
+#define UL1D_DEFAULT_RFC_DET_DNL_FWD  UL1D_DEFAULT_RFC_DET_DNL
+#define UL1D_DEFAULT_RFC_DET_DNL_REV  UL1D_DEFAULT_RFC_DET_DNL
+
+
+
+
+
+//pga_gain_step[UL1D_TX_PGA_GAIN_STEP_SUBBAND_NUM/*12*/][UL1D_TX_PGA_GAIN_STEP_NUM/*10*/]
+#define UL1D_DEFAULT_RFC_TX_PGA_AB \
+{                                 \
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_PHASE  (0),
+
+
+
+
+#define UL1D_DEFAULT_RFC_TX_LO_BNone   \
+        /*tx_lo: no use        */0,    \
+        /*tx_lo_ind            */0,    \
+        /*tx_lo_capcal_peak_cap*/0x2C, \
+        /*tx_lo_in_bias_hpm    */0x0F, \
+        /*tx_lo_in_bias_lpm    */0x0F, \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B1     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0xF, \
+        /*tx_lo_in_bias_hpm    */0x8, \
+        /*tx_lo_in_bias_lpm    */0x8, \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B2     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0x17,\
+        /*tx_lo_in_bias_hpm    */0x0C,\
+        /*tx_lo_in_bias_lpm    */0x0C,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B3     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x51,\
+        /*tx_lo_in_bias_hpm    */0x1D,\
+        /*tx_lo_in_bias_lpm    */0x1D,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B4     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0x2B,\
+        /*tx_lo_in_bias_hpm    */0x0F,\
+        /*tx_lo_in_bias_lpm    */0x0F,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B5     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0x24,\
+        /*tx_lo_in_bias_hpm    */0x0E,\
+        /*tx_lo_in_bias_lpm    */0x0E,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B6     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B8     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0x14,\
+        /*tx_lo_in_bias_hpm    */0x0C,\
+        /*tx_lo_in_bias_lpm    */0x0C,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B9     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x51,\
+        /*tx_lo_in_bias_hpm    */0x1D,\
+        /*tx_lo_in_bias_lpm    */0x1D,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B11    \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0x52,\
+        /*tx_lo_in_bias_hpm    */0x1B,\
+        /*tx_lo_in_bias_lpm    */0x1B,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B18    \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B19    \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_BNone \
+        /*tx_rc_lpf*/{160,128},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B1 \
+        /*tx_rc_lpf*/{26,21},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B2 \
+        /*tx_rc_lpf*/{26,21},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B3 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B4 \
+        /*tx_rc_lpf*/{26,21},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B5 \
+        /*tx_rc_lpf*/{26,21},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B6 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B8 \
+        /*tx_rc_lpf*/{26,21},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B9 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B11 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B18 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B19 \
+        /*tx_rc_lpf*/{172,138},
+
+
+#define UL1D_DEFAULT_RFC_TX_RC_RCF \
+        /* MT6173_3wire_Table, #RCF, 16&20MHz*/(0x10),
+
+#define UL1D_DEFAULT_RFC_TX_CAP_BNone \
+        /*cap_tuning_pga_a*/5,  \
+        /*cap_tuning_pga_b*/14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B1  \
+        /*cap_tuning_pga_a*/0xB,\
+        /*cap_tuning_pga_b*/0xB,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B2  \
+        /*cap_tuning_pga_a*/0xF,\
+        /*cap_tuning_pga_b*/0xF,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B3   \
+        /*cap_tuning_pga_a*/0x13,\
+        /*cap_tuning_pga_b*/0x15,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B4   \
+        /*cap_tuning_pga_a*/0x18,\
+        /*cap_tuning_pga_b*/0x18,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B5  \
+        /*cap_tuning_pga_a*/0x11,\
+        /*cap_tuning_pga_b*/0x11,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B6  \
+        /*cap_tuning_pga_a*/0xC,\
+        /*cap_tuning_pga_b*/0xA,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B8  \
+        /*cap_tuning_pga_a*/0xD,\
+        /*cap_tuning_pga_b*/0xD,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B9  \
+        /*cap_tuning_pga_a*/0xF,\
+        /*cap_tuning_pga_b*/0x16,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B11  \
+        /*cap_tuning_pga_a*/0x27,\
+        /*cap_tuning_pga_b*/0x2A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B18 \
+        /*cap_tuning_pga_a*/0xF,\
+        /*cap_tuning_pga_b*/0xD,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B19 \
+        /*cap_tuning_pga_a*/0xD,\
+        /*cap_tuning_pga_b*/0xC,
+
+
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA_A  \
+{                                  \
+      0, /* G0, 0dB */            \
+    -18, /* G1, -0.56dB */         \
+    -37, /* G2, -1.16dB */         \
+    -58, /* G3, -1.80dB */         \
+    -80, /* G4, -2.50dB */         \
+   -104, /* G5, -3.25dB */         \
+   -131, /* G6, -4.08dB */         \
+   -160, /* G7, -5.00dB */         \
+   -193, /* G8, -6.02dB */         \
+   -230, /* G9, -7.18dB */         \
+   -273, /* G10, -8.52dB */         \
+   -323, /* G11, -10.10dB */        \
+   -385, /* G12, -12.04dB */       \
+   -465, /* G13, -14.54dB */       \
+   -578, /* G14, -18.06dB */       \
+   -615, /* G15, -19.22dB */       \
+   -658, /* G16, -20.56dB */       \
+   -709, /* G17, -22.14dB */       \
+   -771, /* G18, -24.08dB */       \
+   -851, /* G19, -26.58dB */       \
+   -963  /* G20, -30.10dB */       \
+   -1156 /* G21, -36.12dB */       \
+},
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA_B  \
+{                                  \
+   -1188, /* G22, -37.12dB */         \
+   -1380, /* G23, -43.12dB */         \
+   -1572, /* G24, -49.12dB */         \
+   -1764, /* G25, -55.12dB */         \
+   -1956, /* G26, -61.12dB */         \
+   -2148, /* G27, -67.12dB */         \
+   -2340, /* G28, -73.12dB */         \
+   -2532, /* G29, -79.12dB */         \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_FDIQ   \
+{ /*UL1D_TX_CBW_NUM = 2*/    \
+   TX_FDIQ_5Tap_COMP_DEFAULT,      \
+   TX_FDIQ_7Tap_COMP_DEFAULT,      \
+}, /*tx_fdiq_lin_1*/               \
+{    /*UL1D_TX_CBW_NUM = 2*/ \
+   TX_FDIQ_5Tap_COMP_DEFAULT,      \
+   TX_FDIQ_7Tap_COMP_DEFAULT,      \
+}, /*tx_fdiq_lin_2*/
+
+
+#define VERNO_BNone (0),
+#define VERNO_B1    (0),
+#define VERNO_B2    (0),
+#define VERNO_B3    (0),
+#define VERNO_B4    (0),
+#define VERNO_B5    (0),
+#define VERNO_B6    (0),
+#define VERNO_B8    (0),
+#define VERNO_B9    (0),
+#define VERNO_B11   (0),
+#define VERNO_B18   (0),
+#define VERNO_B19   (0),
+
+
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)        \
+{                                            \
+   VERNO_B##BAND_ID                          \
+   UMTSBand##BAND_ID,                        \
+   {                                         \
+       UL1D_DEFAULT_RFC_RX_IRR_HPM           \
+       UL1D_DEFAULT_RFC_RX_IRR_LPM           \
+       UL1D_DEFAULT_RFC_RX_DC_RF_HPM         \
+       UL1D_DEFAULT_RFC_RX_DC_RF_LPM         \
+       UL1D_DEFAULT_RFC_RX_DC_DIG_HPM        \
+       UL1D_DEFAULT_RFC_RX_DC_DIG_LPM        \
+       UL1D_DEFAULT_RFC_RX_IIP2              \
+   },                                        \
+   {                                         \
+       UL1D_DEFAULT_RFC_DET_CDCOC            \
+       UL1D_DEFAULT_RFC_DET_CDCOC            \
+       UL1D_DEFAULT_RFC_DET_IQ_FWD           \
+       UL1D_DEFAULT_RFC_DET_DC_FWD           \
+       UL1D_DEFAULT_RFC_DET_DNL_FWD          \
+       UL1D_DEFAULT_RFC_DET_IQ_REV           \
+       UL1D_DEFAULT_RFC_DET_DC_REV           \
+       UL1D_DEFAULT_RFC_DET_DNL_REV          \
+   },                                        \
+   {                                         \
+       UL1D_DEFAULT_RFC_TX_LO_B##BAND_ID     \
+       UL1D_DEFAULT_RFC_TX_RC_LPF_B##BAND_ID \
+       UL1D_DEFAULT_RFC_TX_RC_RCF            \
+       UL1D_DEFAULT_RFC_TX_IQ_DC             \
+       UL1D_DEFAULT_RFC_TX_DNL_PGA_A         \
+       UL1D_DEFAULT_RFC_TX_DNL_PGA_B         \
+       UL1D_DEFAULT_RFC_TX_FDIQ              \
+       UL1D_DEFAULT_RFC_TX_GA                \
+       UL1D_DEFAULT_RFC_TX_PGA_PHASE         \
+       UL1D_DEFAULT_RFC_TX_PGA_AB            \
+       UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID    \
+   }                                         \
+}
+
+#if UMTS_POC_RECAL_ENABLE
+/******************************
+*  POC Recal Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[MMRFC_FILT_TAPS_NUM];
+} UMTS_RX_IRR_RESULT_DBG_T;
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RX_DC_RESULT_DBG_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[MMRFC_RXDC_TIA_GAIN_STEPS][MMRFC_RXDC_PGA_GAIN_WCDMA_STEPS];
+} UMTS_RX_DC_HPM_RESULT_DBG_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[MMRFC_RXDC_TIA_GAIN_LPM_STEPS][MMRFC_RXDC_PGA_GAIN_LPM_STEPS];
+} UMTS_RX_DC_LPM_RESULT_DBG_T;
+
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_TX_IQ_RESULT_DBG_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_TX_DC_RESULT_DBG_T;
+
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T       rx_irr_hpm_recal[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T       rx_irr_lpm_recal[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T    rx_dc_hpm_recal[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T    rx_dc_lpm_recal[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   /* DET Coarse DCOC */
+   kal_uint32                  det_coarse_dcoc_cw807;
+   kal_uint32                  det_coarse_dcoc_cw808;
+
+   /* DET IQ/DC/DNL Forward */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+    /* TX */
+   UMTS_TX_IQ_RESULT_DBG_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_TX_DC_RESULT_DBG_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM+1];
+
+   UMTS_TX_IQ_RESULT_DBG_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_TX_DC_RESULT_DBG_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+}UMTS_RF_POC_RECAL_DATA_T;
+
+#endif/*UMTS_POC_RECAL_ENABLE*/
+
+
+#endif /*__UL1D_RFC_DATA_MT6173_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6177.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6177.h
new file mode 100644
index 0000000..df3b482
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6177.h
@@ -0,0 +1,1121 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RFC_DATA_MT6177_H__
+#define __UL1D_RFC_DATA_MT6177_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "mml1_rf_cal_def.h"
+
+
+/*******************************************************************************
+ * Typedef
+ ******************************************************************************/
+/** Structure Prototypes can be seen by other files */
+typedef enum
+{
+   UMTSBandNone = 0,
+   UMTSBand1    = 1,
+   UMTSBand2    = 2,
+   UMTSBand3    = 3,
+   UMTSBand4    = 4,
+   UMTSBand5    = 5,
+   UMTSBand6    = 6,
+   UMTSBand7    = 7,
+   UMTSBand8    = 8,
+   UMTSBand9    = 9,
+   UMTSBand10   = 10,
+   UMTSBand11   = 11,
+   UMTSBand12   = 12,
+   UMTSBand13   = 13,
+   UMTSBand14   = 14,
+   UMTSBand15   = 15,
+   UMTSBand16   = 16,
+   UMTSBand17   = 17,
+   UMTSBand18   = 18,
+   UMTSBand19   = 19,
+   UMTSBand20   = 20,
+   UMTSBand21   = 21,
+   UMTSBand22   = 22,
+   UMTSBandcount
+}  UMTSBand;
+
+/*******************************************************************************
+** RFC dimension define
+*******************************************************************************/
+
+#define UL1D_RXDC_HPM_TIA_GAIN_STEPS       (2)
+#define UL1D_RXDC_HPM_PGA_GAIN_STEPS       (7)
+#define UL1D_RXDC_LPM_TIA_GAIN_STEPS       (1)
+#define UL1D_RXDC_LPM_PGA_GAIN_STEPS       (7)
+
+#define UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX   (5)
+#define UL1D_RF_RX_ROUTE_MAX               (5)
+#define UL1D_RF_RX_DC_COMP_ROUTE_MAX       (1)//UL1D_RF_RX_ROUTE_MAX
+#define UL1D_RF_RX_IRR_COMP_ROUTE_MAX      (1)
+#define UL1D_RF_RX_IIP2_COMP_ROUTE_MAX     (1)//11
+
+#define UL1D_RX_CBW_NUM                    (MMRFC_UMTS_RX_CBW_NUM              )
+#define UL1D_DET_FE_GAIN_STEPS             (MMRFC_DET_FE_GAIN_STEPS            )
+#define UL1D_DET_GAIN_STEPS                (MMRFC_DET_GAIN_STEPS               )
+#define UL1D_DET_EQLPF_TAP_NUM             (MMRFC_DET_EQLPF_TAP_NUM            )
+#define UL1D_TX_PGA_TYPE_NUM               (MMRFC_TX_PGA_TYPE_NUM              )
+#define UL1D_TX_DNL_PGA_A_GAIN_STEPS       (MMRFC_TX_DNL_PGA_A_GAIN_STEPS      )
+#define UL1D_TX_DNL_PGA_B_GAIN_STEPS       (MMRFC_TX_DNL_PGA_B_GAIN_STEPS      )
+#define UL1D_TX_DNL_PGA_AUX_GAIN_STEPS     (MMRFC_TX_DNL_PGA_AUX_GAIN_STEPS    )
+#define UL1D_TX_PGA_A_SLICE_NUM            (MMRFC_TX_PGA_A_SLICE_NUM           )
+#define UL1D_TX_PGA_B_SLICE_NUM            (MMRFC_TX_PGA_B_SLICE_NUM           )
+#define UL1D_TX_DNL_PGA_A_SEQ_NUM          (MMRFC_TX_DNL_PGA_A_SEQ_NUM         )
+#define UL1D_TX_DNL_PGA_B_SEQ_NUM          (MMRFC_TX_DNL_PGA_B_SEQ_NUM         )
+#define UL1D_TX_CBW_NUM                    (MMRFC_UMTS_TX_CBW_NUM              )
+#define UL1D_TX_PGA_SLICE_NUM              (MMRFC_TX_PGA_SLICE_NUM             )
+#define UL1D_TX_RC_LPF_CBW_NUM             (MMRFC_TX_RC_LPF_CBW_NUM            )
+#define UL1D_TX_PGA_GAIN_STEP_SUBBAND_NUM  (MMRFC_TX_PGA_GAIN_STEP_SUBBAND_NUM )
+#define UL1D_TX_PGA_GAIN_STEP_NUM          (MMRFC_TX_PGA_GAIN_STEP_NUM         )
+#define UL1D_TX_SUBBAND_NUM                (MMRFC_TX_SUBBAND_NUM               )
+#define UL1D_TX_PGA_CAP_TUNING_SUBBAND_NUM (MMRFC_TX_PGA_CAP_TUNING_SUBBAND_NUM)
+#define UL1D_ANT_NUM                       (MMRFC_ANT_NUM)
+
+
+
+/******************************
+* Rx POC Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX];
+} UMTS_RF_POC_RX_IRR_COMP_T;
+
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RF_POC_RX_DC_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_HPM_TIA_GAIN_STEPS][UL1D_RXDC_HPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_HPM_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_LPM_TIA_GAIN_STEPS][UL1D_RXDC_LPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_LPM_COMP_T;
+
+typedef struct
+{
+   kal_int8             gate_bias_i;
+   kal_int8             gate_bias_q;
+} UMTS_RF_POC_RX_IIP2_COMP_T;
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_hpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_lpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+
+   /* RX DC */
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   /* RX IIP2 */
+   UMTS_RF_POC_RX_IIP2_COMP_T   rx_iip2[UL1D_ANT_NUM][UL1D_RF_RX_IIP2_COMP_ROUTE_MAX];
+
+} UMTS_RF_POC_RX_COMP_DATA_T;
+
+
+/******************************
+* Tx DET POC Part
+*******************************/
+typedef struct
+{
+   kal_int32 i_part;
+   kal_int32 q_part;
+
+} UMTS_DET_EQLPF_COMP_T;
+
+typedef struct
+{
+   UMTS_DET_EQLPF_COMP_T   coef[UL1D_DET_EQLPF_TAP_NUM];
+   kal_int32               scale_i;
+   kal_int32               scale_q;
+} UMTS_DET_FDADPCB_EQLPF_COMP_T;
+
+typedef struct{
+    kal_int8                        gain_est_hw;   //FIIQ gain
+    kal_int8                        phase_est_hw;  //FIIQ phase
+    UMTS_DET_FDADPCB_EQLPF_COMP_T   fd_ad_pcb;     //FDIQ, AD coefficient, 3G do not contain PCB information
+} UMTS_RF_POC_DET_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_DET_DC_COMP_T;
+
+
+
+typedef struct
+{
+   /* DET Coarse DCOC */
+   kal_uint32                  det_coarse_dcoc_cw807;
+   kal_uint32                  det_coarse_dcoc_cw808;
+
+   /* DET IQ/DC/DNL Forward */
+
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+   /* DET IQ/DC/DNL Reverse */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_rev[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_rev[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_rev[UL1D_DET_GAIN_STEPS];
+
+} UMTS_RF_POC_DET_COMP_DATA_T;
+
+/******************************
+* Tx FOWRAD POC Part
+*******************************/
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_RF_POC_TX_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_TX_DC_COMP_T;
+
+typedef struct{
+    kal_int16           freq_dep_filt[MMRFC_FILT_TAPS_NUM];
+} UMTS_TX_FD_FILT_COMP_T;
+
+typedef struct{
+    kal_int16           re;
+    kal_int16           im;
+} UMTS_COMPLEX_16_T;
+
+typedef struct
+{
+   UMTS_COMPLEX_16_T    tx_ga_filt_lin_1[MMRFC_FILT_TAPS_NUM];
+   UMTS_COMPLEX_16_T    tx_ga_filt_lin_2[MMRFC_FILT_TAPS_NUM];
+} UMTS_RF_POC_TX_GA_FILT_COMP_T;
+
+typedef struct
+{
+   kal_int16            slope[13];//[MMRFC_TXGA_MAX_TONES-1];
+   kal_int16            mag_inv_norm[14];//[MMRFC_TXGA_MAX_TONES];
+} UMTS_RF_POC_TX_GA_TPC_COMP_T;
+
+typedef struct{
+   UMTS_RF_POC_TX_GA_FILT_COMP_T  tx_ga_filt_comp;
+   UMTS_RF_POC_TX_GA_TPC_COMP_T   tx_ga_tpc_comp;
+} UMTS_RF_POC_TX_GA_COMP_T;
+
+typedef struct
+{
+   /* TX LO Cal */
+   kal_uint32                   tx_lo;
+   kal_uint8                    tx_lo_ind;
+   kal_uint8                    tx_lo_capcal_peak_cap;
+   kal_uint8                    tx_lo_in_bias_hpm;
+   kal_uint8                    tx_lo_in_bias_lpm;
+   kal_uint32                   stx_dcc_delta_nc;
+
+   /* TX RC */
+   kal_int16                     tx_rc_lpf[UL1D_TX_CBW_NUM];
+   kal_int16                     tx_rc_rcf;
+
+   /* TX FIIQ/DC/DNL Linear Mode */
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM+1];
+
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+
+   kal_int16                    tx_dnl_lin_pga_a[UL1D_TX_DNL_PGA_A_GAIN_STEPS];
+   kal_int16                    tx_dnl_lin_pga_b[UL1D_TX_DNL_PGA_B_GAIN_STEPS+UL1D_TX_DNL_PGA_AUX_GAIN_STEPS];
+
+   /* TX FDIQ Linear Mode 1 */
+   UMTS_TX_FD_FILT_COMP_T       tx_fdiq_lin_1[UL1D_TX_CBW_NUM][UL1D_TX_PGA_SLICE_NUM+1];
+   /* TX FDIQ Linear Mode 2 */
+   UMTS_TX_FD_FILT_COMP_T       tx_fdiq_lin_2[UL1D_TX_CBW_NUM][UL1D_TX_PGA_SLICE_NUM+1];
+
+   /* TX GA */
+   UMTS_RF_POC_TX_GA_COMP_T     tx_ga_w_ET[UL1D_TX_PGA_TYPE_NUM][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_TX_GA_COMP_T     tx_ga_wo_ET[UL1D_TX_PGA_TYPE_NUM][UL1D_TX_CBW_NUM];
+
+   /* TX PGA Phase Step */
+   kal_int16                    pga_phase_step;
+
+   /* TX PGA Gain Step */
+   kal_int16                    pga_gain_step[UL1D_TX_PGA_GAIN_STEP_SUBBAND_NUM][UL1D_TX_PGA_GAIN_STEP_NUM];
+
+   /* TX PGA Cap Tuning */
+   kal_int8                     cap_tuning_pga_a;
+   kal_int8                     cap_tuning_pga_b;
+
+} UMTS_RF_POC_TX_COMP_DATA_T;
+
+typedef struct
+{
+   kal_uint32 verno;
+   UMTSBand band;
+   UMTS_RF_POC_RX_COMP_DATA_T  umts_rx_comp;
+   UMTS_RF_POC_DET_COMP_DATA_T umts_det_comp;
+   UMTS_RF_POC_TX_COMP_DATA_T  umts_tx_comp;
+} UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T;
+
+
+/*******************************************************************************
+** Macro define for POC default value
+*******************************************************************************/
+
+#define UMTS_RXDC_RF_I_Default  (0xFFE0)
+#define UMTS_RXDC_RF_Q_Default  (0xFFE0)
+#define UMTS_RXDC_Dig_I_Default (0)
+#define UMTS_RXDC_Dig_Q_Default (0)
+
+#define UMTS_RXDC_RF_IQ_Default  \
+{\
+    UMTS_RXDC_RF_I_Default, UMTS_RXDC_RF_Q_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_Default  \
+{\
+    UMTS_RXDC_Dig_I_Default,\
+    UMTS_RXDC_Dig_Q_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default,\
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default  \
+{\
+/*rx_dc[2:RX_TIA_GAIN_63p5dB][0~6]*/UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+/*rx_dc[3:RX_TIA_GAIN_69p5dB][0~6]*/UMTS_RXDC_RF_IQ_PGA_HPM_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default  \
+{\
+/*rx_dc[2:RX_TIA_GAIN_63p5dB][0~6]*/UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+/*rx_dc[3:RX_TIA_GAIN_69p5dB][0~6]*/UMTS_RXDC_Dig_IQ_PGA_HPM_Default \
+}
+
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default  \
+{\
+    /*rx_dc[0:RX_TIA_GAIN_67p5dB][0~6]*/UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default  \
+{\
+    /*rx_dc[0:RX_TIA_GAIN_67p5dB][0~6]*/UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+}
+
+
+#define UMTS_RXDC_RF_ANT_HPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_RF_ANT_LPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_Dig_ANT_HPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+}
+
+#define UMTS_RXDC_Dig_ANT_LPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+}
+
+
+//ANT0/1
+#define W_Rx_Irr_5Tap_Comp_Poc_Default \
+{                                      \
+   {0,0,{0,0,512,0,0}},                \
+   {0,0,{0,0,512,0,0}},                \
+}
+
+//ANT0/1
+#define W_Rx_Irr_7Tap_Comp_Poc_Default \
+{                                      \
+   {0,0,{0,0,512,0,0}},                \
+   {0,0,{0,0,512,0,0}},                \
+}
+
+
+
+
+#define M_IIP2_I_DEFAULT (64)
+#define M_IIP2_Q_DEFAULT (64)
+
+#define W_Rx_Iip2_Comp_Poc_Default {M_IIP2_I_DEFAULT, M_IIP2_Q_DEFAULT}
+
+#define UMTS_TX_FD_Iq_5Tap_Comp_Default {{0,0,511,0,0,0,0}}
+#define UMTS_TX_FD_Iq_7Tap_Comp_Default {{0,0,0,511,0,0,0}}
+
+
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default   {0,0,{{{5,5},{-35,-35},{144,144},{-454,-454},{-350,-350},{312,312},{-218,-218},{127,127},{-59,-59},{19,19},{-3,-3}},9,9}}
+#define UMTS_Det_Iq_MG_DC_Comp_Default   {0,0,{{{5,5},{-35,-35},{144,144},{-454,-454},{-350,-350},{312,312},{-218,-218},{127,127},{-59,-59},{19,19},{-3,-3}},9,9}}
+#define UMTS_Det_Iq_LG_SC_Comp_Default   {0,0,{{{5,5},{-36,-36},{144,144},{-437,-437},{-371,-371},{316,316},{-215,-215},{123,123},{-56,-56},{18,18},{-3,-3}},9,9}}
+#define UMTS_Det_Iq_LG_DC_Comp_Default   {0,0,{{{5,5},{-36,-36},{144,144},{-437,-437},{-371,-371},{316,316},{-215,-215},{123,123},{-56,-56},{18,18},{-3,-3}},9,9}}
+
+
+#define UMTS_DET_IQ_MG_DDFAULT  \
+        {  /*UL1D_TX_CBW_NUM=2*/    \
+           UMTS_Det_Iq_MG_SC_Comp_Default,\
+           UMTS_Det_Iq_MG_DC_Comp_Default,\
+        },
+
+#define UMTS_DET_IQ_LG_DDFAULT  \
+        {  /*UL1D_TX_CBW_NUM=2*/    \
+           UMTS_Det_Iq_LG_SC_Comp_Default,\
+           UMTS_Det_Iq_LG_DC_Comp_Default,\
+        },
+
+#define UMTS_DET_DC_DEFAULT  {0/*DC_I*/, 0/*DC_Q*/}
+
+
+#define UMTS_TX_GA_5tap_Comp_Default                                                               \
+{                                                                                                 \
+  {                                                                                               \
+    { {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_1*/         \
+    { {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_2*/         \
+  },                                                                                              \
+  {                                                                                               \
+    {0,0,0,0,0,0,0,0,0},  /*slope : MMRFC_TXGA_MAX_TONES-1 */                                     \
+    {0,0,0,0,0,0,0,0,0,0},/*mag_inv_norm : MMRFC_TXGA_MAX_TONES */                                \
+  },                                                                                              \
+}
+
+#define UMTS_TX_GA_7tap_Comp_Default                                                               \
+{                                                                                                 \
+  {                                                                                               \
+    { {0, 0}, {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_1*/         \
+    { {0, 0}, {0, 0}, {0, 0}, {0x1FF, 0}, {0, 0}, {0, 0}, {0, 0} }, /*tx_ga_filt_lin_2*/         \
+  },                                                                                              \
+  {                                                                                               \
+    {0,0,0,0,0,0,0,0,0},  /*slope : MMRFC_TXGA_MAX_TONES-1 */                                     \
+    {0,0,0,0,0,0,0,0,0,0},/*mag_inv_norm : MMRFC_TXGA_MAX_TONES */                                \
+  },                                                                                              \
+}
+
+#define TX_FDIQ_5Tap_COMP_DEFAULT      \
+{  /* UL1D_TX_PGA_SLICE_NUM+1 = 8 */ \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_5Tap_Comp_Default, \
+ }
+#define TX_FDIQ_7Tap_COMP_DEFAULT      \
+{  /* UL1D_TX_PGA_SLICE_NUM+1 = 8 */ \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+   UMTS_TX_FD_Iq_7Tap_Comp_Default, \
+ }
+
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_HPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_LPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, HPM*/      \
+ {                                             \
+    W_Rx_Irr_5Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default             \
+ },                                            \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_LPM                \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 5, HPM*/      \
+ {                                             \
+    W_Rx_Irr_5Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default,            \
+    W_Rx_Irr_7Tap_Comp_Poc_Default            \
+ },                                            \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IIP2            \
+{                                           \
+ {  /*RXP*/                                 \
+    W_Rx_Iip2_Comp_Poc_Default,/*ROUTE00*/  \
+ },                                         \
+ {  /*RXD*/                                 \
+    W_Rx_Iip2_Comp_Poc_Default,/*ROUTE00*/  \
+ }                                          \
+},
+
+#define UL1D_DEFAULT_RFC_TX_IQ_DC \
+        /*tx_iq_lin*/{{0,0}},     \
+        /*tx_dc_lin*/{{0,0}},     \
+        /*tx_iq_dpd*/{{0,0}},     \
+        /*tx_dc_dpd*/{{0,0}},
+
+//TX part
+#define UL1D_DEFAULT_RFC_DET_CDCOC          0x84210, // Designer David : If you run without POC than use 0x84210 in both of them.  This will not apply any offset correction.
+
+
+#define UL1D_DEFAULT_RFC_DET_IQ_FWD             \
+        { /* UL1D_DET_FE_GAIN_STEPS = 2 */ \
+          UMTS_DET_IQ_MG_DDFAULT  \
+          UMTS_DET_IQ_LG_DDFAULT  \
+        },
+
+#define UL1D_DEFAULT_RFC_DET_IQ_REV             \
+        { /* UL1D_DET_FE_GAIN_STEPS = 2 */ \
+          UMTS_DET_IQ_MG_DDFAULT  \
+          UMTS_DET_IQ_LG_DDFAULT  \
+        },
+
+#define UL1D_DEFAULT_RFC_DET_DC_FWD       \
+        { /* UL1D_DET_GAIN_STEPS = 15*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG05*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG06*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG07*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG08*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG09*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG10*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG11*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG12*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG13*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG14*/  \
+        },
+
+#define UL1D_DEFAULT_RFC_DET_DC_REV       \
+        { /* UL1D_DET_GAIN_STEPS = 15*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG05*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG06*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG07*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG08*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG09*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG10*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG11*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG12*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG13*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG14*/  \
+        },
+
+#define UL1D_DEFAULT_RFC_TX_GA     \
+{                                  \
+  /*tx_ga_w_ET*/                   \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+},                                 \
+{                                  \
+  /*tx_ga_wo_ET*/                  \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+  {                                \
+     UMTS_TX_GA_5tap_Comp_Default, \
+     UMTS_TX_GA_7tap_Comp_Default, \
+  },                               \
+},                                 \
+
+
+
+
+/* Default value from MT6177L, FXP=s6.5 */
+#define UL1D_DEFAULT_RFC_DET_DNL  \
+{                             \
+    918, /*   G0*/            \
+    822, /*   G1*/            \
+    726, /*   G2*/            \
+    630, /*   G3*/            \
+    534, /*   G4*/            \
+    438, /*   G5*/            \
+    342, /*   G6*/            \
+    342, /*   G7*/            \
+    246, /*   G8*/            \
+    150, /*   G9*/            \
+     54, /*   G10*/           \
+    -42, /*   G11*/           \
+   -138, /*   G12*/           \
+   -234, /*   G13*/           \
+   -330, /*   G14*/           \
+},
+
+#define UL1D_DEFAULT_RFC_DET_DNL_FWD  UL1D_DEFAULT_RFC_DET_DNL
+#define UL1D_DEFAULT_RFC_DET_DNL_REV  UL1D_DEFAULT_RFC_DET_DNL
+
+
+
+
+
+//pga_gain_step[UL1D_TX_PGA_GAIN_STEP_SUBBAND_NUM/*12*/][UL1D_TX_PGA_GAIN_STEP_NUM/*10*/]
+#define UL1D_DEFAULT_RFC_TX_PGA_AB   \
+{                                 \
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+   {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_PHASE  (0),
+
+
+
+
+#define UL1D_DEFAULT_RFC_TX_LO_BNone   \
+        /*tx_lo: no use        */0,    \
+        /*tx_lo_ind            */0,    \
+        /*tx_lo_capcal_peak_cap*/0x2C, \
+        /*tx_lo_in_bias_hpm    */0x0F, \
+        /*tx_lo_in_bias_lpm    */0x0F, \
+        /*stx_delta_duty_cycle */0,
+
+
+#define UL1D_DEFAULT_RFC_TX_LO_B1     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x24,\
+        /*tx_lo_in_bias_hpm    */0x20,\
+        /*tx_lo_in_bias_lpm    */0x20,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B2     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x34,\
+        /*tx_lo_in_bias_hpm    */0x22,\
+        /*tx_lo_in_bias_lpm    */0x22,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B3     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x51,\
+        /*tx_lo_in_bias_hpm    */0x1D,\
+        /*tx_lo_in_bias_lpm    */0x1D,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B4     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x51,\
+        /*tx_lo_in_bias_hpm    */0x1D,\
+        /*tx_lo_in_bias_lpm    */0x1D,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B5     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B6     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B8     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B9     \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0x51,\
+        /*tx_lo_in_bias_hpm    */0x1D,\
+        /*tx_lo_in_bias_lpm    */0x1D,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B11    \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */1,   \
+        /*tx_lo_capcal_peak_cap*/0x52,\
+        /*tx_lo_in_bias_hpm    */0x1B,\
+        /*tx_lo_in_bias_lpm    */0x1B,\
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B18    \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_LO_B19    \
+        /*tx_lo: no use        */0,   \
+        /*tx_lo_ind            */0,   \
+        /*tx_lo_capcal_peak_cap*/0,   \
+        /*tx_lo_in_bias_hpm    */0,   \
+        /*tx_lo_in_bias_lpm    */0,   \
+        /*stx_delta_duty_cycle */0,
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_BNone \
+        /*tx_rc_lpf*/{160,128},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B1 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B2 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B3 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B4 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B5 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B6 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B8 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B9 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B11 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B18 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_LPF_B19 \
+        /*tx_rc_lpf*/{172,138},
+
+#define UL1D_DEFAULT_RFC_TX_RC_RCF  \
+        /*MT6177L E2_3wire_Table, #RCF, 16MHz*/(0xE),
+
+#define UL1D_DEFAULT_RFC_TX_CAP_BNone \
+        /*cap_tuning_pga_a*/5,  \
+        /*cap_tuning_pga_b*/14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B1  \
+        /*cap_tuning_pga_a*/0x8,\
+        /*cap_tuning_pga_b*/0xB,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B2  \
+        /*cap_tuning_pga_a*/0xC,\
+        /*cap_tuning_pga_b*/0xE,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B3   \
+        /*cap_tuning_pga_a*/0x13,\
+        /*cap_tuning_pga_b*/0x15,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B4   \
+        /*cap_tuning_pga_a*/0x13,\
+        /*cap_tuning_pga_b*/0x15,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B5  \
+        /*cap_tuning_pga_a*/0xC,\
+        /*cap_tuning_pga_b*/0xA,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B6  \
+        /*cap_tuning_pga_a*/0xC,\
+        /*cap_tuning_pga_b*/0xA,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B8  \
+        /*cap_tuning_pga_a*/0x9,\
+        /*cap_tuning_pga_b*/0x8,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B9  \
+        /*cap_tuning_pga_a*/0xF,\
+        /*cap_tuning_pga_b*/0x16,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B11  \
+        /*cap_tuning_pga_a*/0x27,\
+        /*cap_tuning_pga_b*/0x2A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B18  \
+        /*cap_tuning_pga_a*/0xF,\
+        /*cap_tuning_pga_b*/0xD,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B19  \
+        /*cap_tuning_pga_a*/0xD,\
+        /*cap_tuning_pga_b*/0xC,
+
+/* Default value from MT6177L, FXP=s6.5 */
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA_A  \
+{                                  \
+      0, /* G0, 0dB */            \
+    -18, /* G1, -0.56dB */         \
+    -37, /* G2, -1.16dB */         \
+    -58, /* G3, -1.80dB */         \
+    -80, /* G4, -2.50dB */         \
+   -104, /* G5, -3.25dB */         \
+   -131, /* G6, -4.08dB */         \
+   -160, /* G7, -5.00dB */         \
+   -193, /* G8, -6.02dB */         \
+   -230, /* G9, -7.18dB */         \
+   -273, /* G10, -8.52dB */         \
+   -323, /* G11, -10.10dB */        \
+   -385, /* G12a, -12.04dB */       \
+   -465, /* G13a, -14.54dB */       \
+   -578, /* G14a, -18.06dB */       \
+   -615, /* G15a, -19.22dB */       \
+   -658, /* G16a, -20.56dB */       \
+   -709, /* G17a, -22.14dB */       \
+   -771, /* G18a, -24.08dB */       \
+   -851, /* G19a, -26.58dB */       \
+   -963  /* G20a, -30.10dB */       \
+},
+
+/* Default value from MT6177L, FXP=s6.5 */
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA_B  \
+{                                  \
+    -385, /* G1, -12.04dB */         \
+    -465, /* G1, -14.54dB */         \
+    -578, /* G1, -18.06dB */         \
+    -615, /* G1, -19.22dB */         \
+    -658, /* G1, -20.56dB */         \
+    -709, /* G1, -22.14dB */         \
+    -771, /* G1, -24.08dB */         \
+    -851, /* G1, -26.58dB */         \
+    -963, /* G1, -30.10dB */         \
+   -1156, /* G1, -36.12dB */         \
+   -1348, /* G1, -42.12dB */         \
+   -1540, /* G1, -48.12dB */         \
+   -1732, /* G1, -54.12dB */         \
+   -1924, /* G1, -60.12dB */         \
+   -2116, /* G1, -66.12dB */         \
+   -2308, /* G1, -72.12dB */         \
+   -2500  /* G1, -78.12dB */         \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_FDIQ   \
+{ /*UL1D_TX_CBW_NUM = 2*/    \
+   TX_FDIQ_5Tap_COMP_DEFAULT,      \
+   TX_FDIQ_7Tap_COMP_DEFAULT,      \
+}, /*tx_fdiq_lin_1*/               \
+{    /*UL1D_TX_CBW_NUM = 2*/ \
+   TX_FDIQ_5Tap_COMP_DEFAULT,      \
+   TX_FDIQ_7Tap_COMP_DEFAULT,      \
+}, /*tx_fdiq_lin_2*/
+
+
+#define VERNO_BNone (0),
+#define VERNO_B1    (0),
+#define VERNO_B2    (0),
+#define VERNO_B3    (0),
+#define VERNO_B4    (0),
+#define VERNO_B5    (0),
+#define VERNO_B6    (0),
+#define VERNO_B8    (0),
+#define VERNO_B9    (0),
+#define VERNO_B11   (0),
+#define VERNO_B18   (0),
+#define VERNO_B19   (0),
+
+
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)         \
+{                                             \
+   VERNO_B##BAND_ID                           \
+   UMTSBand##BAND_ID,                         \
+   {                                          \
+       UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+       UL1D_DEFAULT_RFC_RX_IRR_LPM            \
+       UL1D_DEFAULT_RFC_RX_DC_RF_HPM          \
+       UL1D_DEFAULT_RFC_RX_DC_RF_LPM          \
+       UL1D_DEFAULT_RFC_RX_DC_DIG_HPM         \
+       UL1D_DEFAULT_RFC_RX_DC_DIG_LPM         \
+       UL1D_DEFAULT_RFC_RX_IIP2               \
+   },                                         \
+   {                                          \
+       UL1D_DEFAULT_RFC_DET_CDCOC             \
+       UL1D_DEFAULT_RFC_DET_CDCOC             \
+       UL1D_DEFAULT_RFC_DET_IQ_FWD            \
+       UL1D_DEFAULT_RFC_DET_DC_FWD            \
+       UL1D_DEFAULT_RFC_DET_DNL_FWD           \
+       UL1D_DEFAULT_RFC_DET_IQ_REV            \
+       UL1D_DEFAULT_RFC_DET_DC_REV            \
+       UL1D_DEFAULT_RFC_DET_DNL_REV           \
+   },                                         \
+   {                                          \
+       UL1D_DEFAULT_RFC_TX_LO_B##BAND_ID      \
+       UL1D_DEFAULT_RFC_TX_RC_LPF_B##BAND_ID  \
+       UL1D_DEFAULT_RFC_TX_RC_RCF             \
+       UL1D_DEFAULT_RFC_TX_IQ_DC              \
+       UL1D_DEFAULT_RFC_TX_DNL_PGA_A          \
+       UL1D_DEFAULT_RFC_TX_DNL_PGA_B          \
+       UL1D_DEFAULT_RFC_TX_FDIQ               \
+       UL1D_DEFAULT_RFC_TX_GA                 \
+       UL1D_DEFAULT_RFC_TX_PGA_PHASE          \
+       UL1D_DEFAULT_RFC_TX_PGA_AB             \
+       UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID     \
+   }                                          \
+}
+
+#if UMTS_POC_RECAL_ENABLE
+/******************************
+*  POC Recal Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[MMRFC_FILT_TAPS_NUM];
+} UMTS_RX_IRR_RESULT_DBG_T;
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RX_DC_RESULT_DBG_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[MMRFC_RXDC_TIA_GAIN_STEPS][MMRFC_RXDC_PGA_GAIN_WCDMA_STEPS];
+} UMTS_RX_DC_HPM_RESULT_DBG_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[MMRFC_RXDC_TIA_GAIN_LPM_STEPS][MMRFC_RXDC_PGA_GAIN_LPM_STEPS];
+} UMTS_RX_DC_LPM_RESULT_DBG_T;
+
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_TX_IQ_RESULT_DBG_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_TX_DC_RESULT_DBG_T;
+
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T       rx_irr_hpm_recal[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T       rx_irr_lpm_recal[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T    rx_dc_hpm_recal[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T    rx_dc_lpm_recal[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   /* DET Coarse DCOC */
+   kal_uint32                  det_coarse_dcoc_cw807;
+   kal_uint32                  det_coarse_dcoc_cw808;
+
+   /* DET IQ/DC/DNL Forward */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+    /* TX */
+   UMTS_TX_IQ_RESULT_DBG_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_TX_DC_RESULT_DBG_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM+1];
+
+   UMTS_TX_IQ_RESULT_DBG_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+   UMTS_TX_DC_RESULT_DBG_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM+1];
+}UMTS_RF_POC_RECAL_DATA_T;
+
+#endif/*UMTS_POC_RECAL_ENABLE*/
+
+
+#endif /*__UL1D_RFC_DATA_MT6177_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6185m.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6185m.h
new file mode 100644
index 0000000..450af0a
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6185m.h
@@ -0,0 +1,1791 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RFC_DATA_MT6185M_H__
+#define __UL1D_RFC_DATA_MT6185M_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "mml1_rf_cal_def.h"
+
+/*******************************************************************************
+ * Typedef
+ ******************************************************************************/
+/** Structure Prototypes can be seen by other files */
+typedef enum
+{
+   UMTSBandNone = 0,
+   UMTSBand1    = 1,
+   UMTSBand2    = 2,
+   UMTSBand3    = 3,
+   UMTSBand4    = 4,
+   UMTSBand5    = 5,
+   UMTSBand6    = 6,
+   UMTSBand7    = 7,
+   UMTSBand8    = 8,
+   UMTSBand9    = 9,
+   UMTSBand10   = 10,
+   UMTSBand11   = 11,
+   UMTSBand12   = 12,
+   UMTSBand13   = 13,
+   UMTSBand14   = 14,
+   UMTSBand15   = 15,
+   UMTSBand16   = 16,
+   UMTSBand17   = 17,
+   UMTSBand18   = 18,
+   UMTSBand19   = 19,
+   UMTSBand20   = 20,
+   UMTSBand21   = 21,
+   UMTSBand22   = 22,
+   UMTSBandcount
+}  UMTSBand;
+
+
+/*******************************************************************************
+** RFC dimension define
+*******************************************************************************/
+
+#define UL1D_RXDC_TIA_GAIN_STEPS           (4)
+#define UL1D_RXDC_PGA_GAIN_STEPS           (7)
+
+#define UL1D_RXDC_HPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_HPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+
+#define UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX   (7)  /* from MMRFC_RXIRR_FILT_TAPS_NUM       */
+#define UL1D_RF_RX_DC_COMP_ROUTE_MAX       (1)
+#define UL1D_RF_RX_IRR_COMP_ROUTE_MAX      (1)
+#define UL1D_RF_RX_IIP2_COMP_ROUTE_MAX     (1)
+
+#define UL1D_RX_CBW_NUM                    (3 ) /* from MMRFC_UMTS_RX_CBW_NUM           */
+#define UL1D_DET_FE_GAIN_STEPS             (1 ) /* from MMRFC_DET_FE_GAIN_STEPS         */
+#define UL1D_DET_GAIN_STEPS                (5 ) /* from MMRFC_DET_GAIN_STEPS            */
+#define UL1D_DET_EQLPF_TAP_NUM             (13) /* from MMRFC_DET_EQLPF_TAP_NUM         */
+#define UL1D_TX_PGA_TYPE_NUM               (3 ) /* from MMRFC_TX_PGA_TYPE_NUM           */
+#define UL1D_TX_DNL_PGA_A_GAIN_STEPS       (22) /* from MMRFC_TX_DNL_PGA_A_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_B_GAIN_STEPS       (0 ) /* from MMRFC_TX_DNL_PGA_B_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_AUX_GAIN_STEPS     (5 ) /* from MMRFC_TX_DNL_PGA_AUX_GAIN_STEPS */
+#define UL1D_TX_PGA_SLICE_NUM              (4 ) /* from MMRFC_TX_PGA_SLICE_NUM          */
+#define UL1D_TX_PGA_BIAS_NUM               (3 ) /* from MMRFC_TX_PGA_BIAS_STEP_NUM      */
+#define UL1D_TX_CBW_NUM                    (2 ) /* from MMRFC_UMTS_TX_CBW_NUM           */
+#define UL1D_TX_PGA_GAIN_STEP_NUM          (10) /* from MMRFC_TX_PGA_GAIN_STEP_NUM      */
+#define UL1D_TX_SUBBAND_NUM                (3 ) /* from MMRFC_TX_SUBBAND_NUM            */
+#define UL1D_ANT_NUM                       (2 ) /* from MMRFC_ANT_NUM                   */
+
+#define UL1D_TX_PGA_CAP_TUNING_SUBBAND_NUM (UL1D_TX_SUBBAND_NUM)/* from MMRFC_TX_PGA_CAP_TUNING_SUBBAND_NUM */
+#define UL1D_TX_DNL_PGA_TOTAL_NUM          (UL1D_TX_DNL_PGA_A_GAIN_STEPS + UL1D_TX_DNL_PGA_B_GAIN_STEPS + UL1D_TX_DNL_PGA_AUX_GAIN_STEPS)
+
+
+/******************************
+* Rx POC Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX];
+} UMTS_RF_POC_RX_IRR_COMP_T;
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RF_POC_RX_DC_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_HPM_TIA_GAIN_STEPS][UL1D_RXDC_HPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_HPM_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_LPM_TIA_GAIN_STEPS][UL1D_RXDC_LPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_LPM_COMP_T;
+
+typedef struct
+{
+   kal_int8             gate_bias_i;
+   kal_int8             gate_bias_q;
+} UMTS_RF_POC_RX_IIP2_COMP_T;
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_hpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_lpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+
+   /* RX DC */
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   /* RX IIP2 */
+   UMTS_RF_POC_RX_IIP2_COMP_T   rx_iip2[UL1D_ANT_NUM][UL1D_RF_RX_IIP2_COMP_ROUTE_MAX];
+
+} UMTS_RF_POC_RX_COMP_DATA_T;
+
+
+/******************************
+* Tx DET POC Part
+*******************************/
+typedef struct
+{
+   kal_int32 i_part;
+   kal_int32 q_part;
+
+} UMTS_DET_EQLPF_COMP_T;
+
+typedef struct
+{
+   UMTS_DET_EQLPF_COMP_T   coef[UL1D_DET_EQLPF_TAP_NUM];
+   kal_int32               scale_i;
+   kal_int32               scale_q;
+} UMTS_DET_FDADPCB_EQLPF_COMP_T;
+
+typedef struct{
+    kal_int8                        tx_mod_slice_phase_aux; //For TrinityL E2
+    kal_int8                        phase_est_hw;  //FIIQ phase
+    UMTS_DET_FDADPCB_EQLPF_COMP_T   fd_ad_pcb;     //FDIQ, AD coefficient, 3G do not contain PCB information
+} UMTS_RF_POC_DET_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_DET_DC_COMP_T;
+
+
+typedef struct
+{
+   kal_uint32 mrx_cdcoc_i;
+   kal_uint32 mrx_cdcoc_q;
+}
+UMTS_RF_POC_MRX_CDCOC_PGA_T;
+
+typedef struct
+{
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_15_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_09_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_03_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_neg_03_db;
+}
+UMTS_RF_POC_MRX_COARSE_DC_T;
+
+
+
+typedef struct
+{
+   /* DET Coarse DCOC */
+   /*
+      Trinity TX Calibrations V1.1 Draft.docx
+      5.1 MRX Coarse DC-offset Calibration (ES2 Approach)
+
+      We need to calibrate PGA = 15dB, PGA = 9dB, PGA = 3dB, and -3dB.
+      We need to calibrate the TX-loopback and the antenna-loopback separately.
+      DPD also uses PGA gain -9dB, but that PGA gain can reuse the -3dB calibration.
+
+      det_cdcoc[0]: PGA = 15dB --> CW939 : TX1_MRX_CDCOC_I/Q1[4:0]
+      det_cdcoc[0]: PGA = 15dB --> CW1006: TX0_MRX_CDCOC_I/Q1[4:0]
+
+      det_cdcoc[1]: PGA =  9dB --> CW939 : TX1_MRX_CDCOC_I/Q2[4:0]
+      det_cdcoc[1]: PGA =  9dB --> CW1006: TX0_MRX_CDCOC_I/Q2[4:0]
+
+      det_cdcoc[2]: PGA =  3dB --> CW940 : TX1_MRX_CDCOC_I/Q3[4:0]
+      det_cdcoc[2]: PGA =  3dB --> CW1007: TX0_MRX_CDCOC_I/Q3[4:0]
+
+      det_cdcoc[3]: PGA = -3dB --> CW940 : TX1_MRX_CDCOC_I/Q4[4:0]
+      det_cdcoc[3]: PGA = -3dB --> CW1007: TX0_MRX_CDCOC_I/Q4[4:0]
+   */
+   UMTS_RF_POC_MRX_COARSE_DC_T  det_cdcoc;
+
+   /* DET IQ/DC/DNL Forward */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+   kal_int16                    mrx_ctune_pga[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+   kal_int16                    mrx_ctune_tza[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+
+} UMTS_RF_POC_DET_COMP_DATA_T;
+
+/******************************
+* Tx FOWRAD POC Part
+*******************************/
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_RF_POC_TX_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_TX_DC_COMP_T;
+
+typedef struct
+{
+
+   /* TX LPF*/
+   kal_int16                    tx_lpf_abb_rsel;
+   kal_int16                    tx_lpf_abb_csel_1;
+   kal_int16                    tx_lpf_abb_csel_2;
+
+   /* TX RCF*/
+   kal_int16                    tx_rcf_rsel;
+   kal_int16                    tx_rcf_csel_4a;
+   kal_int16                    tx_rcf_csel_1b;
+   kal_int16                    tx_rcf_csel_2a;
+
+   /* TX CDCOC */
+   /*
+   Trinity TX Calibrations Table V1.1 Draft.xlsx
+   1) Coarse DC offset compensator located in DAC IP (modem). Compensation changes with # of slices (gain word).
+   2) Requires recalibration per RAT because of changes in R used in ABB. RAT's using same R can reuse calibration
+   3) Requires L1 and CSD support
+
+   per ABB slice CM: 4A, 2A, 1A, 1B
+   */
+   UMTS_RF_POC_TX_DC_COMP_T     tx_cdcoc[UL1D_TX_PGA_SLICE_NUM];
+
+   /* TX FIIQ/DC/DNL Linear Mode */
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM];
+
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM];
+
+   kal_int16                    tx_dnl_lin_pga_a[UL1D_TX_DNL_PGA_TOTAL_NUM];
+
+   /* TX PGA Phase Step */
+   kal_int32                    tx_mod_slice_phase[UL1D_TX_PGA_SLICE_NUM-1/*Slice: 0:4A, 1:2A, 2:1A*/];
+
+   /* TX PGA Cap Tuning */
+   kal_uint32                   cap_opt_a;
+   kal_uint32                   tx_drv_ctunemod;
+
+   /* TX PGA BIAS: 4 calibrated BMA_CAL<7:0> codes */
+   /* 3 BMA values used for different number of PGA slices (4/2/1)*/
+   /* 1 additional BMA value used in DPD mode. The latter is never used in practice*/
+   /* A60864_TX_Programming_Guide_v1p0.docx
+      4.3.1 PGA Bias Calibration programming
+
+      CW888: TX1_PGABIAS_BMA1_DEF[7:0]-->PGABIAS BMA4 gain lookup default-->DPD
+      CW888: TX1_PGABIAS_BMA2_DEF[7:0]-->PGABIAS BMA3 gain lookup default-->1 Slice
+      CW887: TX1_PGABIAS_BMA3_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->2 Slices
+      CW887: TX1_PGABIAS_BMA4_DEF[7:0]-->PGABIAS BMA1 gain lookup default-->4 Slices
+
+      CW955: TX0_PGABIAS_BMA1_DEF[7:0]-->PGABIAS BMA4 gain lookup default-->DPD
+      CW955: TX0_PGABIAS_BMA2_DEF[7:0]-->PGABIAS BMA3 gain lookup default-->1 Slice
+      CW954: TX0_PGABIAS_BMA3_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->2 Slices
+      CW954: TX0_PGABIAS_BMA4_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->4 Slices
+   */
+   kal_int32                    tx_pga_bias[UL1D_TX_PGA_BIAS_NUM/* Slice: 0:4A, 1:2A, 2:1A */];
+
+} UMTS_RF_POC_TX_COMP_DATA_T;
+
+typedef struct
+{
+   kal_uint32 verno;
+   UMTSBand band;
+   UMTS_RF_POC_RX_COMP_DATA_T  umts_rx_comp;
+   UMTS_RF_POC_DET_COMP_DATA_T umts_det_comp;
+   UMTS_RF_POC_TX_COMP_DATA_T  umts_tx_comp;
+} UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T;
+
+
+/*******************************************************************************
+** Macro define for POC default value
+*******************************************************************************/
+
+
+/*Trinity_RX_Programming_Guide_0p1_20170607     */
+/*Table 4-3 DCOC Mapping Table                  */
+/*Offset Voltage(V) = 0V, DCOC[5:0] = 6'b100000 */
+
+#define UMTS_RXDC_RF_I_Default  (0xFFE0)
+#define UMTS_RXDC_RF_Q_Default  (0xFFE0)
+#define UMTS_RXDC_Dig_I_Default (0)
+#define UMTS_RXDC_Dig_Q_Default (0)
+
+#define UMTS_RXDC_RF_IQ_Default  \
+{\
+    UMTS_RXDC_RF_I_Default, UMTS_RXDC_RF_Q_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_Default  \
+{\
+    UMTS_RXDC_Dig_I_Default,\
+    UMTS_RXDC_Dig_Q_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default,\
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default \
+}
+
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+}
+
+
+
+#define UMTS_RXDC_RF_ANT_HPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_RF_ANT_LPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_Dig_ANT_HPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+}
+
+#define UMTS_RXDC_Dig_ANT_LPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+}
+
+#define UMTS_RX_IRR_TAP_DEFAULT \
+{                                      \
+   /*ANT0*/{0,0,{0,0,0,1024,0,0,0}},   \
+   /*ANT1*/{0,0,{0,0,0,1024,0,0,0}},   \
+}
+
+#define UMTS_RX_IIP2_I_DEFAULT (64)
+#define UMTS_RX_IIP2_Q_DEFAULT (64)
+#define UMTS_RX_IIP2_DEFAULT {UMTS_RX_IIP2_I_DEFAULT, UMTS_RX_IIP2_Q_DEFAULT}
+
+/*
+Manel: 
+Please note that the table shows the phase change introduced by RF. 
+The DFE compensation must have the opposite sign than what is shown on the table.
+*/
+
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_2     (-14 )  //  2.5*1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_2_to_1     (-4  )  //  0.7*1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_1     (-18 )  //  3.2*1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_1_to_AUX   (0   )  //    0*1024/180
+
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_2     (-40 )  //    7*1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_2_to_1     (-57 )  //   10*1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_1     (-97 )  //   17*1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_1_to_AUX   (0   )  //    0*1024/180
+
+#define UMTS_TX_PHASE_LB_4A_DEFAULT  (0)
+#define UMTS_TX_PHASE_LB_2A_DEFAULT  (UMTS_TX_PHASE_LB_4A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_2)
+#define UMTS_TX_PHASE_LB_1A_DEFAULT  (UMTS_TX_PHASE_LB_2A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_2_to_1)
+#define UMTS_TX_PHASE_LB_AUX_DEFAULT (UMTS_TX_PHASE_LB_1A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_1_to_AUX)
+
+
+#define UMTS_TX_PHASE_MB_4A_DEFAULT  (0)
+#define UMTS_TX_PHASE_MB_2A_DEFAULT  (UMTS_TX_PHASE_MB_4A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_2)
+#define UMTS_TX_PHASE_MB_1A_DEFAULT  (UMTS_TX_PHASE_MB_2A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_2_to_1)
+#define UMTS_TX_PHASE_MB_AUX_DEFAULT (UMTS_TX_PHASE_MB_1A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_1_to_AUX)
+
+
+#define UMTS_TX_PHASE_AUX_BNone \
+(                               \
+    UMTS_TX_PHASE_MB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B1    \
+(                               \
+    UMTS_TX_PHASE_MB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B2    \
+(                               \
+    UMTS_TX_PHASE_MB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B3    \
+(                               \
+    UMTS_TX_PHASE_MB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B4    \
+(                               \
+    UMTS_TX_PHASE_MB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B5    \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B6    \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B8    \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B9    \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B11   \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B18   \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+#define UMTS_TX_PHASE_AUX_B19   \
+(                               \
+    UMTS_TX_PHASE_LB_AUX_DEFAULT   \
+)
+
+/*95_TxDFERF_TxK_default_settings_20171027.xlsx*/
+#define UMTS_DET_IQ_PHASE_EST_HW_DEFAULT   (0)/*phase_est_hw: DET_FI (S-4.10.9) POC*/
+
+#define UMTS_DET_IQ_EQLPF_I_SCALE_DEFAULT  (1)/*scale_i: DET_EQLPF_I_SCALE (U2.0)*/
+
+#define UMTS_DET_IQ_EQLPF_Q_SCALE_DEFAULT  (1)/*scale_q: DET_EQLPF_Q_SCALE (U2.0)*/
+
+#define UMTS_DET_IQ_EQ_COEF_DEFAULT                                 \
+      {                                                                 \
+        {    4,    4},/*coef[00]: DET_EQLPF_I_C00, DET_EQLPF_Q_C00*/    \
+        {  -22,  -22},/*coef[01]: DET_EQLPF_I_C01, DET_EQLPF_Q_C01*/    \
+        {   74,   74},/*coef[02]: DET_EQLPF_I_C02, DET_EQLPF_Q_C02*/    \
+        { -186, -186},/*coef[03]: DET_EQLPF_I_C03, DET_EQLPF_Q_C03*/    \
+        {  417,  417},/*coef[04]: DET_EQLPF_I_C04, DET_EQLPF_Q_C04*/    \
+        {-1021,-1021},/*coef[05]: DET_EQLPF_I_C05, DET_EQLPF_Q_C05*/    \
+        { 3513, 3513},/*coef[06]: DET_EQLPF_I_C06, DET_EQLPF_Q_C06*/    \
+        {-1010,-1010},/*coef[07]: DET_EQLPF_I_C07, DET_EQLPF_Q_C07*/    \
+        {  401,  401},/*coef[08]: DET_EQLPF_I_C08, DET_EQLPF_Q_C08*/    \
+        { -171, -171},/*coef[09]: DET_EQLPF_I_C09, DET_EQLPF_Q_C09*/    \
+        {   65,   65},/*coef[10]: DET_EQLPF_I_C10, DET_EQLPF_Q_C10*/    \
+        {  -18,  -18},/*coef[11]: DET_EQLPF_I_C11, DET_EQLPF_Q_C11*/    \
+        {    3,    3} /*coef[12]: DET_EQLPF_I_C12, DET_EQLPF_Q_C12*/    \
+}
+
+
+/*95_TxDFERF_TxK_default_settings_20171027.xlsx*/
+#define UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT   \
+    UMTS_DET_IQ_PHASE_EST_HW_DEFAULT,           \
+    { /*   fd_ad_pcb: */                        \
+      UMTS_DET_IQ_EQ_COEF_DEFAULT,              \
+      UMTS_DET_IQ_EQLPF_I_SCALE_DEFAULT,        \
+      UMTS_DET_IQ_EQLPF_Q_SCALE_DEFAULT         \
+    }
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_BNone    \
+{                                               \
+    UMTS_TX_PHASE_AUX_BNone,                    \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B1       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B1,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B2       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B2,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B3       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B3,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B4       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B4,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B5       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B5,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B6       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B6,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B8       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B8,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B9       \
+{                                               \
+    UMTS_TX_PHASE_AUX_B9,                       \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B11      \
+{                                               \
+    UMTS_TX_PHASE_AUX_B11,                      \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B18      \
+{                                               \
+    UMTS_TX_PHASE_AUX_B18,                      \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B19      \
+{                                               \
+    UMTS_TX_PHASE_AUX_B19,                      \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_DET_IQ_MG_DFAULT_BNone      \
+        {  /*UL1D_TX_CBW_NUM=2*/    \
+    UMTS_Det_Iq_MG_SC_Comp_Default_BNone,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_BNone,\
+        },
+
+#define UMTS_DET_IQ_MG_DFAULT_B1      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B1,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B1,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B2      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B2,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B2,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B3      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B3,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B3,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B4      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B4,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B4,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B5      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B5,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B5,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B6      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B6,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B6,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B8      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B8,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B8,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B9      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B9,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B9,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B11      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B11,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B11,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B18      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B18,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B18,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B19      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B19,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B19,\
+},
+
+
+#define UMTS_DET_DC_DEFAULT  {0/*DC_I*/, 0/*DC_Q*/}
+
+
+// RX
+//============================================================
+#define UL1D_DEFAULT_RFC_RX_DC_RF_HPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_LPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, HPM*/      \
+ {                                             \
+    /*SC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*DC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*3C*/UMTS_RX_IRR_TAP_DEFAULT       \
+ },                                            \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_LPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, LPM*/      \
+ {                                             \
+    /*SC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*DC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*3C*/UMTS_RX_IRR_TAP_DEFAULT       \
+ },                                            \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IIP2            \
+{                                           \
+ {  /*RXP*/                                 \
+    UMTS_RX_IIP2_DEFAULT,/*ROUTE00*/  \
+ },                                         \
+ {  /*RXD*/                                 \
+    UMTS_RX_IIP2_DEFAULT,/*ROUTE00*/  \
+ }                                          \
+},
+
+
+//DET
+//============================================================
+
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_BNone      \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_BNone      \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B1         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B1         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B2         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B2         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B3         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B3         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B4         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B4         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B5         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B5         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B6         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B6         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B8         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B8         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B9         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B9         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B11        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B11        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B18        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B18        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B19        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B19        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_DC         \
+        { /* UL1D_DET_GAIN_STEPS = 5*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+        },
+
+/* A60864A_BBBM_TABLE_MERGED.xlsx */
+/* sheet: MRX0_GAIN & MRX1_GAIN   */
+/* MRX Gain*/
+#define UL1D_DEFAULT_RFC_MRX_DNL  \
+{                                 \
+    192, /*   G0:  6 dB*/       \
+    0  , /*   G1:  0 dB*/       \
+   -192, /*   G2: -6dB*/       \
+   -384, /*   G3: -12 dB*/       \
+   -576, /*   G4: -18dB*/       \
+},
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC_PGA \
+{                              \
+   /* mrx_cdcoc_i */0,         \
+   /* mrx_cdcoc_q */0          \
+}
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC \
+{                                  \
+   /* pga_pos_15_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_pos_09_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_pos_03_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_neg_03_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA       \
+},
+
+
+
+/*
+  A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+  CW718[D07:D00] RG_TX1_MRX_PGA_CTUNE[7:0] = 0x3C
+  CW718[D15:D08] RG_TX1_MRX_TZA_CTUNE[7:0] = 0x18
+  CW738[D07:D00] RG_TX0_MRX_PGA_CTUNE[7:0] = 0x3C
+  CW738[D15:D08] RG_TX0_MRX_TZA_CTUNE[7:0] = 0x18
+*/
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_PGA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x3C,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x3C \
+},
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_TZA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x18,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x18 \
+},
+
+
+//TX
+//============================================================
+
+
+/*DOC  : Trinity-L TX Gain Table V1.1 Draft.xlsx */
+/*Sheet: Gain Tables                             */
+/*Table: LB & MB & HB_UHB                        */
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA   \
+{                                     \
+     0   , /* G0 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain =  0.00 dB  */ \
+    -18  , /* G1 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -0.56 dB  */ \
+    -37  , /* G2 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.16 dB  */ \
+    -58  , /* G3 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.80 dB  */ \
+    -80  , /* G4 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -2.50 dB  */ \
+    -104 , /* G5 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -3.25 dB  */ \
+    -131 , /* G6 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.08 dB  */ \
+    -160 , /* G7 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.99 dB  */ \
+    -193 , /* G8 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -6.02 dB  */ \
+    -230 , /* G9 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -7.18 dB  */ \
+    -273 , /* G10,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -8.52 dB  */ \
+    -323 , /* G11,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -10.10dB  */ \
+    -366 , /* G12,  A  , ABB MOD LO Slice = 2, PGA Slice = 4, Gain = -11.43dB  */ \
+    -468 , /* G13,  A  , ABB MOD LO Slice = 2, PGA Slice = 2, Gain = -14.62dB  */ \
+    -526 , /* G14,  A  , ABB MOD LO Slice = 1, PGA Slice = 4, Gain = -16.45dB  */ \
+    -621 , /* G15,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -19.40dB  */ \
+    -734 , /* G16,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -22.93dB  */ \
+    -853 , /* G17,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -26.67dB  */ \
+    -988 , /* G18,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -30.89dB  */ \
+    -1181, /* G19,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -36.91dB  */ \
+    -1374, /* G20,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -42.93dB  */ \
+    -1566, /* G21,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -48.95dB  */ \
+    -1759, /* G22,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -54.97dB  */ \
+    -1952, /* G23,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -60.99dB  */ \
+    -2144, /* G24,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -67.01dB  */ \
+    -2337, /* G25,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -73.03dB  */ \
+    -2530  /* G26,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -79.05dB  */ \
+},
+
+
+/*DOC  : Trinity-L TX Gain Table V1.1 Draft.xlsx */
+/*Sheet: Gain Tables                             */
+/*Table: LB & MB & HB_UHB                        */
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA_E2 \
+{                                      \
+     0   , /* G0 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain =  0.00 dB  */ \
+    -18  , /* G1 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -0.56 dB  */ \
+    -37  , /* G2 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.16 dB  */ \
+    -58  , /* G3 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.80 dB  */ \
+    -80  , /* G4 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -2.50 dB  */ \
+    -104 , /* G5 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -3.25 dB  */ \
+    -131 , /* G6 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.08 dB  */ \
+    -160 , /* G7 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.99 dB  */ \
+    -193 , /* G8 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -6.02 dB  */ \
+    -230 , /* G9 ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -7.18 dB  */ \
+    -273 , /* G10,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -8.52 dB  */ \
+    -323 , /* G11,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -10.10dB  */ \
+    -366 , /* G12,  A  , ABB MOD LO Slice = 2, PGA Slice = 4, Gain = -11.43dB  */ \
+    -468 , /* G13,  A  , ABB MOD LO Slice = 2, PGA Slice = 2, Gain = -14.62dB  */ \
+    -526 , /* G14,  A  , ABB MOD LO Slice = 1, PGA Slice = 4, Gain = -16.45dB  */ \
+    -621 , /* G15,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -19.40dB  */ \
+    -734 , /* G16,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -22.93dB  */ \
+    -853 , /* G17,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -26.67dB  */ \
+    -988 , /* G18,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -30.89dB  */ \
+    -1181, /* G19,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -36.91dB  */ \
+    -1374, /* G20,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -42.93dB  */ \
+    -1566, /* G21,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -48.95dB  */ \
+    -1759, /* G22,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -54.97dB  */ \
+    -1952, /* G23,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -60.99dB  */ \
+    -2144, /* G24,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -67.01dB  */ \
+    -2337, /* G25,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -73.03dB  */ \
+    -2530  /* G26,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -79.05dB  */ \
+},
+
+
+
+#define UL1D_DEFAULT_RFC_TX_IQ_DC \
+        /*tx_iq_lin*/{{0,0}},     \
+        /*tx_dc_lin*/{{0,0}},     \
+        /*tx_iq_dpd*/{{0,0}},     \
+        /*tx_dc_dpd*/{{0,0}},
+
+#define UL1D_DEFAULT_RFC_TX_CDCOC \
+        { \
+        /*tx_cdcoc[0:MMRFC_TX_ABB_SLICE_CAL_4A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[1:MMRFC_TX_ABB_SLICE_CAL_2A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[2:MMRFC_TX_ABB_SLICE_CAL_1A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[3:MMRFC_TX_ABB_SLICE_CAL_AUX]*/{/*dc_i*/0,/*dc_q*/0}      \
+        },
+
+/* TX LPF*/
+/* ==============================================================================
+
+   A60864_TX_Programming_Guide_v1p0.docx,
+   - 3.7   Bandwidth control, Table 3 15 3G Filter Configurations: LPF_6P8M/CW719/CW739
+   - 3.7.1 ABB BW Controls, Table 3 18 ABB RC Controls: TX0_BBBM10 & TX1_BBBM10
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   A60864A_BBBM_TABLE_MERGED.xlsx
+   A60864_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+
+   CW739   TX0_BBBM10  TX0_ABB_CSEL1/2[7:0]  TX0_ABB_RSEL  [1:0]
+   CW719   TX1_BBBM10  TX1_ABB_CSEL1/2[7:0]  TX1_ABB_RSEL  [1:0] --> 2 bits
+   CW890   TX1_ABBMAN1 TX1_ABB_CSEL1_M[7:0]  -------------------
+                       TX1_ABB_CSEL2_M[7:0]  -------------------
+   CW957   TX2_ABBMAN1 TX2_ABB_CSEL1_M[7:0]  -------------------
+                       TX2_ABB_CSEL2_M[7:0]  -------------------
+   CW891   TX1_ABBMAN2 --------------------  TX1_ABB_RSEL_M[3:0] --> 4 bits ?
+   CW958   TX2_ABBMAN2 --------------------  TX2_ABB_RSEL_M[3:0]
+
+   |Band         | Path    | Mode     | TX0/1_ABB_CSEL1[7:0]| TX0/1_ABB_CSEL2[7:0]| TX0/1_ABB_RSEL[1:0]|
+   |-------------|---------|----------|---------------------|---------------------|--------------------|
+   |3G_FDD_Band01| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band02| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band03| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band04| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band05| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band06| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band08| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band09| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band11| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band18| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band19| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+
+   =============================================================================*/
+
+#define UL1D_DEFAULT_RFC_TX_LPF_BNone \
+       /*tx_lpf_abb_rsel  */ 0x2, \
+       /*tx_lpf_abb_csel_1*/ 0xA2,\
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B1 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B2 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B3 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B4 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B5 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B6 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B8 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B9 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B11 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xA2,  \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B18 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xA2,  \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B19 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xA2,  \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+
+
+
+/* TX RCF*/
+/*
+   A60864A_BBBM_TABLE_MERGED.xlsx
+   A60864_TX_Programming_Guide_v1p0.docx,
+   - 3.7.2 RCF BW Controls
+     CW729 TX0_BBBM5 RCEL [15:8] CSEL_4[7:0]
+     CW730 TX0_BBBM6 CSEL1[15:8] CSEL_2[7:0]
+
+     CW709 TX1_BBBM5 RCEL [15:8] CSEL_4[7:0]
+     CW710 TX1_BBBM6 CSEL1[15:8] CSEL_2[7:0]
+
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   A60864_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+
+                                              CW729[15:8]          CW729[7:0]           CW730[15:8]             CW730[7:0]
+   |Band          | Path  | Mode:TX0        | RG_TX0_RCF_RSEL[7:0]|TX0_RCF_CSEL_4[7:0]| TX0_RCF_CSEL_1[7:0]  |  TX0_RCF_CSEL_2[7:0]|
+   |--------------|-------|-----------------|---------------------|------------------ |----------------------|---------------------|
+   |3G_FDD_Band01 | 1     | RCF_MB1_16M     | 0x2A                |  0x1D             | 0x27                 |  0x21               |
+   |3G_FDD_Band02 | 1     | RCF_MB2_16M     | 0x2F                |  0x20             | 0x28                 |  0x22               |
+   |3G_FDD_Band03 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band04 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x22                 |  0x22               |
+   |3G_FDD_Band05 | 0     | RCF_MB2_16M     | 0x21                |  0x20             | 0x28                 |  0x22               |
+   |3G_FDD_Band06 | 0     | RCF_MB2_16M     | 0x21                |  0x20             | 0x28                 |  0x22               |
+   |3G_FDD_Band08 | 0     | RCF_MB1_16M     | 0x1C                |  0x1D             | 0x27                 |  0x21               |
+   |3G_FDD_Band09 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band11 | 1     | RCF_MB4_16M     | 0x37                |  0x23             | 0x2A                 |  0x24               |
+   |3G_FDD_Band18 | 0     | RCF_LB3_16M     | 0x24                |  0x19             | 0x23                 |  0x1D               |
+   |3G_FDD_Band19 | 0     | RCF_LB2_16M     | 0x21                |  0x19             | 0x23                 |  0x1D               |
+
+                                              CW709[15:8]          CW709[7:0]           CW710[15:8]             CW710[7:0]
+   |Band          | Path  | Mode:TX1        | RG_TX1_RCF_RSEL[7:0]|TX1_RCF_CSEL_4[7:0]| TX1_RCF_CSEL_1[7:0]  |  TX1_RCF_CSEL_2[7:0]|
+   |--------------|-------|-----------------|---------------------|------------------ |----------------------|---------------------|
+   |3G_FDD_Band01 | 1     | RCF_MB1_16M     | 0x2A                |  0x1D             | 0x27                 |  0x21               |
+   |3G_FDD_Band02 | 1     | RCF_MB2_16M     | 0x2F                |  0x20             | 0x28                 |  0x22               |
+   |3G_FDD_Band03 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band04 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band05 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band06 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band08 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band09 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band11 | 1     | RCF_MB4_16M     | 0x37                |  0x23             | 0x2A                 |  0x24               |
+   |3G_FDD_Band18 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band19 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+*/
+
+#define UL1D_DEFAULT_RFC_TX_RCF_BNone    \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x21,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B1 \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x21,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B2 \
+       /*tx_rcf_rsel      */ 0x2F, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x28, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B3 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x29, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B4 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x29, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B5 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x28, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B6 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x28, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B8 \
+       /*tx_rcf_rsel      */ 0x1C, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x21,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B9 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x29, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B11 \
+       /*tx_rcf_rsel      */ 0x37,  \
+       /*tx_rcf_csel_4a   */ 0x23,  \
+       /*tx_rcf_csel_1b   */ 0x2A,  \
+       /*tx_rcf_csel_2a   */ 0x24,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B18 \
+       /*tx_rcf_rsel      */ 0x24,  \
+       /*tx_rcf_csel_4a   */ 0x19,  \
+       /*tx_rcf_csel_1b   */ 0x23,  \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B19 \
+       /*tx_rcf_rsel      */ 0x21,  \
+       /*tx_rcf_csel_4a   */ 0x19,  \
+       /*tx_rcf_csel_1b   */ 0x23,  \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_BNone \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B1 \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B2 \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B3 \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B4 \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B5 \
+{                                              \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B6 \
+{                                              \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B8 \
+{                                              \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B9 \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B11 \
+{                                              \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B18 \
+{                                              \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B19 \
+{                                              \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+
+/*
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   A60864_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+   ------------------------------------------------------------------------------------------------------------------------------
+   |              |      | CW726[D19~D12]:           | CW726[D11~D4]:        | CW706[D19~D12]:          | CW706[D11~D4]:        |
+   |Band          | Path | RG_TX0_DRV_CTUNEMOD[7:0]  | RG_TX0_PGA_CTUNE[7:0] | RG_TX1_DRV_CTUNEMOD[7:0] | RG_TX1_PGA_CTUNE[7:0] |
+   |--------------|------|---------------------------|-----------------------|--------------------------|-----------------------|
+   |3G_FDD_Band01 | 1    | 0x09                      | 0x0F                  | 0x09                     | 0x10                  |
+   |3G_FDD_Band02 | 1    | 0x0D                      | 0x11                  | 0x0D                     | 0x13                  |
+   |3G_FDD_Band03 | 1    | 0x14                      | 0x17                  | 0x13                     | 0x19                  |
+   |3G_FDD_Band04 | 1    | 0x14                      | 0x17                  | 0x14                     | 0x19                  |
+   |3G_FDD_Band05 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band06 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band08 | 0    | 0x07                      | 0x09                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band09 | 1    | 0x12                      | 0x16                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band11 | 1    | 0x2C                      | 0x26                  | 0x2C                     | 0x26                  |
+   |3G_FDD_Band18 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band19 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   ------------------------------------------------------------------------------------------------------------------------------
+*/
+
+#define UL1D_DEFAULT_RFC_TX_CAP_BNone \
+        /*cap_opt_a      */0,   \
+        /*tx_drv_ctunemod*/0,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B1 \
+        /*cap_opt_a      */0x10,   \
+        /*tx_drv_ctunemod*/0x09,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B2 \
+        /*cap_opt_a      */0x13,   \
+        /*tx_drv_ctunemod*/0x0D,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B3 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x13,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B4 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B5 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B6 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B8 \
+        /*cap_opt_a      */0x09,   \
+        /*tx_drv_ctunemod*/0x07,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B9 \
+        /*cap_opt_a      */0x16,   \
+        /*tx_drv_ctunemod*/0x12,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B11 \
+        /*cap_opt_a      */0x26,    \
+        /*tx_drv_ctunemod*/0x2C,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B18 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B19 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+/*
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   A60864_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+   ------------------------------------------------------------------------------------------------------------------------------
+   |              |      | CW726[D19~D12]:           | CW726[D11~D4]:        | CW706[D19~D12]:          | CW706[D11~D4]:        |
+   |Band          | Path | RG_TX0_DRV_CTUNEMOD[7:0]  | RG_TX0_PGA_CTUNE[7:0] | RG_TX1_DRV_CTUNEMOD[7:0] | RG_TX1_PGA_CTUNE[7:0] |
+   |--------------|------|---------------------------|-----------------------|--------------------------|-----------------------|
+   |3G_FDD_Band01 | 1    | 0x09                      | 0x0F                  | 0x09                     | 0x10                  |
+   |3G_FDD_Band02 | 1    | 0x0D                      | 0x11                  | 0x0D                     | 0x13                  |
+   |3G_FDD_Band03 | 1    | 0x14                      | 0x17                  | 0x13                     | 0x19                  |
+   |3G_FDD_Band04 | 1    | 0x14                      | 0x17                  | 0x14                     | 0x19                  |
+   |3G_FDD_Band05 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band06 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band08 | 0    | 0x07                      | 0x09                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band09 | 1    | 0x12                      | 0x16                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band11 | 1    | 0x2C                      | 0x26                  | 0x2C                     | 0x26                  |
+   |3G_FDD_Band18 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band19 | 0    | 0x0A                      | 0x0B                  | XXXX                     | XXXX                  |
+   ------------------------------------------------------------------------------------------------------------------------------
+*/
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_BNone \
+        /*cap_opt_a      */0,   \
+        /*tx_drv_ctunemod*/0,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B1 \
+        /*cap_opt_a      */0x10,   \
+        /*tx_drv_ctunemod*/0x09,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B2 \
+        /*cap_opt_a      */0x13,   \
+        /*tx_drv_ctunemod*/0x0D,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B3 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x13,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B4 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B5 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B6 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B8 \
+        /*cap_opt_a      */0x09,   \
+        /*tx_drv_ctunemod*/0x07,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B9 \
+        /*cap_opt_a      */0x16,   \
+        /*tx_drv_ctunemod*/0x12,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B11 \
+        /*cap_opt_a      */0x26,    \
+        /*tx_drv_ctunemod*/0x2C,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B18 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_E2_B19 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+
+/*
+A60864A_BBBM_TABLE_v120_PGABIAS_DEF.XLSX
+
+TX0_PGABIAS_BMA1_DEF[7:0] --> Slice 4
+TX0_PGABIAS_BMA2_DEF[7:0] --> Slice 2
+TX0_PGABIAS_BMA3_DEF[7:0] --> Slice 1
+
+TX1_PGABIAS_BMA1_DEF[7:0] --> Slice 4
+TX1_PGABIAS_BMA2_DEF[7:0] --> Slice 2
+TX1_PGABIAS_BMA3_DEF[7:0] --> Slice 1
+
+Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+Sheet: 1RX_1TX
+Band    TX Path
+1       1
+2       1
+3       1
+4       1
+5       0
+6       0
+7       1
+8       0
+9       1
+10      1
+11      1
+12      0
+13      0
+14      0
+15      0
+17      0
+18      0
+19      0
+
+*/
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_BNone \
+{                                    \
+        /*BMA1 for PGA_SLICE_4A */0,          \
+        /*BMA2 for PGA_SLICE_2A */0,          \
+        /*BMA3 for PGA_SLICE_1A */0           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B1 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B2 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B3 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B4 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B5 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B6 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B7 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B8 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B9 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B10 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B11 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B18 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B19 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+
+#define VERNO_BNone (0),
+#define VERNO_B1    (0),
+#define VERNO_B2    (0),
+#define VERNO_B3    (0),
+#define VERNO_B4    (0),
+#define VERNO_B5    (0),
+#define VERNO_B6    (0),
+#define VERNO_B8    (0),
+#define VERNO_B9    (0),
+#define VERNO_B11   (0),
+#define VERNO_B18   (0),
+#define VERNO_B19   (0),
+
+
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)       \
+{                                           \
+    VERNO_B##BAND_ID                        \
+    UMTSBand##BAND_ID,                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_RX_IRR_HPM         \
+        UL1D_DEFAULT_RFC_RX_IRR_LPM         \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_IIP2            \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_IQ_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DNL            \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_PGA      \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_TZA      \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_TX_LPF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_RCF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_CDCOC           \
+        UL1D_DEFAULT_RFC_TX_IQ_DC           \
+        UL1D_DEFAULT_RFC_TX_DNL_PGA_E2      \
+        UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B##BAND_ID \
+        UL1D_DEFAULT_RFC_TX_CAP_E2_B##BAND_ID   \
+        UL1D_DEFAULT_RFC_TX_PGA_BIAS_B##BAND_ID \
+    }                                       \
+}
+
+#endif /*__UL1D_RFC_DATA_MT6185M_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6186.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6186.h
new file mode 100644
index 0000000..8e08897
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6186.h
@@ -0,0 +1,1703 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RFC_DATA_MT6186_H__
+#define __UL1D_RFC_DATA_MT6186_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "mml1_rf_cal_def.h"
+
+/*******************************************************************************
+ * Typedef
+ ******************************************************************************/
+/** Structure Prototypes can be seen by other files */
+typedef enum
+{
+   UMTSBandNone = 0,
+   UMTSBand1    = 1,
+   UMTSBand2    = 2,
+   UMTSBand3    = 3,
+   UMTSBand4    = 4,
+   UMTSBand5    = 5,
+   UMTSBand6    = 6,
+   UMTSBand7    = 7,
+   UMTSBand8    = 8,
+   UMTSBand9    = 9,
+   UMTSBand10   = 10,
+   UMTSBand11   = 11,
+   UMTSBand12   = 12,
+   UMTSBand13   = 13,
+   UMTSBand14   = 14,
+   UMTSBand15   = 15,
+   UMTSBand16   = 16,
+   UMTSBand17   = 17,
+   UMTSBand18   = 18,
+   UMTSBand19   = 19,
+   UMTSBand20   = 20,
+   UMTSBand21   = 21,
+   UMTSBand22   = 22,
+   UMTSBandcount
+}  UMTSBand;
+
+
+/*******************************************************************************
+** RFC dimension define
+*******************************************************************************/
+
+#define UL1D_RXDC_TIA_GAIN_STEPS           (4)
+#define UL1D_RXDC_PGA_GAIN_STEPS           (7)
+
+#define UL1D_RXDC_HPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_HPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+
+#define UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX   (7)  /* from MMRFC_RXIRR_FILT_TAPS_NUM       */
+#define UL1D_RF_RX_DC_COMP_ROUTE_MAX       (1)
+#define UL1D_RF_RX_IRR_COMP_ROUTE_MAX      (1)
+#define UL1D_RF_RX_IIP2_COMP_ROUTE_MAX     (1)
+
+#define UL1D_RX_CBW_NUM                    (3 ) /* from MMRFC_UMTS_RX_CBW_NUM           */
+#define UL1D_DET_FE_GAIN_STEPS             (1 ) /* from MMRFC_DET_FE_GAIN_STEPS         */
+#define UL1D_DET_GAIN_STEPS                (5 ) /* from MMRFC_DET_GAIN_STEPS            */
+#define UL1D_DET_EQLPF_TAP_NUM             (13) /* from MMRFC_DET_EQLPF_TAP_NUM         */
+#define UL1D_TX_PGA_TYPE_NUM               (3 ) /* from MMRFC_TX_PGA_TYPE_NUM           */
+#define UL1D_TX_DNL_PGA_A_GAIN_STEPS       (22) /* from MMRFC_TX_DNL_PGA_A_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_B_GAIN_STEPS       (0 ) /* from MMRFC_TX_DNL_PGA_B_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_AUX_GAIN_STEPS     (5 ) /* from MMRFC_TX_DNL_PGA_AUX_GAIN_STEPS */
+#define UL1D_TX_PGA_SLICE_NUM              (4 ) /* from MMRFC_TX_PGA_SLICE_NUM          */
+#define UL1D_TX_PGA_BIAS_NUM               (3 ) /* from MMRFC_TX_PGA_BIAS_STEP_NUM */
+#define UL1D_TX_CBW_NUM                    (2 ) /* from MMRFC_UMTS_TX_CBW_NUM           */
+#define UL1D_TX_PGA_GAIN_STEP_NUM          (10) /* from MMRFC_TX_PGA_GAIN_STEP_NUM      */
+#define UL1D_TX_SUBBAND_NUM                (3 ) /* from MMRFC_TX_SUBBAND_NUM            */
+#define UL1D_ANT_NUM                       (2 ) /* from MMRFC_ANT_NUM                   */
+
+#define UL1D_TX_PGA_CAP_TUNING_SUBBAND_NUM (UL1D_TX_SUBBAND_NUM)/* from MMRFC_TX_PGA_CAP_TUNING_SUBBAND_NUM */
+#define UL1D_TX_DNL_PGA_TOTAL_NUM          (UL1D_TX_DNL_PGA_A_GAIN_STEPS + UL1D_TX_DNL_PGA_B_GAIN_STEPS + UL1D_TX_DNL_PGA_AUX_GAIN_STEPS)
+
+
+/******************************
+* Rx POC Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX];
+} UMTS_RF_POC_RX_IRR_COMP_T;
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RF_POC_RX_DC_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_HPM_TIA_GAIN_STEPS][UL1D_RXDC_HPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_HPM_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_LPM_TIA_GAIN_STEPS][UL1D_RXDC_LPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_LPM_COMP_T;
+
+typedef struct
+{
+   kal_int8             gate_bias_i;
+   kal_int8             gate_bias_q;
+} UMTS_RF_POC_RX_IIP2_COMP_T;
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_hpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_lpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+
+   /* RX DC */
+   #if IS_URF_RXDC_GXE_SUPPORT
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   #else
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   #endif
+
+   /* RX IIP2 */
+   UMTS_RF_POC_RX_IIP2_COMP_T   rx_iip2[UL1D_ANT_NUM][UL1D_RF_RX_IIP2_COMP_ROUTE_MAX];
+
+} UMTS_RF_POC_RX_COMP_DATA_T;
+
+
+/******************************
+* Tx DET POC Part
+*******************************/
+typedef struct
+{
+   kal_int32 i_part;
+   kal_int32 q_part;
+
+} UMTS_DET_EQLPF_COMP_T;
+
+typedef struct
+{
+   UMTS_DET_EQLPF_COMP_T   coef[UL1D_DET_EQLPF_TAP_NUM];
+   kal_int32               scale_i;
+   kal_int32               scale_q;
+} UMTS_DET_FDADPCB_EQLPF_COMP_T;
+
+typedef struct{
+    kal_int8                        dummy;
+    kal_int8                        phase_est_hw;  //FIIQ phase
+    UMTS_DET_FDADPCB_EQLPF_COMP_T   fd_ad_pcb;     //FDIQ, AD coefficient, 3G do not contain PCB information
+} UMTS_RF_POC_DET_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_DET_DC_COMP_T;
+
+
+typedef struct
+{
+   kal_uint32 mrx_cdcoc_i;
+   kal_uint32 mrx_cdcoc_q;
+}
+UMTS_RF_POC_MRX_CDCOC_PGA_T;
+
+typedef struct
+{
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_15_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_09_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_03_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_neg_03_db;
+}
+UMTS_RF_POC_MRX_COARSE_DC_T;
+
+
+
+typedef struct
+{
+   /* DET Coarse DCOC */
+   /*
+      Trinity TX Calibrations V1.1 Draft.docx
+      5.1 MRX Coarse DC-offset Calibration (ES2 Approach)
+
+      We need to calibrate PGA = 15dB, PGA = 9dB, PGA = 3dB, and -3dB.
+      We need to calibrate the TX-loopback and the antenna-loopback separately.
+      DPD also uses PGA gain -9dB, but that PGA gain can reuse the -3dB calibration.
+
+      det_cdcoc[0]: PGA = 15dB --> CW939 : TX1_MRX_CDCOC_I/Q1[4:0]
+      det_cdcoc[0]: PGA = 15dB --> CW1006: TX0_MRX_CDCOC_I/Q1[4:0]
+
+      det_cdcoc[1]: PGA =  9dB --> CW939 : TX1_MRX_CDCOC_I/Q2[4:0]
+      det_cdcoc[1]: PGA =  9dB --> CW1006: TX0_MRX_CDCOC_I/Q2[4:0]
+
+      det_cdcoc[2]: PGA =  3dB --> CW940 : TX1_MRX_CDCOC_I/Q3[4:0]
+      det_cdcoc[2]: PGA =  3dB --> CW1007: TX0_MRX_CDCOC_I/Q3[4:0]
+
+      det_cdcoc[3]: PGA = -3dB --> CW940 : TX1_MRX_CDCOC_I/Q4[4:0]
+      det_cdcoc[3]: PGA = -3dB --> CW1007: TX0_MRX_CDCOC_I/Q4[4:0]
+   */
+   UMTS_RF_POC_MRX_COARSE_DC_T  det_cdcoc;
+   UMTS_RF_POC_MRX_COARSE_DC_T  det_cdcoc_tx_lb;
+
+   /* DET IQ/DC/DNL Forward */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd_tx_lb[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+   kal_int16                    mrx_ctune_pga[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+   kal_int16                    mrx_ctune_tza[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+
+} UMTS_RF_POC_DET_COMP_DATA_T;
+
+/******************************
+* Tx FOWRAD POC Part
+*******************************/
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_RF_POC_TX_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_TX_DC_COMP_T;
+
+typedef struct
+{
+
+   /* TX LPF*/
+   kal_int16                    tx_lpf_abb_rsel;
+   kal_int16                    tx_lpf_abb_csel_1;
+   kal_int16                    tx_lpf_abb_csel_2;
+
+   /* TX RCF*/
+   kal_int16                    tx_rcf_rsel;
+   kal_int16                    tx_rcf_csel_4a;
+   kal_int16                    tx_rcf_csel_1b;
+   kal_int16                    tx_rcf_csel_2a;
+
+   /* TX CDCOC */
+   /*
+   Trinity TX Calibrations Table V1.1 Draft.xlsx
+   1) Coarse DC offset compensator located in DAC IP (modem). Compensation changes with # of slices (gain word).
+   2) Requires recalibration per RAT because of changes in R used in ABB. RAT's using same R can reuse calibration
+   3) Requires L1 and CSD support
+
+   per ABB slice CM: 4A, 2A, 1A, 1B
+   */
+   UMTS_RF_POC_TX_DC_COMP_T     tx_cdcoc[UL1D_TX_PGA_SLICE_NUM];
+
+   /* TX FIIQ/DC/DNL Linear Mode */
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM];
+
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM];
+
+   kal_int16                    tx_dnl_lin_pga_a[UL1D_TX_DNL_PGA_TOTAL_NUM];
+
+   /* TX PGA Phase Step */
+   kal_int32                    tx_mod_slice_phase[UL1D_TX_PGA_SLICE_NUM/*Slice: 0:4A, 1:2A, 2:1A, 3:AUX*/];
+
+   /* TX PGA Cap Tuning */
+   kal_uint32                   cap_opt_a;
+   kal_uint32                   tx_drv_ctunemod;
+
+   /* TX PGA BIAS: 4 calibrated BMA_CAL<7:0> codes */
+   /* 3 BMA values used for different number of PGA slices (4/2/1)*/ 
+   /* 1 additional BMA value used in DPD mode. The latter is never used in practice*/
+   /* A60864_TX_Programming_Guide_v1p0.docx 
+      4.3.1 PGA Bias Calibration programming
+
+      CW888: TX1_PGABIAS_BMA1_DEF[7:0]-->PGABIAS BMA4 gain lookup default-->DPD
+      CW888: TX1_PGABIAS_BMA2_DEF[7:0]-->PGABIAS BMA3 gain lookup default-->1 Slice
+      CW887: TX1_PGABIAS_BMA3_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->2 Slices
+      CW887: TX1_PGABIAS_BMA4_DEF[7:0]-->PGABIAS BMA1 gain lookup default-->4 Slices
+
+      CW955: TX0_PGABIAS_BMA1_DEF[7:0]-->PGABIAS BMA4 gain lookup default-->DPD
+      CW955: TX0_PGABIAS_BMA2_DEF[7:0]-->PGABIAS BMA3 gain lookup default-->1 Slice
+      CW954: TX0_PGABIAS_BMA3_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->2 Slices
+      CW954: TX0_PGABIAS_BMA4_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->4 Slices
+   */
+   kal_int32                    tx_pga_bias[UL1D_TX_PGA_BIAS_NUM/* Slice: 0:4A, 1:2A, 2:1A */];
+
+} UMTS_RF_POC_TX_COMP_DATA_T;
+
+typedef struct
+{
+   kal_uint32 verno;
+   UMTSBand band;
+   UMTS_RF_POC_RX_COMP_DATA_T  umts_rx_comp;
+   UMTS_RF_POC_DET_COMP_DATA_T umts_det_comp;
+   UMTS_RF_POC_TX_COMP_DATA_T  umts_tx_comp;
+} UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T;
+
+
+/*******************************************************************************
+** Macro define for POC default value
+*******************************************************************************/
+
+
+/*Trinity_RX_Programming_Guide_0p1_20170607     */
+/*Table 4-3 DCOC Mapping Table                  */
+/*Offset Voltage(V) = 0V, DCOC[5:0] = 6'b100000 */
+
+#define UMTS_RXDC_RF_I_Default  (0xFFE0)
+#define UMTS_RXDC_RF_Q_Default  (0xFFE0)
+#define UMTS_RXDC_Dig_I_Default (0)
+#define UMTS_RXDC_Dig_Q_Default (0)
+
+#define UMTS_RXDC_RF_IQ_Default  \
+{\
+    UMTS_RXDC_RF_I_Default, UMTS_RXDC_RF_Q_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_Default  \
+{\
+    UMTS_RXDC_Dig_I_Default,\
+    UMTS_RXDC_Dig_Q_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default,\
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default \
+}
+
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+}
+
+
+
+#define UMTS_RXDC_RF_ANT_HPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_RF_ANT_LPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_Dig_ANT_HPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+}
+
+#define UMTS_RXDC_Dig_ANT_LPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+}
+
+#define UMTS_RX_IRR_TAP_DEFAULT \
+{                                      \
+   /*ANT0*/{0,0,{0,0,0,1024,0,0,0}},   \
+   /*ANT1*/{0,0,{0,0,0,1024,0,0,0}},   \
+}
+
+#define UMTS_RX_IIP2_I_DEFAULT (64)
+#define UMTS_RX_IIP2_Q_DEFAULT (64)
+#define UMTS_RX_IIP2_DEFAULT {UMTS_RX_IIP2_I_DEFAULT, UMTS_RX_IIP2_Q_DEFAULT}
+
+/*
+Manel: 
+Please note that the table shows the phase change introduced by RF. 
+The DFE compensation must have the opposite sign than what is shown on the table.
+
+03/09/2018 Update Phase Jump Table
+*/
+
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_2     (-20 )  //  3.5x(-1)x1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_2_to_1     (-14 )  //  2.5x(-1)x1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_1     (0   )  //  NOT defined
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_1_to_AUX   (28  )  //   -5x(-1)x1024/180
+
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_2     (-28 )  //    5x(-1)x1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_2_to_1     (-46 )  //    8x(-1)x1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_1     (0   )  //   NOT defined
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_1_to_AUX   ( 46 )  //   -8x(-1)x1024/180
+
+
+#define UMTS_TX_PHASE_LB_4A_DEFAULT  (0)
+#define UMTS_TX_PHASE_LB_2A_DEFAULT  (UMTS_TX_PHASE_LB_4A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_2)
+#define UMTS_TX_PHASE_LB_1A_DEFAULT  (UMTS_TX_PHASE_LB_2A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_2_to_1)
+#define UMTS_TX_PHASE_LB_AUX_DEFAULT (UMTS_TX_PHASE_LB_1A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_1_to_AUX)
+
+
+#define UMTS_TX_PHASE_MB_4A_DEFAULT  (0)
+#define UMTS_TX_PHASE_MB_2A_DEFAULT  (UMTS_TX_PHASE_MB_4A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_2)
+#define UMTS_TX_PHASE_MB_1A_DEFAULT  (UMTS_TX_PHASE_MB_2A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_2_to_1)
+#define UMTS_TX_PHASE_MB_AUX_DEFAULT (UMTS_TX_PHASE_MB_1A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_1_to_AUX)
+
+
+/*95_TxDFERF_TxK_default_settings_20171027.xlsx*/
+#define UMTS_DET_IQ_PHASE_EST_HW_DEFAULT   (0)/*phase_est_hw: DET_FI (S-4.10.9) POC*/
+
+#define UMTS_DET_IQ_EQLPF_I_SCALE_DEFAULT  (1)/*scale_i: DET_EQLPF_I_SCALE (U2.0)*/
+
+#define UMTS_DET_IQ_EQLPF_Q_SCALE_DEFAULT  (1)/*scale_q: DET_EQLPF_Q_SCALE (U2.0)*/
+
+#define UMTS_DET_IQ_EQ_COEF_DEFAULT                                 \
+{                                                                   \
+    {    4,    4},/*coef[00]: DET_EQLPF_I_C00, DET_EQLPF_Q_C00*/    \
+    {  -22,  -22},/*coef[01]: DET_EQLPF_I_C01, DET_EQLPF_Q_C01*/    \
+    {   74,   74},/*coef[02]: DET_EQLPF_I_C02, DET_EQLPF_Q_C02*/    \
+    { -186, -186},/*coef[03]: DET_EQLPF_I_C03, DET_EQLPF_Q_C03*/    \
+    {  417,  417},/*coef[04]: DET_EQLPF_I_C04, DET_EQLPF_Q_C04*/    \
+    {-1021,-1021},/*coef[05]: DET_EQLPF_I_C05, DET_EQLPF_Q_C05*/    \
+    { 3513, 3513},/*coef[06]: DET_EQLPF_I_C06, DET_EQLPF_Q_C06*/    \
+    {-1010,-1010},/*coef[07]: DET_EQLPF_I_C07, DET_EQLPF_Q_C07*/    \
+    {  401,  401},/*coef[08]: DET_EQLPF_I_C08, DET_EQLPF_Q_C08*/    \
+    { -171, -171},/*coef[09]: DET_EQLPF_I_C09, DET_EQLPF_Q_C09*/    \
+    {   65,   65},/*coef[10]: DET_EQLPF_I_C10, DET_EQLPF_Q_C10*/    \
+    {  -18,  -18},/*coef[11]: DET_EQLPF_I_C11, DET_EQLPF_Q_C11*/    \
+    {    3,    3} /*coef[12]: DET_EQLPF_I_C12, DET_EQLPF_Q_C12*/    \
+}
+
+
+/*95_TxDFERF_TxK_default_settings_20171027.xlsx*/
+#define UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT   \
+    UMTS_DET_IQ_PHASE_EST_HW_DEFAULT,           \
+    { /*   fd_ad_pcb: */                        \
+      UMTS_DET_IQ_EQ_COEF_DEFAULT,              \
+      UMTS_DET_IQ_EQLPF_I_SCALE_DEFAULT,        \
+      UMTS_DET_IQ_EQLPF_Q_SCALE_DEFAULT         \
+    }                                                                   
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_BNone    \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B1       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B2       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B3       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B4       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B5       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B6       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B8       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B9       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B11      \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B18      \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B19      \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_DET_IQ_MG_DFAULT_BNone      \
+{   /*UL1D_TX_CBW_NUM=2*/                \
+    UMTS_Det_Iq_MG_SC_Comp_Default_BNone,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_BNone,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B1      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B1,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B1,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B2      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B2,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B2,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B3      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B3,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B3,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B4      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B4,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B4,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B5      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B5,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B5,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B6      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B6,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B6,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B8      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B8,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B8,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B9      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B9,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B9,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B11      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B11,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B11,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B18      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B18,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B18,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B19      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B19,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B19,\
+},
+
+
+#define UMTS_DET_DC_DEFAULT  {0/*DC_I*/, 0/*DC_Q*/}
+
+
+// RX
+//============================================================
+#define UL1D_DEFAULT_RFC_RX_DC_RF_HPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_LPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, HPM*/      \
+ {                                             \
+    /*SC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*DC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*3C*/UMTS_RX_IRR_TAP_DEFAULT       \
+ },                                            \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_LPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, LPM*/      \
+ {                                             \
+    /*SC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*DC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*3C*/UMTS_RX_IRR_TAP_DEFAULT       \
+ },                                            \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IIP2            \
+{                                           \
+ {  /*RXP*/                                 \
+    UMTS_RX_IIP2_DEFAULT,/*ROUTE00*/  \
+ },                                         \
+ {  /*RXD*/                                 \
+    UMTS_RX_IIP2_DEFAULT,/*ROUTE00*/  \
+ }                                          \
+},
+
+
+//DET
+//============================================================
+
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_BNone      \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_BNone      \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B1         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B1         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B2         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B2         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B3         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B3         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B4         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B4         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B5         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B5         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B6         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B6         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B8         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B8         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B9         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B9         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B11        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B11        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B18        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B18        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B19        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B19        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_DC         \
+        { /* UL1D_DET_GAIN_STEPS = 5*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+        },
+
+/* B60864A_BBBM_TABLE.xlsx */
+/* sheet: MRX0_GAIN & MRX1_GAIN   */
+/* MRX Gain*/
+#define UL1D_DEFAULT_RFC_MRX_DNL  \
+{                                 \
+    384, /*   G0:  12 dB*/       \
+    192, /*   G1:   6 dB*/       \
+      0, /*   G2:   0 dB*/       \
+   -192, /*   G3:  -6 dB*/       \
+   -384, /*   G4: -12 dB*/       \
+},
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC_PGA \
+{                              \
+   /* mrx_cdcoc_i */0,         \
+   /* mrx_cdcoc_q */0          \
+}
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC \
+{                                  \
+   /* pga_pos_15_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_pos_09_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_pos_03_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_neg_03_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA       \
+},
+
+
+
+/*
+  A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+  CW718[D07:D00] RG_TX1_MRX_PGA_CTUNE[7:0] = 0x3C
+  CW718[D15:D08] RG_TX1_MRX_TZA_CTUNE[7:0] = 0x18
+  CW738[D07:D00] RG_TX0_MRX_PGA_CTUNE[7:0] = 0x3C
+  CW738[D15:D08] RG_TX0_MRX_TZA_CTUNE[7:0] = 0x18
+*/
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_PGA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x3C,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x3C \
+},
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_TZA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x18,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x18 \
+},
+
+
+//TX
+//============================================================
+
+
+/*DOC  : Trinity-L TX Gain Table V3.0 Released.xlsx */
+/*Sheet: Gain Tables                                */
+/*Table: LB & MB & HB_UHB                           */
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA   \
+{                                     \
+    0    , /* G0    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain =  0.00 dB  */ \
+    -18  , /* G1    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -0.56 dB  */ \
+    -37  , /* G2    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.16 dB  */ \
+    -58  , /* G3    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.80 dB  */ \
+    -80  , /* G4    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -2.50 dB  */ \
+    -104 , /* G5    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -3.25 dB  */ \
+    -131 , /* G6    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.08 dB  */ \
+    -160 , /* G7    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.99 dB  */ \
+    -193 , /* G8    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -6.02 dB  */ \
+    -230 , /* G9    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -7.18 dB  */ \
+    -273 , /* G10   ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -8.52 dB  */ \
+    -323 , /* G11   ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -10.10dB  */ \
+    -366 , /* G12   ,  A  , ABB MOD LO Slice = 2, PGA Slice = 4, Gain = -11.43dB  */ \
+    -468 , /* G13   ,  A  , ABB MOD LO Slice = 2, PGA Slice = 2, Gain = -14.62dB  */ \
+    -526 , /* G14   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 4, Gain = -16.45dB  */ \
+    -621 , /* G15   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -19.40dB  */ \
+    -734 , /* G16   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -22.93dB  */ \
+    -853 , /* G17   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -26.67dB  */ \
+    -988 , /* G18   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -30.89dB  */ \
+    -1181, /* G19   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -36.91dB  */ \
+    -1374, /* G20   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -42.93dB  */ \
+    -1566, /* G21   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -48.95dB  */ \
+    -1759, /* G22   ,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -54.97dB  */ \
+    -1952, /* G23   ,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -60.99dB  */ \
+    -2144, /* G24   ,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -67.01dB  */ \
+    -1759, /* G25DNL,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -54.97dB  */ \
+    -1952  /* G26DNL,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -60.99dB  */ \
+},
+
+#define UL1D_DEFAULT_RFC_TX_IQ_DC \
+        /*tx_iq_lin*/{{0,0}},     \
+        /*tx_dc_lin*/{{0,0}},     \
+        /*tx_iq_dpd*/{{0,0}},     \
+        /*tx_dc_dpd*/{{0,0}},
+
+#define UL1D_DEFAULT_RFC_TX_CDCOC \
+        { \
+        /*tx_cdcoc[0:MMRFC_TX_ABB_SLICE_CAL_4A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[1:MMRFC_TX_ABB_SLICE_CAL_2A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[2:MMRFC_TX_ABB_SLICE_CAL_1A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[3:MMRFC_TX_ABB_SLICE_CAL_AUX]*/{/*dc_i*/0,/*dc_q*/0}      \
+        },
+
+/* TX LPF*/
+/* ==============================================================================
+
+   A60864_TX_Programming_Guide_v1p0.docx,
+   - 3.7   Bandwidth control, Table 3 15 3G Filter Configurations: LPF_6P8M/CW719/CW739
+   - 3.7.1 ABB BW Controls, Table 3 18 ABB RC Controls: TX0_BBBM10 & TX1_BBBM10
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   B60864A_BBBM_TABLE_MERGED.xlsx
+   sheet: TX0 & TX0_LPF
+   sheet: TX1 & TX1_LPF
+
+   CW739   TX0_BBBM10  TX0_ABB_CSEL1/2[7:0]  TX0_ABB_RSEL  [1:0]
+   CW719   TX1_BBBM10  TX1_ABB_CSEL1/2[7:0]  TX1_ABB_RSEL  [1:0] --> 2 bits
+   CW890   TX1_ABBMAN1 TX1_ABB_CSEL1_M[7:0]  -------------------
+                       TX1_ABB_CSEL2_M[7:0]  -------------------
+   CW957   TX2_ABBMAN1 TX2_ABB_CSEL1_M[7:0]  -------------------
+                       TX2_ABB_CSEL2_M[7:0]  -------------------
+   CW891   TX1_ABBMAN2 --------------------  TX1_ABB_RSEL_M[3:0] --> 4 bits ?
+   CW958   TX2_ABBMAN2 --------------------  TX2_ABB_RSEL_M[3:0]
+
+   |Band         | Path    | Mode     | TX0/1_ABB_CSEL1[7:0]| TX0/1_ABB_CSEL2[7:0]| TX0/1_ABB_RSEL[1:0]|
+   |-------------|---------|----------|---------------------|---------------------|--------------------|
+   |3G_FDD_Band01| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band02| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band03| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band04| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band05| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band06| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band08| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band09| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band11| 1       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band18| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+   |3G_FDD_Band19| 0       |LPF_6P8M  | 0xA2                | 0xAC                | 0x2                |
+
+   =============================================================================*/
+
+#define UL1D_DEFAULT_RFC_TX_LPF_BNone \
+       /*tx_lpf_abb_rsel  */ 0x2, \
+       /*tx_lpf_abb_csel_1*/ 0xA2,\
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B1 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B2 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B3 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B4 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B5 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B6 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B8 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B9 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xA2, \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B11 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xA2,  \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B18 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xA2,  \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B19 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xA2,  \
+       /*tx_lpf_abb_csel_2*/ 0xAC,
+
+
+
+
+/* TX RCF*/
+/*
+   A60864A_BBBM_TABLE_MERGED.xlsx
+   A60864_TX_Programming_Guide_v1p0.docx,
+   - 3.7.2 RCF BW Controls
+     CW729 TX0_BBBM5 RCEL [15:8] CSEL_4[7:0]
+     CW730 TX0_BBBM6 CSEL1[15:8] CSEL_2[7:0]
+
+     CW709 TX1_BBBM5 RCEL [15:8] CSEL_4[7:0]
+     CW710 TX1_BBBM6 CSEL1[15:8] CSEL_2[7:0]
+
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   A60864_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+
+                                              CW729[15:8]          CW729[7:0]           CW730[15:8]             CW730[7:0]
+   |Band          | Path  | Mode:TX0        | RG_TX0_RCF_RSEL[7:0]|TX0_RCF_CSEL_4[7:0]| TX0_RCF_CSEL_1[7:0]  |  TX0_RCF_CSEL_2[7:0]|
+   |--------------|-------|-----------------|---------------------|------------------ |----------------------|---------------------|
+   |3G_FDD_Band01 | 1     | RCF_MB1_16M     | 0x2A                |  0x1D             | 0x27                 |  0x21               |
+   |3G_FDD_Band02 | 1     | RCF_MB2_16M     | 0x2F                |  0x20             | 0x28                 |  0x22               |
+   |3G_FDD_Band03 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band04 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x22                 |  0x22               |
+   |3G_FDD_Band05 | 0     | RCF_LB2_16M     | 0x21                |  0x19             | 0x23                 |  0x1D               |
+   |3G_FDD_Band06 | 0     | RCF_LB2_16M     | 0x21                |  0x19             | 0x23                 |  0x1D               |
+   |3G_FDD_Band08 | 0     | RCF_LB1_16M     | 0x1C                |  0x14             | 0x1E                 |  0x19               |
+   |3G_FDD_Band09 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band11 | 1     | RCF_MB4_16M     | 0x37                |  0x23             | 0x2A                 |  0x24               |
+   |3G_FDD_Band18 | 0     | RCF_LB3_16M     | 0x24                |  0x19             | 0x23                 |  0x1D               |
+   |3G_FDD_Band19 | 0     | RCF_LB2_16M     | 0x21                |  0x19             | 0x23                 |  0x1D               |
+
+                                              CW709[15:8]          CW709[7:0]           CW710[15:8]             CW710[7:0]
+   |Band          | Path  | Mode:TX1        | RG_TX1_RCF_RSEL[7:0]|TX1_RCF_CSEL_4[7:0]| TX1_RCF_CSEL_1[7:0]  |  TX1_RCF_CSEL_2[7:0]|
+   |--------------|-------|-----------------|---------------------|------------------ |----------------------|---------------------|
+   |3G_FDD_Band01 | 1     | RCF_MB1_16M     | 0x2A                |  0x1D             | 0x27                 |  0x21               |
+   |3G_FDD_Band02 | 1     | RCF_MB2_16M     | 0x2F                |  0x20             | 0x28                 |  0x22               |
+   |3G_FDD_Band03 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band04 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band05 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band06 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band08 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band09 | 1     | RCF_MB3_16M     | 0x37                |  0x22             | 0x29                 |  0x23               |
+   |3G_FDD_Band11 | 1     | RCF_MB4_16M     | 0x37                |  0x23             | 0x2A                 |  0x24               |
+   |3G_FDD_Band18 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+   |3G_FDD_Band19 | NA    | NA              | NA                  |  NA               | NA                   |  NA                 |
+*/
+
+#define UL1D_DEFAULT_RFC_TX_RCF_BNone    \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x21,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B1 \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x21,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B2 \
+       /*tx_rcf_rsel      */ 0x2F, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x28, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B3 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x29, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B4 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x29, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B5 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x19, \
+       /*tx_rcf_csel_1b   */ 0x23, \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B6 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x19, \
+       /*tx_rcf_csel_1b   */ 0x23, \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B8 \
+       /*tx_rcf_rsel      */ 0x1C, \
+       /*tx_rcf_csel_4a   */ 0x14, \
+       /*tx_rcf_csel_1b   */ 0x1E, \
+       /*tx_rcf_csel_2a   */ 0x19,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B9 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x29, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B11 \
+       /*tx_rcf_rsel      */ 0x37,  \
+       /*tx_rcf_csel_4a   */ 0x23,  \
+       /*tx_rcf_csel_1b   */ 0x2A,  \
+       /*tx_rcf_csel_2a   */ 0x24,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B18 \
+       /*tx_rcf_rsel      */ 0x24,  \
+       /*tx_rcf_csel_4a   */ 0x19,  \
+       /*tx_rcf_csel_1b   */ 0x23,  \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B19 \
+       /*tx_rcf_rsel      */ 0x21,  \
+       /*tx_rcf_csel_4a   */ 0x19,  \
+       /*tx_rcf_csel_1b   */ 0x23,  \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_BNone \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B1 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B2 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B3 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B4 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B5 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B6 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B8 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B9 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B11 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B18 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B19 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+
+/*
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   B60864_E2_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value.xls   
+   ------------------------------------------------------------------------------------------------------------------------------
+   |              |      | CW726[D19~D12]:           | CW726[D11~D4]:        | CW706[D19~D12]:          | CW706[D11~D4]:        |
+   |Band          | Path | RG_TX0_DRV_CTUNEMOD[7:0]  | RG_TX0_PGA_CTUNE[7:0] | RG_TX1_DRV_CTUNEMOD[7:0] | RG_TX1_PGA_CTUNE[7:0] |
+   |--------------|------|---------------------------|-----------------------|--------------------------|-----------------------|
+   |3G_FDD_Band01 | 1    | 0x09                      | 0x0F                  | 0x09                     | 0x10                  |
+   |3G_FDD_Band02 | 1    | 0x0D                      | 0x11                  | 0x0D                     | 0x13                  |
+   |3G_FDD_Band03 | 1    | 0x14                      | 0x17                  | 0x13                     | 0x19                  |
+   |3G_FDD_Band04 | 1    | 0x14                      | 0x17                  | 0x14                     | 0x19                  |
+   |3G_FDD_Band05 | 0    | 0x14                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band06 | 0    | 0x14                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band08 | 0    | 0x0E                      | 0x09                  | 0x0E                     | 0x09                  |
+   |3G_FDD_Band09 | 1    | 0x12                      | 0x16                  | 0x12                     | 0x16                  |
+   |3G_FDD_Band11 | 1    | 0x2C                      | 0x2B                  | 0x2C                     | 0x2B                  |
+   |3G_FDD_Band18 | 0    | 0x14                      | 0x0B                  | XXXX                     | XXXX                  |
+   |3G_FDD_Band19 | 0    | 0x14                      | 0x0B                  | XXXX                     | XXXX                  |
+   ------------------------------------------------------------------------------------------------------------------------------
+*/
+
+#define UL1D_DEFAULT_RFC_TX_CAP_BNone \
+        /*cap_opt_a      */0,   \
+        /*tx_drv_ctunemod*/0,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B1 \
+        /*cap_opt_a      */0x10,   \
+        /*tx_drv_ctunemod*/0x09,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B2 \
+        /*cap_opt_a      */0x13,   \
+        /*tx_drv_ctunemod*/0x0D,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B3 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x13,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B4 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B5 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B6 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B8 \
+        /*cap_opt_a      */0x09,   \
+        /*tx_drv_ctunemod*/0x0E,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B9 \
+        /*cap_opt_a      */0x16,   \
+        /*tx_drv_ctunemod*/0x12,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B11 \
+        /*cap_opt_a      */0x2B,    \
+        /*tx_drv_ctunemod*/0x2C,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B18 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B19 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x14,
+
+
+/*
+B60864A_BBBM_TABLE.xlsx
+sheet: TX0 & TX1
+
+TX0_PGABIAS_BMA1_DEF[7:0] --> Slice 4
+TX0_PGABIAS_BMA2_DEF[7:0] --> Slice 2
+TX0_PGABIAS_BMA3_DEF[7:0] --> Slice 1
+
+TX1_PGABIAS_BMA1_DEF[7:0] --> Slice 4
+TX1_PGABIAS_BMA2_DEF[7:0] --> Slice 2
+TX1_PGABIAS_BMA3_DEF[7:0] --> Slice 1
+
+Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+Sheet: 1RX_1TX
+Band    TX Path
+1       1
+2       1
+3       1
+4       1
+5       0
+6       0
+7       1
+8       0
+9       1
+10      1
+11      1
+12      0
+13      0
+14      0
+15      0
+17      0
+18      0
+19      0
+
+*/
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_BNone \
+{                                    \
+        /*BMA1 for PGA_SLICE_4A */0,          \
+        /*BMA2 for PGA_SLICE_2A */0,          \
+        /*BMA3 for PGA_SLICE_1A */0           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B1 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B2 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B3 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B4 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B5 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B6 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B7 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B8 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B9 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B10 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B11 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B18 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B19 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x54,          \
+        /*BMA2 for PGA_SLICE_2A */0x48,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+
+#define VERNO_BNone (0),
+#define VERNO_B1    (0),
+#define VERNO_B2    (0),
+#define VERNO_B3    (0),
+#define VERNO_B4    (0),
+#define VERNO_B5    (0),
+#define VERNO_B6    (0),
+#define VERNO_B8    (0),
+#define VERNO_B9    (0),
+#define VERNO_B11   (0),
+#define VERNO_B18   (0),
+#define VERNO_B19   (0),
+
+#if IS_URF_RXDC_GXE_SUPPORT
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)       \
+{                                           \
+    VERNO_B##BAND_ID                        \
+    UMTSBand##BAND_ID,                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_RX_IRR_HPM         \
+        UL1D_DEFAULT_RFC_RX_IRR_LPM         \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_IIP2            \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_IQ_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DNL            \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_PGA      \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_TZA      \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_TX_LPF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_RCF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_CDCOC           \
+        UL1D_DEFAULT_RFC_TX_IQ_DC           \
+        UL1D_DEFAULT_RFC_TX_DNL_PGA         \
+        UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B##BAND_ID \
+        UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID   \
+        UL1D_DEFAULT_RFC_TX_PGA_BIAS_B##BAND_ID \
+    }                                           \
+}
+
+#else
+
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)       \
+{                                           \
+    VERNO_B##BAND_ID                        \
+    UMTSBand##BAND_ID,                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_RX_IRR_HPM         \
+        UL1D_DEFAULT_RFC_RX_IRR_LPM         \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_IIP2            \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_IQ_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DNL            \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_PGA      \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_TZA      \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_TX_LPF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_RCF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_CDCOC           \
+        UL1D_DEFAULT_RFC_TX_IQ_DC           \
+        UL1D_DEFAULT_RFC_TX_DNL_PGA         \
+        UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B##BAND_ID \
+        UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID   \
+        UL1D_DEFAULT_RFC_TX_PGA_BIAS_B##BAND_ID \
+    }                                           \
+}
+#endif/*IS_URF_RXDC_GXE_SUPPORT*/
+
+#endif /*__UL1D_RFC_DATA_MT6186_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6186m.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6186m.h
new file mode 100644
index 0000000..d554fe4
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_mt6186m.h
@@ -0,0 +1,1600 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RFC_DATA_MT6186M_H__
+#define __UL1D_RFC_DATA_MT6186M_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "mml1_rf_cal_def.h"
+
+/*******************************************************************************
+ * Typedef
+ ******************************************************************************/
+/** Structure Prototypes can be seen by other files */
+typedef enum
+{
+   UMTSBandNone = 0,
+   UMTSBand1    = 1,
+   UMTSBand2    = 2,
+   UMTSBand3    = 3,
+   UMTSBand4    = 4,
+   UMTSBand5    = 5,
+   UMTSBand6    = 6,
+   UMTSBand7    = 7,
+   UMTSBand8    = 8,
+   UMTSBand9    = 9,
+   UMTSBand10   = 10,
+   UMTSBand11   = 11,
+   UMTSBand12   = 12,
+   UMTSBand13   = 13,
+   UMTSBand14   = 14,
+   UMTSBand15   = 15,
+   UMTSBand16   = 16,
+   UMTSBand17   = 17,
+   UMTSBand18   = 18,
+   UMTSBand19   = 19,
+   UMTSBand20   = 20,
+   UMTSBand21   = 21,
+   UMTSBand22   = 22,
+   UMTSBandcount
+}  UMTSBand;
+
+
+/*******************************************************************************
+** RFC dimension define
+*******************************************************************************/
+
+#define UL1D_RXDC_TIA_GAIN_STEPS           (4)
+#define UL1D_RXDC_PGA_GAIN_STEPS           (7)
+
+#define UL1D_RXDC_HPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_HPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+
+#define UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX   (7)  /* from MMRFC_RXIRR_FILT_TAPS_NUM       */
+#define UL1D_RF_RX_DC_COMP_ROUTE_MAX       (1)
+#define UL1D_RF_RX_IRR_COMP_ROUTE_MAX      (1)
+#define UL1D_RF_RX_IIP2_COMP_ROUTE_MAX     (1)
+
+#define UL1D_RX_CBW_NUM                    (3 ) /* from MMRFC_UMTS_RX_CBW_NUM           */
+#define UL1D_DET_FE_GAIN_STEPS             (1 ) /* from MMRFC_DET_FE_GAIN_STEPS         */
+#define UL1D_DET_GAIN_STEPS                (5 ) /* from MMRFC_DET_GAIN_STEPS            */
+#define UL1D_DET_EQLPF_TAP_NUM             (13) /* from MMRFC_DET_EQLPF_TAP_NUM         */
+#define UL1D_TX_PGA_TYPE_NUM               (3 ) /* from MMRFC_TX_PGA_TYPE_NUM           */
+#define UL1D_TX_DNL_PGA_A_GAIN_STEPS       (22) /* from MMRFC_TX_DNL_PGA_A_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_B_GAIN_STEPS       (0 ) /* from MMRFC_TX_DNL_PGA_B_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_AUX_GAIN_STEPS     (5 ) /* from MMRFC_TX_DNL_PGA_AUX_GAIN_STEPS */
+#define UL1D_TX_PGA_SLICE_NUM              (4 ) /* from MMRFC_TX_PGA_SLICE_NUM          */
+#define UL1D_TX_PGA_BIAS_NUM               (3 ) /* from MMRFC_TX_PGA_BIAS_STEP_NUM */
+#define UL1D_TX_CBW_NUM                    (2 ) /* from MMRFC_UMTS_TX_CBW_NUM           */
+#define UL1D_TX_PGA_GAIN_STEP_NUM          (10) /* from MMRFC_TX_PGA_GAIN_STEP_NUM      */
+#define UL1D_TX_SUBBAND_NUM                (3 ) /* from MMRFC_TX_SUBBAND_NUM            */
+#define UL1D_ANT_NUM                       (2 ) /* from MMRFC_ANT_NUM                   */
+
+#define UL1D_TX_PGA_CAP_TUNING_SUBBAND_NUM (UL1D_TX_SUBBAND_NUM)/* from MMRFC_TX_PGA_CAP_TUNING_SUBBAND_NUM */
+#define UL1D_TX_DNL_PGA_TOTAL_NUM          (UL1D_TX_DNL_PGA_A_GAIN_STEPS + UL1D_TX_DNL_PGA_B_GAIN_STEPS + UL1D_TX_DNL_PGA_AUX_GAIN_STEPS)
+
+
+/******************************
+* Rx POC Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX];
+} UMTS_RF_POC_RX_IRR_COMP_T;
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RF_POC_RX_DC_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_HPM_TIA_GAIN_STEPS][UL1D_RXDC_HPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_HPM_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_LPM_TIA_GAIN_STEPS][UL1D_RXDC_LPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_LPM_COMP_T;
+
+typedef struct
+{
+   kal_int8             gate_bias_i;
+   kal_int8             gate_bias_q;
+} UMTS_RF_POC_RX_IIP2_COMP_T;
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_hpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_lpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+
+   /* RX DC */
+   #if IS_URF_RXDC_GXE_SUPPORT
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm_gxe[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   #else
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   #endif
+
+   /* RX IIP2 */
+   UMTS_RF_POC_RX_IIP2_COMP_T   rx_iip2[UL1D_ANT_NUM][UL1D_RF_RX_IIP2_COMP_ROUTE_MAX];
+
+} UMTS_RF_POC_RX_COMP_DATA_T;
+
+
+/******************************
+* Tx DET POC Part
+*******************************/
+typedef struct
+{
+   kal_int32 i_part;
+   kal_int32 q_part;
+
+} UMTS_DET_EQLPF_COMP_T;
+
+typedef struct
+{
+   UMTS_DET_EQLPF_COMP_T   coef[UL1D_DET_EQLPF_TAP_NUM];
+   kal_int32               scale_i;
+   kal_int32               scale_q;
+} UMTS_DET_FDADPCB_EQLPF_COMP_T;
+
+typedef struct{
+    kal_int8                        dummy;
+    kal_int8                        phase_est_hw;  //FIIQ phase
+    UMTS_DET_FDADPCB_EQLPF_COMP_T   fd_ad_pcb;     //FDIQ, AD coefficient, 3G do not contain PCB information
+} UMTS_RF_POC_DET_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_DET_DC_COMP_T;
+
+
+typedef struct
+{
+   kal_uint32 mrx_cdcoc_i;
+   kal_uint32 mrx_cdcoc_q;
+}
+UMTS_RF_POC_MRX_CDCOC_PGA_T;
+
+typedef struct
+{
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_15_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_09_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_pos_03_db;
+    UMTS_RF_POC_MRX_CDCOC_PGA_T pga_neg_03_db;
+}
+UMTS_RF_POC_MRX_COARSE_DC_T;
+
+
+
+typedef struct
+{
+   /* DET Coarse DCOC */
+   /*
+      Trinity TX Calibrations V1.1 Draft.docx
+      5.1 MRX Coarse DC-offset Calibration (ES2 Approach)
+
+      We need to calibrate PGA = 15dB, PGA = 9dB, PGA = 3dB, and -3dB.
+      We need to calibrate the TX-loopback and the antenna-loopback separately.
+      DPD also uses PGA gain -9dB, but that PGA gain can reuse the -3dB calibration.
+
+      det_cdcoc[0]: PGA = 15dB --> CW939 : TX1_MRX_CDCOC_I/Q1[4:0]
+      det_cdcoc[0]: PGA = 15dB --> CW1006: TX0_MRX_CDCOC_I/Q1[4:0]
+
+      det_cdcoc[1]: PGA =  9dB --> CW939 : TX1_MRX_CDCOC_I/Q2[4:0]
+      det_cdcoc[1]: PGA =  9dB --> CW1006: TX0_MRX_CDCOC_I/Q2[4:0]
+
+      det_cdcoc[2]: PGA =  3dB --> CW940 : TX1_MRX_CDCOC_I/Q3[4:0]
+      det_cdcoc[2]: PGA =  3dB --> CW1007: TX0_MRX_CDCOC_I/Q3[4:0]
+
+      det_cdcoc[3]: PGA = -3dB --> CW940 : TX1_MRX_CDCOC_I/Q4[4:0]
+      det_cdcoc[3]: PGA = -3dB --> CW1007: TX0_MRX_CDCOC_I/Q4[4:0]
+   */
+   UMTS_RF_POC_MRX_COARSE_DC_T  det_cdcoc;
+   UMTS_RF_POC_MRX_COARSE_DC_T  det_cdcoc_tx_lb;
+
+   /* DET IQ/DC/DNL Forward */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd_tx_lb[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+   kal_int16                    mrx_ctune_pga[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+   kal_int16                    mrx_ctune_tza[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+
+} UMTS_RF_POC_DET_COMP_DATA_T;
+
+/******************************
+* Tx FOWRAD POC Part
+*******************************/
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_RF_POC_TX_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_TX_DC_COMP_T;
+
+typedef struct
+{
+
+   /* TX LPF*/
+   kal_int16                    tx_lpf_abb_rsel;
+   kal_int16                    tx_lpf_abb_csel_1;
+   kal_int16                    tx_lpf_abb_csel_2;
+
+   /* TX RCF*/
+   kal_int16                    tx_rcf_rsel;
+   kal_int16                    tx_rcf_csel_4a;
+   kal_int16                    tx_rcf_csel_1b;
+   kal_int16                    tx_rcf_csel_2a;
+
+   /* TX CDCOC */
+   /*
+   Trinity TX Calibrations Table V1.1 Draft.xlsx
+   1) Coarse DC offset compensator located in DAC IP (modem). Compensation changes with # of slices (gain word).
+   2) Requires recalibration per RAT because of changes in R used in ABB. RAT's using same R can reuse calibration
+   3) Requires L1 and CSD support
+
+   per ABB slice CM: 4A, 2A, 1A, 1B
+   */
+   UMTS_RF_POC_TX_DC_COMP_T     tx_cdcoc[UL1D_TX_PGA_SLICE_NUM];
+
+   /* TX FIIQ/DC/DNL Linear Mode */
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM];
+
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM];
+
+   kal_int16                    tx_dnl_lin_pga_a[UL1D_TX_DNL_PGA_TOTAL_NUM];
+
+   /* TX PGA Phase Step */
+   kal_int32                    tx_mod_slice_phase[UL1D_TX_PGA_SLICE_NUM/*Slice: 0:4A, 1:2A, 2:1A, 3:AUX*/];
+
+   /* TX PGA Cap Tuning */
+   kal_uint32                   cap_opt_a;
+   kal_uint32                   tx_drv_ctunemod;
+
+   /* TX PGA BIAS: 4 calibrated BMA_CAL<7:0> codes */
+   /* 3 BMA values used for different number of PGA slices (4/2/1)*/ 
+   /* 1 additional BMA value used in DPD mode. The latter is never used in practice*/
+   /* A60864_TX_Programming_Guide_v1p0.docx 
+      4.3.1 PGA Bias Calibration programming
+
+      CW888: TX1_PGABIAS_BMA1_DEF[7:0]-->PGABIAS BMA4 gain lookup default-->DPD
+      CW888: TX1_PGABIAS_BMA2_DEF[7:0]-->PGABIAS BMA3 gain lookup default-->1 Slice
+      CW887: TX1_PGABIAS_BMA3_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->2 Slices
+      CW887: TX1_PGABIAS_BMA4_DEF[7:0]-->PGABIAS BMA1 gain lookup default-->4 Slices
+
+      CW955: TX0_PGABIAS_BMA1_DEF[7:0]-->PGABIAS BMA4 gain lookup default-->DPD
+      CW955: TX0_PGABIAS_BMA2_DEF[7:0]-->PGABIAS BMA3 gain lookup default-->1 Slice
+      CW954: TX0_PGABIAS_BMA3_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->2 Slices
+      CW954: TX0_PGABIAS_BMA4_DEF[7:0]-->PGABIAS BMA2 gain lookup default-->4 Slices
+   */
+   kal_int32                    tx_pga_bias[UL1D_TX_PGA_BIAS_NUM/* Slice: 0:4A, 1:2A, 2:1A */];
+
+} UMTS_RF_POC_TX_COMP_DATA_T;
+
+typedef struct
+{
+   kal_uint32 verno;
+   UMTSBand band;
+   UMTS_RF_POC_RX_COMP_DATA_T  umts_rx_comp;
+   UMTS_RF_POC_DET_COMP_DATA_T umts_det_comp;
+   UMTS_RF_POC_TX_COMP_DATA_T  umts_tx_comp;
+} UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T;
+
+
+/*******************************************************************************
+** Macro define for POC default value
+*******************************************************************************/
+
+
+/*Trinity_RX_Programming_Guide_0p1_20170607     */
+/*Table 4-3 DCOC Mapping Table                  */
+/*Offset Voltage(V) = 0V, DCOC[5:0] = 6'b100000 */
+
+#define UMTS_RXDC_RF_I_Default  (0xFFE0)
+#define UMTS_RXDC_RF_Q_Default  (0xFFE0)
+#define UMTS_RXDC_Dig_I_Default (0)
+#define UMTS_RXDC_Dig_Q_Default (0)
+
+#define UMTS_RXDC_RF_IQ_Default  \
+{\
+    UMTS_RXDC_RF_I_Default, UMTS_RXDC_RF_Q_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_Default  \
+{\
+    UMTS_RXDC_Dig_I_Default,\
+    UMTS_RXDC_Dig_Q_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default,\
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default \
+}
+
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+}
+
+
+
+#define UMTS_RXDC_RF_ANT_HPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_RF_ANT_LPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_Dig_ANT_HPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+}
+
+#define UMTS_RXDC_Dig_ANT_LPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+}
+
+#define UMTS_RX_IRR_TAP_DEFAULT \
+{                                      \
+   /*ANT0*/{0,0,{0,0,0,1024,0,0,0}},   \
+   /*ANT1*/{0,0,{0,0,0,1024,0,0,0}},   \
+}
+
+#define UMTS_RX_IIP2_I_DEFAULT (64)
+#define UMTS_RX_IIP2_Q_DEFAULT (64)
+#define UMTS_RX_IIP2_DEFAULT {UMTS_RX_IIP2_I_DEFAULT, UMTS_RX_IIP2_Q_DEFAULT}
+
+/*
+Manel: 
+Please note that the table shows the phase change introduced by RF. 
+The DFE compensation must have the opposite sign than what is shown on the table.
+*/
+
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_2     (-14 )  //  2.5x(-1)x1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_2_to_1     (-4  )  //  0.7x(-1)x1024/180
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_1     (0   )  //  NOT defined
+#define UMTS_TX_LB_PHASE_SLICE_CHANGE_1_to_AUX   (11  )  //   -2x(-1)x1024/180
+
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_2     (-40 )  //    7x(-1)x1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_2_to_1     (-57 )  //   10x(-1)x1024/180
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_1     (0   )  //   NOT defined
+#define UMTS_TX_MB_PHASE_SLICE_CHANGE_1_to_AUX   (11  )  //   -2x(-1)x1024/180
+
+#define UMTS_TX_PHASE_LB_4A_DEFAULT  (0)
+#define UMTS_TX_PHASE_LB_2A_DEFAULT  (UMTS_TX_PHASE_LB_4A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_4_to_2)
+#define UMTS_TX_PHASE_LB_1A_DEFAULT  (UMTS_TX_PHASE_LB_2A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_2_to_1)
+#define UMTS_TX_PHASE_LB_AUX_DEFAULT (UMTS_TX_PHASE_LB_1A_DEFAULT+UMTS_TX_LB_PHASE_SLICE_CHANGE_1_to_AUX)
+
+
+#define UMTS_TX_PHASE_MB_4A_DEFAULT  (0)
+#define UMTS_TX_PHASE_MB_2A_DEFAULT  (UMTS_TX_PHASE_MB_4A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_4_to_2)
+#define UMTS_TX_PHASE_MB_1A_DEFAULT  (UMTS_TX_PHASE_MB_2A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_2_to_1)
+#define UMTS_TX_PHASE_MB_AUX_DEFAULT (UMTS_TX_PHASE_MB_1A_DEFAULT+UMTS_TX_MB_PHASE_SLICE_CHANGE_1_to_AUX)
+
+
+/*95_TxDFERF_TxK_default_settings_20171027.xlsx*/
+#define UMTS_DET_IQ_PHASE_EST_HW_DEFAULT   (0)/*phase_est_hw: DET_FI (S-4.10.9) POC*/
+
+#define UMTS_DET_IQ_EQLPF_I_SCALE_DEFAULT  (1)/*scale_i: DET_EQLPF_I_SCALE (U2.0)*/
+
+#define UMTS_DET_IQ_EQLPF_Q_SCALE_DEFAULT  (1)/*scale_q: DET_EQLPF_Q_SCALE (U2.0)*/
+
+#define UMTS_DET_IQ_EQ_COEF_DEFAULT                                 \
+{                                                                   \
+    {    4,    4},/*coef[00]: DET_EQLPF_I_C00, DET_EQLPF_Q_C00*/    \
+    {  -22,  -22},/*coef[01]: DET_EQLPF_I_C01, DET_EQLPF_Q_C01*/    \
+    {   74,   74},/*coef[02]: DET_EQLPF_I_C02, DET_EQLPF_Q_C02*/    \
+    { -186, -186},/*coef[03]: DET_EQLPF_I_C03, DET_EQLPF_Q_C03*/    \
+    {  417,  417},/*coef[04]: DET_EQLPF_I_C04, DET_EQLPF_Q_C04*/    \
+    {-1021,-1021},/*coef[05]: DET_EQLPF_I_C05, DET_EQLPF_Q_C05*/    \
+    { 3513, 3513},/*coef[06]: DET_EQLPF_I_C06, DET_EQLPF_Q_C06*/    \
+    {-1010,-1010},/*coef[07]: DET_EQLPF_I_C07, DET_EQLPF_Q_C07*/    \
+    {  401,  401},/*coef[08]: DET_EQLPF_I_C08, DET_EQLPF_Q_C08*/    \
+    { -171, -171},/*coef[09]: DET_EQLPF_I_C09, DET_EQLPF_Q_C09*/    \
+    {   65,   65},/*coef[10]: DET_EQLPF_I_C10, DET_EQLPF_Q_C10*/    \
+    {  -18,  -18},/*coef[11]: DET_EQLPF_I_C11, DET_EQLPF_Q_C11*/    \
+    {    3,    3} /*coef[12]: DET_EQLPF_I_C12, DET_EQLPF_Q_C12*/    \
+}
+
+
+/*95_TxDFERF_TxK_default_settings_20171027.xlsx*/
+#define UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT   \
+    UMTS_DET_IQ_PHASE_EST_HW_DEFAULT,           \
+    { /*   fd_ad_pcb: */                        \
+      UMTS_DET_IQ_EQ_COEF_DEFAULT,              \
+      UMTS_DET_IQ_EQLPF_I_SCALE_DEFAULT,        \
+      UMTS_DET_IQ_EQLPF_Q_SCALE_DEFAULT         \
+    }                                                                   
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_BNone    \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B1       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B2       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B3       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B4       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B5       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B6       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B8       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B9       \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B11      \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B18      \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_Det_Iq_MG_SC_Comp_Default_B19      \
+{                                               \
+    0,                                          \
+    UMTS_DET_IQ_PHASE_AND_EQ_COEF_DEFAULT       \
+}
+
+#define UMTS_DET_IQ_MG_DFAULT_BNone      \
+{   /*UL1D_TX_CBW_NUM=2*/                \
+    UMTS_Det_Iq_MG_SC_Comp_Default_BNone,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_BNone,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B1      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B1,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B1,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B2      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B2,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B2,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B3      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B3,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B3,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B4      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B4,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B4,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B5      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B5,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B5,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B6      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B6,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B6,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B8      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B8,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B8,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B9      \
+{   /*UL1D_TX_CBW_NUM=2*/             \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B9,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B9,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B11      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B11,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B11,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B18      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B18,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B18,\
+},
+
+#define UMTS_DET_IQ_MG_DFAULT_B19      \
+{   /*UL1D_TX_CBW_NUM=2*/              \
+    UMTS_Det_Iq_MG_SC_Comp_Default_B19,\
+    UMTS_Det_Iq_MG_SC_Comp_Default_B19,\
+},
+
+
+#define UMTS_DET_DC_DEFAULT  {0/*DC_I*/, 0/*DC_Q*/}
+
+
+// RX
+//============================================================
+#define UL1D_DEFAULT_RFC_RX_DC_RF_HPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_LPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, HPM*/      \
+ {                                             \
+    /*SC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*DC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*3C*/UMTS_RX_IRR_TAP_DEFAULT       \
+ },                                            \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_LPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, LPM*/      \
+ {                                             \
+    /*SC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*DC*/UMTS_RX_IRR_TAP_DEFAULT,      \
+    /*3C*/UMTS_RX_IRR_TAP_DEFAULT       \
+ },                                            \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IIP2            \
+{                                           \
+ {  /*RXP*/                                 \
+    UMTS_RX_IIP2_DEFAULT,/*ROUTE00*/  \
+ },                                         \
+ {  /*RXD*/                                 \
+    UMTS_RX_IIP2_DEFAULT,/*ROUTE00*/  \
+ }                                          \
+},
+
+
+//DET
+//============================================================
+
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_BNone      \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_BNone      \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B1         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B1         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B2         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B2         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B3         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B3         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B4         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B4         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B5         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B5         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B6         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B6         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B8         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B8         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B9         \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B9         \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B11        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B11        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B18        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B18        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_IQ_B19        \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DFAULT_B19        \
+        },
+
+#define UL1D_DEFAULT_RFC_MRX_DC         \
+        { /* UL1D_DET_GAIN_STEPS = 5*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+        },
+
+/* B60864A_BBBM_TABLE.xlsx */
+/* sheet: MRX0_GAIN & MRX1_GAIN   */
+/* MRX Gain*/
+#define UL1D_DEFAULT_RFC_MRX_DNL  \
+{                                 \
+    384, /*   G0:  12 dB*/       \
+    192, /*   G1:   6 dB*/       \
+      0, /*   G2:   0 dB*/       \
+   -192, /*   G3:  -6 dB*/       \
+   -384, /*   G4: -12 dB*/       \
+},
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC_PGA \
+{                              \
+   /* mrx_cdcoc_i */0,         \
+   /* mrx_cdcoc_q */0          \
+}
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC \
+{                                  \
+   /* pga_pos_15_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_pos_09_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_pos_03_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA,      \
+   /* pga_neg_03_db */UL1D_DEFAULT_RFC_MRX_CDCOC_PGA       \
+},
+
+
+
+/*
+  A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+  CW718[D07:D00] RG_TX1_MRX_PGA_CTUNE[7:0] = 0x3C
+  CW718[D15:D08] RG_TX1_MRX_TZA_CTUNE[7:0] = 0x18
+  CW738[D07:D00] RG_TX0_MRX_PGA_CTUNE[7:0] = 0x3C
+  CW738[D15:D08] RG_TX0_MRX_TZA_CTUNE[7:0] = 0x18
+*/
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_PGA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x3C,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x3C \
+},
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_TZA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x18,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x18 \
+},
+
+
+//TX
+//============================================================
+
+
+/*DOC  : Trinity-L TX Gain Table V3.0 Released.xlsx */
+/*Sheet: Gain Tables                                */
+/*Table: LB & MB & HB_UHB                           */
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA   \
+{                                     \
+    0    , /* G0    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain =  0.00 dB  */ \
+    -18  , /* G1    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -0.56 dB  */ \
+    -37  , /* G2    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.16 dB  */ \
+    -58  , /* G3    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -1.80 dB  */ \
+    -80  , /* G4    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -2.50 dB  */ \
+    -104 , /* G5    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -3.25 dB  */ \
+    -131 , /* G6    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.08 dB  */ \
+    -160 , /* G7    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -4.99 dB  */ \
+    -193 , /* G8    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -6.02 dB  */ \
+    -230 , /* G9    ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -7.18 dB  */ \
+    -273 , /* G10   ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -8.52 dB  */ \
+    -323 , /* G11   ,  A  , ABB MOD LO Slice = 4, PGA Slice = 4, Gain = -10.10dB  */ \
+    -366 , /* G12   ,  A  , ABB MOD LO Slice = 2, PGA Slice = 4, Gain = -11.43dB  */ \
+    -468 , /* G13   ,  A  , ABB MOD LO Slice = 2, PGA Slice = 2, Gain = -14.62dB  */ \
+    -526 , /* G14   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 4, Gain = -16.45dB  */ \
+    -621 , /* G15   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -19.40dB  */ \
+    -734 , /* G16   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 2, Gain = -22.93dB  */ \
+    -853 , /* G17   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -26.67dB  */ \
+    -988 , /* G18   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -30.89dB  */ \
+    -1181, /* G19   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -36.91dB  */ \
+    -1374, /* G20   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -42.93dB  */ \
+    -1566, /* G21   ,  A  , ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -48.95dB  */ \
+    -1759, /* G22   ,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -54.97dB  */ \
+    -1952, /* G23   ,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -60.99dB  */ \
+    -2144, /* G24   ,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -67.01dB  */ \
+    -1759, /* G25DNL,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -54.97dB  */ \
+    -1952  /* G26DNL,  AUX, ABB MOD LO Slice = 1, PGA Slice = 1, Gain = -60.99dB  */ \
+},
+
+#define UL1D_DEFAULT_RFC_TX_IQ_DC \
+        /*tx_iq_lin*/{{0,0}},     \
+        /*tx_dc_lin*/{{0,0}},     \
+        /*tx_iq_dpd*/{{0,0}},     \
+        /*tx_dc_dpd*/{{0,0}},
+
+#define UL1D_DEFAULT_RFC_TX_CDCOC \
+        { \
+        /*tx_cdcoc[0:MMRFC_TX_ABB_SLICE_CAL_4A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[1:MMRFC_TX_ABB_SLICE_CAL_2A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[2:MMRFC_TX_ABB_SLICE_CAL_1A ]*/{/*dc_i*/0,/*dc_q*/0},     \
+        /*tx_cdcoc[3:MMRFC_TX_ABB_SLICE_CAL_AUX]*/{/*dc_i*/0,/*dc_q*/0}      \
+        },
+
+/* TX LPF*/
+/* ==============================================================================
+
+   A60864_TX_Programming_Guide_v1p0.docx,
+   - 3.7   Bandwidth control, Table 3 15 3G Filter Configurations: LPF_6P8M/CW719/CW739
+   - 3.7.1 ABB BW Controls, Table 3 18 ABB RC Controls: TX0_BBBM10 & TX1_BBBM10
+   Trinity_L_divider_table_v0d1_20170922_1012temporary_L1.xlsx
+   Sheet: 1RX_1TX
+   Band    TX Path
+   1       1
+   2       1
+   3       1
+   4       1
+   5       0
+   6       0
+   7       1
+   8       0
+   9       1
+   10      1
+   11      1
+   12      0
+   13      0
+   14      0
+   15      0
+   17      0
+   18      0
+   19      0
+
+   A10787A_BBBM_TABLE.xlsx
+   sheet: TX0 & TX0_LPF
+
+
+   CW739   TX0_BBBM10  TX0_ABB_CSEL1/2[7:0]  TX0_ABB_RSEL  [1:0]
+   CW719   TX1_BBBM10  TX1_ABB_CSEL1/2[7:0]  TX1_ABB_RSEL  [1:0] --> 2 bits
+   CW890   TX1_ABBMAN1 TX1_ABB_CSEL1_M[7:0]  -------------------
+                       TX1_ABB_CSEL2_M[7:0]  -------------------
+   CW957   TX2_ABBMAN1 TX2_ABB_CSEL1_M[7:0]  -------------------
+                       TX2_ABB_CSEL2_M[7:0]  -------------------
+   CW891   TX1_ABBMAN2 --------------------  TX1_ABB_RSEL_M[3:0] --> 4 bits ?
+   CW958   TX2_ABBMAN2 --------------------  TX2_ABB_RSEL_M[3:0]
+
+   |Band         | Path    | Mode       | TX0/1_ABB_CSEL1[7:0]| TX0/1_ABB_CSEL2[7:0]| TX0/1_ABB_RSEL[1:0]|
+   |-------------|---------|------------|---------------------|---------------------|--------------------|
+   |3G_FDD_Band01| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band02| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band03| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band04| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band05| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band06| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band08| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band09| 0       |NOT SUPPORT | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band11| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band18| 0       |NOT SUPPORT | 0xB6                | 0xB6                | 0x2                |
+   |3G_FDD_Band19| 0       |LPF_6P8M    | 0xB6                | 0xB6                | 0x2                |
+
+   ======================================================================================================*/
+
+#define UL1D_DEFAULT_RFC_TX_LPF_BNone \
+       /*tx_lpf_abb_rsel  */ 0x2,     \
+       /*tx_lpf_abb_csel_1*/ 0xB6,    \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B1 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B2 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B3 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B4 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B5 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B6 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B8 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B9 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xB6, \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B11 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xB6,  \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B18 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xB6,  \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B19 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xB6,  \
+       /*tx_lpf_abb_csel_2*/ 0xB6,
+
+
+/* TX RCF*/
+/*
+   Rel_0914
+   A10787A_BBBM_TABLE.xlsx
+
+   |Band          | Path  | Mode:TX0        | RG_TX0_RCF_RSEL[7:0]|TX0_RCF_CSEL_4[7:0]| TX0_RCF_CSEL_1[7:0]  |  TX0_RCF_CSEL_2[7:0]|
+   |--------------|-------|-----------------|---------------------|------------------ |----------------------|---------------------|
+   |3G_FDD_Band01 | 0     | RCF_MB1_16M     | 0x2A                |  0x25             | 0x2C                 |  0x29               |
+   |3G_FDD_Band02 | 0     | RCF_MB2_16M     | 0x2F                |  0x29             | 0x30                 |  0x2D               |
+   |3G_FDD_Band03 | 0     | RCF_MB3_16M     | 0x37                |  0x31             | 0x38                 |  0x35               |
+   |3G_FDD_Band04 | 0     | RCF_MB3_16M     | 0x37                |  0x31             | 0x38                 |  0x35               |
+   |3G_FDD_Band05 | 0     | RCF_LB2_16M     | 0x21                |  0x20             | 0x27                 |  0x24               |
+   |3G_FDD_Band06 | 0     | RCF_LB2_16M     | 0x21                |  0x20             | 0x27                 |  0x24               |
+   |3G_FDD_Band08 | 0     | RCF_LB1_16M     | 0x1C                |  0x1F             | 0x26                 |  0x23               |
+   |3G_FDD_Band09 | 0     | RCF_MB3_16M     | 0x37                |  0x31             | 0x38                 |  0x35               |
+   |3G_FDD_Band11 | 0     | RCF_MB4_16M     | 0x25                |  0x31             | 0x38                 |  0x35               |
+   |3G_FDD_Band18 | 0     | RCF_LB3_16M     | 0x23                |  0x22             | 0x29                 |  0x26               |
+   |3G_FDD_Band19 | 0     | RCF_LB2_16M     | 0x21                |  0x20             | 0x27                 |  0x24               |
+*/
+
+#define UL1D_DEFAULT_RFC_TX_RCF_BNone    \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x25, \
+       /*tx_rcf_csel_1b   */ 0x2C, \
+       /*tx_rcf_csel_2a   */ 0x29,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B1 \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x25, \
+       /*tx_rcf_csel_1b   */ 0x2C, \
+       /*tx_rcf_csel_2a   */ 0x29,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B2 \
+       /*tx_rcf_rsel      */ 0x2F, \
+       /*tx_rcf_csel_4a   */ 0x29, \
+       /*tx_rcf_csel_1b   */ 0x30, \
+       /*tx_rcf_csel_2a   */ 0x2D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B3 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x31, \
+       /*tx_rcf_csel_1b   */ 0x38, \
+       /*tx_rcf_csel_2a   */ 0x35,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B4 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x31, \
+       /*tx_rcf_csel_1b   */ 0x38, \
+       /*tx_rcf_csel_2a   */ 0x35,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B5 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x24,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B6 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x27, \
+       /*tx_rcf_csel_2a   */ 0x24,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B8 \
+       /*tx_rcf_rsel      */ 0x1C, \
+       /*tx_rcf_csel_4a   */ 0x1F, \
+       /*tx_rcf_csel_1b   */ 0x26, \
+       /*tx_rcf_csel_2a   */ 0x23,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B9 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x31, \
+       /*tx_rcf_csel_1b   */ 0x38, \
+       /*tx_rcf_csel_2a   */ 0x35,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B11 \
+       /*tx_rcf_rsel      */ 0x25,  \
+       /*tx_rcf_csel_4a   */ 0x31,  \
+       /*tx_rcf_csel_1b   */ 0x38,  \
+       /*tx_rcf_csel_2a   */ 0x35,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B18 \
+       /*tx_rcf_rsel      */ 0x23,  \
+       /*tx_rcf_csel_4a   */ 0x22,  \
+       /*tx_rcf_csel_1b   */ 0x29,  \
+       /*tx_rcf_csel_2a   */ 0x26,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B19 \
+       /*tx_rcf_rsel      */ 0x21,  \
+       /*tx_rcf_csel_4a   */ 0x20,  \
+       /*tx_rcf_csel_1b   */ 0x27,  \
+       /*tx_rcf_csel_2a   */ 0x24,
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_BNone \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B1 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B2 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B3 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B4 \
+{                                                 \
+     UMTS_TX_PHASE_MB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_MB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B5 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B6 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B8 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B9 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B11 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B18 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B19 \
+{                                                 \
+     UMTS_TX_PHASE_LB_4A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_2A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_1A_DEFAULT,                 \
+     UMTS_TX_PHASE_LB_AUX_DEFAULT                 \
+},
+
+
+/*
+   A10787A_BBBM_TABLE.xlsx Rel_0831
+   Sheet: TX0
+   ---------------------------------------------------------------------------
+   |              |      | CW726[D19~D12]:           | CW726[D11~D4]:        |
+   |Band          | Path | RG_TX0_DRV_CTUNEMOD[7:0]  | RG_TX0_PGA_CTUNE[7:0] | 
+   |--------------|------|---------------------------|-----------------------|
+   |3G_FDD_Band01 | 0    | 0x0B                      | 0x13                  |
+   |3G_FDD_Band02 | 0    | 0x0F                      | 0x16                  |
+   |3G_FDD_Band03 | 0    | 0x15                      | 0x1A                  |
+   |3G_FDD_Band04 | 0    | 0x16                      | 0x1B                  |
+   |3G_FDD_Band05 | 0    | 0x11                      | 0x0E                  |
+   |3G_FDD_Band06 | 0    | 0x11                      | 0x0E                  |
+   |3G_FDD_Band08 | 0    | 0x0D                      | 0x0C                  |
+   |3G_FDD_Band09 | 0    | 0x15                      | 0x1A                  |
+   |3G_FDD_Band11 | 0    | 0x37                      | 0x32                  |
+   |3G_FDD_Band18 | 0    | 0x0A                      | 0x0B                  |
+   |3G_FDD_Band19 | 0    | 0x11                      | 0x0E                  |
+   ---------------------------------------------------------------------------
+*/
+
+#define UL1D_DEFAULT_RFC_TX_CAP_BNone \
+        /*cap_opt_a      */0,   \
+        /*tx_drv_ctunemod*/0,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B1 \
+        /*cap_opt_a      */0x13,   \
+        /*tx_drv_ctunemod*/0x0B,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B2 \
+        /*cap_opt_a      */0x16,   \
+        /*tx_drv_ctunemod*/0x0F,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B3 \
+        /*cap_opt_a      */0x1A,   \
+        /*tx_drv_ctunemod*/0x15,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B4 \
+        /*cap_opt_a      */0x1B,   \
+        /*tx_drv_ctunemod*/0x16,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B5 \
+        /*cap_opt_a      */0x0E,   \
+        /*tx_drv_ctunemod*/0x11,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B6 \
+        /*cap_opt_a      */0x0E,   \
+        /*tx_drv_ctunemod*/0x11,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B8 \
+        /*cap_opt_a      */0x0C,   \
+        /*tx_drv_ctunemod*/0x0D,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B9 \
+        /*cap_opt_a      */0x1A,   \
+        /*tx_drv_ctunemod*/0x15,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B11 \
+        /*cap_opt_a      */0x32,    \
+        /*tx_drv_ctunemod*/0x37,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B18 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B19 \
+        /*cap_opt_a      */0x0E,    \
+        /*tx_drv_ctunemod*/0x11,
+
+
+/*
+A10787A_BBBM_TABLE.xlsx
+sheet: TX0
+
+TX0_PGABIAS_BMA1_DEF[7:0] --> Slice 4
+TX0_PGABIAS_BMA2_DEF[7:0] --> Slice 2
+TX0_PGABIAS_BMA3_DEF[7:0] --> Slice 1
+
+*/
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_BNone \
+{                                    \
+        /*BMA1 for PGA_SLICE_4A */0,          \
+        /*BMA2 for PGA_SLICE_2A */0,          \
+        /*BMA3 for PGA_SLICE_1A */0           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B1 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x36,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B2 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x36,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B3 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x36,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B4 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x36,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B5 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x58,          \
+        /*BMA2 for PGA_SLICE_2A */0x46,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B6 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x58,          \
+        /*BMA2 for PGA_SLICE_2A */0x46,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B7 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B8 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x60,          \
+        /*BMA2 for PGA_SLICE_2A */0x4C,          \
+        /*BMA3 for PGA_SLICE_1A */0x3A           \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B9 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x36,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B10 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x3A,          \
+        /*BMA3 for PGA_SLICE_1A */0x4C           \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B11 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x44,          \
+        /*BMA2 for PGA_SLICE_2A */0x36,          \
+        /*BMA3 for PGA_SLICE_1A */0x2E           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B18 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x62,          \
+        /*BMA2 for PGA_SLICE_2A */0x54,          \
+        /*BMA3 for PGA_SLICE_1A */0x3E           \
+},
+
+#define UL1D_DEFAULT_RFC_TX_PGA_BIAS_B19 \
+{                                       \
+        /*BMA1 for PGA_SLICE_4A */0x58,          \
+        /*BMA2 for PGA_SLICE_2A */0x46,          \
+        /*BMA3 for PGA_SLICE_1A */0x36           \
+},
+
+
+#define VERNO_BNone (0),
+#define VERNO_B1    (0),
+#define VERNO_B2    (0),
+#define VERNO_B3    (0),
+#define VERNO_B4    (0),
+#define VERNO_B5    (0),
+#define VERNO_B6    (0),
+#define VERNO_B8    (0),
+#define VERNO_B9    (0),
+#define VERNO_B11   (0),
+#define VERNO_B18   (0),
+#define VERNO_B19   (0),
+
+#if IS_URF_RXDC_GXE_SUPPORT
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)       \
+{                                           \
+    VERNO_B##BAND_ID                        \
+    UMTSBand##BAND_ID,                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_RX_IRR_HPM         \
+        UL1D_DEFAULT_RFC_RX_IRR_LPM         \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_IIP2            \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_IQ_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DNL            \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_PGA      \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_TZA      \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_TX_LPF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_RCF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_CDCOC           \
+        UL1D_DEFAULT_RFC_TX_IQ_DC           \
+        UL1D_DEFAULT_RFC_TX_DNL_PGA         \
+        UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B##BAND_ID \
+        UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID   \
+        UL1D_DEFAULT_RFC_TX_PGA_BIAS_B##BAND_ID \
+    }                                           \
+}
+
+#else/*IS_URF_RXDC_GXE_SUPPORT*/
+
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)       \
+{                                           \
+    VERNO_B##BAND_ID                        \
+    UMTSBand##BAND_ID,                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_RX_IRR_HPM         \
+        UL1D_DEFAULT_RFC_RX_IRR_LPM         \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_IIP2            \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_IQ_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DNL            \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_PGA      \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_TZA      \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_TX_LPF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_RCF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_CDCOC           \
+        UL1D_DEFAULT_RFC_TX_IQ_DC           \
+        UL1D_DEFAULT_RFC_TX_DNL_PGA         \
+        UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B##BAND_ID \
+        UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID   \
+        UL1D_DEFAULT_RFC_TX_PGA_BIAS_B##BAND_ID \
+    }                                           \
+}
+#endif/*IS_URF_RXDC_GXE_SUPPORT*/
+
+#endif /*__UL1D_RFC_DATA_MT6186M_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_trinitye1.h b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_trinitye1.h
new file mode 100644
index 0000000..75b5f91
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cal_poc_data_trinitye1.h
@@ -0,0 +1,1204 @@
+/******************************************************************************
+*  Modification Notice:
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+/*==============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================*/
+/* Doxygen Group Header ****************************************************//**
+ * @addtogroup UL1D_RF_CUSTOM_DATA
+ * @{
+ ******************************************************************************/
+/***************************************************************************//**
+ * @file       ul1d_rf_cal_poc_data.h
+ * @author     Neil Chung(MTK08266)
+ * @date       2015.01.26
+ * @brief      UL1D RF POC SHM data header file
+ * @details    Provide RF POC data structure for PCORE and L1CORE (SHM)
+ ******************************************************************************/
+
+#ifndef __UL1D_RFC_DATA_TRINITYE1_H__
+#define __UL1D_RFC_DATA_TRINITYE1_H__
+
+/*******************************************************************************
+ * #include
+ ******************************************************************************/
+#include "kal_general_types.h"
+#include "mml1_rf_cal_def.h"
+
+
+/*******************************************************************************
+ * Typedef
+ ******************************************************************************/
+/** Structure Prototypes can be seen by other files */
+typedef enum
+{
+   UMTSBandNone = 0,
+   UMTSBand1    = 1,
+   UMTSBand2    = 2,
+   UMTSBand3    = 3,
+   UMTSBand4    = 4,
+   UMTSBand5    = 5,
+   UMTSBand6    = 6,
+   UMTSBand7    = 7,
+   UMTSBand8    = 8,
+   UMTSBand9    = 9,
+   UMTSBand10   = 10,
+   UMTSBand11   = 11,
+   UMTSBand12   = 12,
+   UMTSBand13   = 13,
+   UMTSBand14   = 14,
+   UMTSBand15   = 15,
+   UMTSBand16   = 16,
+   UMTSBand17   = 17,
+   UMTSBand18   = 18,
+   UMTSBand19   = 19,
+   UMTSBand20   = 20,
+   UMTSBand21   = 21,
+   UMTSBand22   = 22,
+   UMTSBandcount
+}  UMTSBand;
+
+/*******************************************************************************
+** RFC dimension define
+*******************************************************************************/
+
+#define UL1D_RXDC_TIA_GAIN_STEPS           (4)
+#define UL1D_RXDC_PGA_GAIN_STEPS           (7)
+
+#define UL1D_RXDC_HPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_HPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_TIA_GAIN_STEPS       (UL1D_RXDC_TIA_GAIN_STEPS)
+#define UL1D_RXDC_LPM_PGA_GAIN_STEPS       (UL1D_RXDC_PGA_GAIN_STEPS)
+
+#define UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX   (7)  /* from MMRFC_RXIRR_FILT_TAPS_NUM       */
+#define UL1D_RF_RX_DC_COMP_ROUTE_MAX       (1)
+#define UL1D_RF_RX_IRR_COMP_ROUTE_MAX      (1)
+#define UL1D_RF_RX_IIP2_COMP_ROUTE_MAX     (1)
+
+#define UL1D_RX_CBW_NUM                    (3 ) /* from MMRFC_UMTS_RX_CBW_NUM           */
+#define UL1D_DET_FE_GAIN_STEPS             (1 ) /* from MMRFC_DET_FE_GAIN_STEPS         */
+#define UL1D_DET_GAIN_STEPS                (5 ) /* from MMRFC_DET_GAIN_STEPS            */
+#define UL1D_DET_EQLPF_TAP_NUM             (13) /* from MMRFC_DET_EQLPF_TAP_NUM         */
+#define UL1D_TX_PGA_TYPE_NUM               (3 ) /* from MMRFC_TX_PGA_TYPE_NUM           */
+#define UL1D_TX_DNL_PGA_A_GAIN_STEPS       (22) /* from MMRFC_TX_DNL_PGA_A_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_B_GAIN_STEPS       (0 ) /* from MMRFC_TX_DNL_PGA_B_GAIN_STEPS   */
+#define UL1D_TX_DNL_PGA_AUX_GAIN_STEPS     (5 ) /* from MMRFC_TX_DNL_PGA_AUX_GAIN_STEPS */
+#define UL1D_TX_PGA_SLICE_NUM              (4 ) /* from MMRFC_TX_PGA_SLICE_NUM          */
+#define UL1D_TX_CBW_NUM                    (2 ) /* from MMRFC_UMTS_TX_CBW_NUM           */
+#define UL1D_TX_PGA_GAIN_STEP_NUM          (10) /* from MMRFC_TX_PGA_GAIN_STEP_NUM      */
+#define UL1D_TX_SUBBAND_NUM                (3 ) /* from MMRFC_TX_SUBBAND_NUM            */
+#define UL1D_ANT_NUM                       (2 ) /* from MMRFC_ANT_NUM                   */
+
+#define UL1D_TX_PGA_CAP_TUNING_SUBBAND_NUM (UL1D_TX_SUBBAND_NUM)/* from MMRFC_TX_PGA_CAP_TUNING_SUBBAND_NUM */
+#define UL1D_TX_DNL_PGA_TOTAL_NUM          (UL1D_TX_DNL_PGA_A_GAIN_STEPS + UL1D_TX_DNL_PGA_B_GAIN_STEPS + UL1D_TX_DNL_PGA_AUX_GAIN_STEPS)
+
+#define UL1D_LB_PHASE_SLICE_CHANGE_4_to_2   (14 )  //  2.5*1024/180
+#define UL1D_LB_PHASE_SLICE_CHANGE_2_to_1   (4  )  //  0.7*1024/180
+#define UL1D_LB_PHASE_SLICE_CHANGE_4_to_1   (18 )  //  3.2*1024/180
+#define UL1D_MB_PHASE_SLICE_CHANGE_4_to_2   (11 )  //  2  *1024/180
+#define UL1D_MB_PHASE_SLICE_CHANGE_2_to_1   (-24)  // -4.2*1024/180
+#define UL1D_MB_PHASE_SLICE_CHANGE_4_to_1   (-13)  // -2.2*1024/180
+
+#if 0//IS_UL1D_DIMENSION_CHECK_ENABLE
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif/*IS_UL1D_DIMENSION_CHECK_ENABLE*/
+
+/******************************
+* Rx POC Part
+*******************************/
+typedef struct
+{
+    kal_int8            gain_est_hw;
+    kal_int8            phase_est_hw;
+    kal_int16           freq_dep_filt[UMTS_RFC_RXDFE_FDPM_TAPS_NUM_MAX];
+} UMTS_RF_POC_RX_IRR_COMP_T;
+
+typedef struct
+{
+   kal_int16 dc_i;
+   kal_int16 dc_q;
+} UMTS_RF_POC_RX_DC_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_HPM_TIA_GAIN_STEPS][UL1D_RXDC_HPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_HPM_COMP_T;
+
+typedef struct
+{
+  UMTS_RF_POC_RX_DC_COMP_T    rx_dc[UL1D_RXDC_LPM_TIA_GAIN_STEPS][UL1D_RXDC_LPM_PGA_GAIN_STEPS];
+} UMTS_RF_POC_RX_DC_LPM_COMP_T;
+
+typedef struct
+{
+   kal_int8             gate_bias_i;
+   kal_int8             gate_bias_q;
+} UMTS_RF_POC_RX_IIP2_COMP_T;
+
+typedef struct
+{
+   /* RX IRR */
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_hpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_IRR_COMP_T    rx_irr_lpm[UL1D_RF_RX_IRR_COMP_ROUTE_MAX][UL1D_RX_CBW_NUM][UL1D_ANT_NUM];
+
+   /* RX DC */
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_rf_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_rf_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_HPM_COMP_T rx_dig_dc_hpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+   UMTS_RF_POC_RX_DC_LPM_COMP_T rx_dig_dc_lpm[UL1D_RF_RX_DC_COMP_ROUTE_MAX][UL1D_ANT_NUM];
+
+   /* RX IIP2 */
+   UMTS_RF_POC_RX_IIP2_COMP_T   rx_iip2[UL1D_ANT_NUM][UL1D_RF_RX_IIP2_COMP_ROUTE_MAX];
+
+} UMTS_RF_POC_RX_COMP_DATA_T;
+
+
+/******************************
+* Tx DET POC Part
+*******************************/
+typedef struct
+{
+   kal_int32 i_part;
+   kal_int32 q_part;
+
+} UMTS_DET_EQLPF_COMP_T;
+
+typedef struct
+{
+   UMTS_DET_EQLPF_COMP_T   coef[UL1D_DET_EQLPF_TAP_NUM];
+   kal_int32               scale_i;
+   kal_int32               scale_q;
+} UMTS_DET_FDADPCB_EQLPF_COMP_T;
+
+typedef struct{
+    kal_int8                        gain_est_hw;   //FIIQ gain
+    kal_int8                        phase_est_hw;  //FIIQ phase
+    UMTS_DET_FDADPCB_EQLPF_COMP_T   fd_ad_pcb;     //FDIQ, AD coefficient, 3G do not contain PCB information
+} UMTS_RF_POC_DET_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_DET_DC_COMP_T;
+
+typedef struct
+{
+   kal_uint32 mrx_cdcoci_sign; /* MRX coarse DC offset I channel sign      */
+   kal_uint32 mrx_cdcoci_mag;  /* MRX coarse DC offset I channel magnitude */
+   kal_uint32 mrx_cdcocq_sign; /* MRX coarse DC offset Q channel sign      */
+   kal_uint32 mrx_cdcocq_mag;  /* MRX coarse DC offset Q channel magnitude */
+}
+UMTS_RF_POC_MRX_COARSE_DC_T;
+
+typedef struct
+{
+   /* DET Coarse DCOC */
+   UMTS_RF_POC_MRX_COARSE_DC_T   det_cdcoc;
+
+   /* DET IQ/DC/DNL Forward */
+   UMTS_RF_POC_DET_IQ_COMP_T    det_iq_fwd[UL1D_DET_FE_GAIN_STEPS][UL1D_TX_CBW_NUM];
+   UMTS_RF_POC_DET_DC_COMP_T    det_dc_fwd[UL1D_DET_GAIN_STEPS];
+   kal_int16                    det_dnl_fwd[UL1D_DET_GAIN_STEPS];
+
+   kal_int16                    mrx_ctune_pga[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+   kal_int16                    mrx_ctune_tza[2/*MMRFC_MRX_PGA_TZA_BW_CNT*/];
+
+} UMTS_RF_POC_DET_COMP_DATA_T;
+
+/******************************
+* Tx FOWRAD POC Part
+*******************************/
+typedef struct{
+    kal_int8            gain_est;
+    kal_int8            phase_est;
+} UMTS_RF_POC_TX_IQ_COMP_T;
+
+typedef struct
+{
+   kal_int16            dc_i;
+   kal_int16            dc_q;
+} UMTS_RF_POC_TX_DC_COMP_T;
+
+typedef struct
+{
+
+   /* TX LPF*/
+   kal_int16                    tx_lpf_abb_rsel;
+   kal_int16                    tx_lpf_abb_csel_1;
+   kal_int16                    tx_lpf_abb_csel_2;
+
+   /* TX RCF*/
+   kal_int16                    tx_rcf_rsel;
+   kal_int16                    tx_rcf_csel_4a;
+   kal_int16                    tx_rcf_csel_1b;
+   kal_int16                    tx_rcf_csel_2a;
+
+   /* TX FIIQ/DC/DNL Linear Mode */
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_lin[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_lin[UL1D_TX_PGA_SLICE_NUM];
+
+   UMTS_RF_POC_TX_IQ_COMP_T     tx_iq_dpd[UL1D_TX_PGA_SLICE_NUM];
+   UMTS_RF_POC_TX_DC_COMP_T     tx_dc_dpd[UL1D_TX_PGA_SLICE_NUM];
+
+   kal_int16                    tx_dnl_lin_pga_a[UL1D_TX_DNL_PGA_TOTAL_NUM];
+
+   /* TX PGA Phase Step */
+   kal_int32                    tx_mod_slice_phase[UL1D_TX_PGA_SLICE_NUM-1/*Slice: 0:4A, 1:2A, 2:1A*/];
+
+   /* TX PGA Cap Tuning */
+   kal_uint32                   cap_opt_a;
+   kal_uint32                   tx_drv_ctunemod;
+
+} UMTS_RF_POC_TX_COMP_DATA_T;
+
+typedef struct
+{
+   kal_uint32 verno;
+   UMTSBand band;
+   UMTS_RF_POC_RX_COMP_DATA_T  umts_rx_comp;
+   UMTS_RF_POC_DET_COMP_DATA_T umts_det_comp;
+   UMTS_RF_POC_TX_COMP_DATA_T  umts_tx_comp;
+} UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T;
+
+
+/*******************************************************************************
+** Macro define for POC default value
+*******************************************************************************/
+
+
+/*Trinity_RX_Programming_Guide_0p1_20170607     */
+/*Table 4-3 DCOC Mapping Table                  */
+/*Offset Voltage(V) = 0V, DCOC[5:0] = 6'b100000 */
+
+#define UMTS_RXDC_RF_I_Default  (0xFFE0)
+#define UMTS_RXDC_RF_Q_Default  (0xFFE0)
+#define UMTS_RXDC_Dig_I_Default (0)
+#define UMTS_RXDC_Dig_Q_Default (0)
+
+#define UMTS_RXDC_RF_IQ_Default  \
+{\
+    UMTS_RXDC_RF_I_Default, UMTS_RXDC_RF_Q_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_Default  \
+{\
+    UMTS_RXDC_Dig_I_Default,\
+    UMTS_RXDC_Dig_Q_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_HPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default \
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_RF_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_RF_IQ_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_LPM_Default  \
+{\
+    /*rx_dc[0][0]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][1]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][2]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][3]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][4]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][5]*/UMTS_RXDC_Dig_IQ_Default,\
+    /*rx_dc[0][6]*/UMTS_RXDC_Dig_IQ_Default,\
+}
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_HPM_Default \
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_HPM_Default \
+}
+
+
+#define UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_RF_IQ_PGA_LPM_Default,\
+}
+
+#define UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default  \
+{\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+  UMTS_RXDC_Dig_IQ_PGA_LPM_Default,\
+}
+
+
+
+#define UMTS_RXDC_RF_ANT_HPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_HPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_RF_ANT_LPM_Default  \
+{/*ROUTE:0*/                          \
+{ /*ANT0*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+{ /*ANT1*/                            \
+ UMTS_RXDC_RF_IQ_PGA_TIA_LPM_Default, \
+},                                    \
+}
+
+#define UMTS_RXDC_Dig_ANT_HPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_HPM_Default, \
+},                                     \
+}
+
+#define UMTS_RXDC_Dig_ANT_LPM_Default  \
+{/*ROUTE:0*/                           \
+{ /*ANT0*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+{ /*ANT1*/                             \
+ UMTS_RXDC_Dig_IQ_PGA_TIA_LPM_Default, \
+},                                     \
+}
+
+
+#if defined(MT6763) || defined(MT6739) || defined(__MD93__)
+
+#define W_Rx_Irr_7Tap_Comp_Poc_Default \
+{                                      \
+   /*ANT0*/{0,0,{0,0,512,0,0,0,0}},    \
+   /*ANT1*/{0,0,{0,0,512,0,0,0,0}},    \
+}
+#elif defined(MT6295M) || defined(__MD95__)|| defined(__MD97__) || (defined __MD97P__)
+#define W_Rx_Irr_7Tap_Comp_Poc_Default \
+{                                      \
+   /*ANT0*/{0,0,{0,0,0,1024,0,0,0}},    \
+   /*ANT1*/{0,0,{0,0,0,1024,0,0,0}},    \
+}
+#else
+#error "un-defined BB chip"
+#endif
+
+#define M_IIP2_I_DEFAULT (64)
+#define M_IIP2_Q_DEFAULT (64)
+
+#define W_Rx_Iip2_Comp_Poc_Default {M_IIP2_I_DEFAULT, M_IIP2_Q_DEFAULT}
+
+#if defined(MT6763) || defined(MT6739) || defined(__MD93__)//IS_3G_CHIP_MT6293_SERIES
+/*93+trinity_TxDFERF_TxK_default_settings_20171013*/
+#define UMTS_Det_Iq_MG_SC_Comp_Default   {0,0,{{{-4,-4},{17,17},{-45,-45},{105,105},{-257,-257},{880,880},{-254,-254},{100,100},{-42,-42},{14,14},{-3,-3},{0,0},{0,0}},9,9}}
+
+#elif defined(MT6295M) || defined(__MD95__)|| defined(__MD97__) || (defined __MD97P__)// IS_3G_CHIP_MT6295_SERIES
+/*95_TxDFERF_TxK_default_settings_20171027*/
+#define UMTS_Det_Iq_MG_SC_Comp_Default   {0,0,{{{4,4},{-22,-22},{74,74},{-186,-186},{417,417},{-1021,-1021},{3513,3513},{-1010,-1010},{401,401},{-171,-171},{65,65},{-18,-18},{3,3}},1,1}}
+#else
+#error "un-defined BB chip"
+#endif
+
+#define UMTS_DET_IQ_MG_DDFAULT  \
+        {  /*UL1D_TX_CBW_NUM=2*/    \
+           UMTS_Det_Iq_MG_SC_Comp_Default,\
+           UMTS_Det_Iq_MG_SC_Comp_Default,\
+        },
+
+
+
+#define UMTS_DET_DC_DEFAULT  {0/*DC_I*/, 0/*DC_Q*/}
+
+
+#define M_TX_PHASE_LB_4A_DEFAULT (0)
+#define M_TX_PHASE_LB_2A_DEFAULT (M_TX_PHASE_LB_4A_DEFAULT+UL1D_LB_PHASE_SLICE_CHANGE_4_to_2)/* 14*/
+#define M_TX_PHASE_LB_1A_DEFAULT (M_TX_PHASE_LB_2A_DEFAULT+UL1D_LB_PHASE_SLICE_CHANGE_2_to_1)/* 18*/
+
+#define M_TX_PHASE_MB_4A_DEFAULT (0)
+#define M_TX_PHASE_MB_2A_DEFAULT (M_TX_PHASE_MB_4A_DEFAULT+UL1D_MB_PHASE_SLICE_CHANGE_4_to_2)/* 11*/
+#define M_TX_PHASE_MB_1A_DEFAULT (M_TX_PHASE_MB_2A_DEFAULT+UL1D_MB_PHASE_SLICE_CHANGE_2_to_1)/*-13*/
+
+
+// RX
+//============================================================
+#define UL1D_DEFAULT_RFC_RX_DC_RF_HPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_RF_LPM      \
+{                                          \
+  UMTS_RXDC_RF_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_HPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+{                                           \
+  UMTS_RXDC_Dig_ANT_LPM_Default,/*ROUTE:0*/ \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_HPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, HPM*/      \
+ {                                             \
+    /*SC*/W_Rx_Irr_7Tap_Comp_Poc_Default,      \
+    /*DC*/W_Rx_Irr_7Tap_Comp_Poc_Default,      \
+    /*3C*/W_Rx_Irr_7Tap_Comp_Poc_Default       \
+ },                                            \
+},
+
+#define UL1D_DEFAULT_RFC_RX_IRR_LPM            \
+{                                              \
+ /*MMRFC_RX_IRR_COMP_ROUTE_MAX = 1, LPM*/      \
+ {                                             \
+    /*SC*/W_Rx_Irr_7Tap_Comp_Poc_Default,      \
+    /*DC*/W_Rx_Irr_7Tap_Comp_Poc_Default,      \
+    /*3C*/W_Rx_Irr_7Tap_Comp_Poc_Default       \
+ },                                            \
+},
+
+
+#define UL1D_DEFAULT_RFC_RX_IIP2            \
+{                                           \
+ {  /*RXP*/                                 \
+    W_Rx_Iip2_Comp_Poc_Default,/*ROUTE00*/  \
+ },                                         \
+ {  /*RXD*/                                 \
+    W_Rx_Iip2_Comp_Poc_Default,/*ROUTE00*/  \
+ }                                          \
+},
+
+
+//DET
+//============================================================
+
+
+#define UL1D_DEFAULT_RFC_MRX_IQ            \
+        { /* UL1D_DET_FE_GAIN_STEPS = 1 */ \
+          UMTS_DET_IQ_MG_DDFAULT  \
+        },
+
+
+#define UL1D_DEFAULT_RFC_MRX_DC         \
+        { /* UL1D_DET_GAIN_STEPS = 5*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG00*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG01*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG02*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG03*/  \
+          UMTS_DET_DC_DEFAULT,/*DETG04*/  \
+        },
+
+/* A60827_BBBM_TABLE_322.xlsx,  */
+/* sheet: MRX1_GAIN & MRX2_GAIN */
+/* MRX Gain*/
+#define UL1D_DEFAULT_RFC_MRX_DNL  \
+{                             \
+    304, /*   G0*/            \
+    112, /*   G1*/            \
+   -80 , /*   G2*/            \
+   -272, /*   G3*/            \
+   -464, /*   G4*/            \
+},
+
+
+#define UL1D_DEFAULT_RFC_MRX_CDCOC \
+{                              \
+   /* mrx_cdcoci_sign*/0,      \
+   /* mrx_cdcoci_mag */0,      \
+   /* mrx_cdcocq_sign*/0,      \
+   /* mrx_cdcocq_mag */0,      \
+},
+
+
+
+/*
+  A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+  CW718[D07:D00] RG_TX1_MRX_PGA_CTUNE[7:0] = 0x36
+  CW718[D15:D08] RG_TX1_MRX_TZA_CTUNE[7:0] = 0x18
+  CW738[D07:D00] RG_TX2_MRX_PGA_CTUNE[7:0] = 0x36
+  CW738[D15:D08] RG_TX2_MRX_TZA_CTUNE[7:0] = 0x18
+*/
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_PGA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x36,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x36 \
+},
+
+#define UL1D_DEFAULT_RFC_MRX_CTUNE_TZA \
+{                                      \
+   /* MMRFC_MRX_PGA_TZA_BW_22P5 */0x18,\
+   /* MMRFC_MRX_PGA_TZA_BW_67P5 */0x18 \
+},
+
+
+//TX
+//============================================================
+
+
+/*DOC  : Trinity Gain Table V1.1 Draft.xlsx */
+/*Sheet: Gain Tables                        */
+/*Table: ULB&LB&MB                          */
+
+#define UL1D_DEFAULT_RFC_TX_DNL_PGA   \
+{                                     \
+       0, /* G0 ,  A  ,  0     dB  */ \
+     -18, /* G1 ,  A  , -0.56  dB  */ \
+     -37, /* G2 ,  A  , -1.16  dB  */ \
+     -58, /* G3 ,  A  , -1.8   dB  */ \
+     -80, /* G4 ,  A  , -2.5   dB  */ \
+    -104, /* G5 ,  A  , -3.25  dB  */ \
+    -131, /* G6 ,  A  , -4.08  dB  */ \
+    -160, /* G7 ,  A  , -4.99  dB  */ \
+    -193, /* G8 ,  A  , -6.02  dB  */ \
+    -230, /* G9 ,  A  , -7.18  dB  */ \
+    -273, /* G10,  A  , -8.52  dB  */ \
+    -323, /* G11,  A  , -10.1  dB  */ \
+    -401, /* G12,  A  , -12.53 dB  */ \
+    -468, /* G13,  A  , -14.62 dB  */ \
+    -515, /* G14,  B  , -16.08 dB  */ \
+    -621, /* G15,  B  , -19.4  dB  */ \
+    -734, /* G16,  B  , -22.93 dB  */ \
+    -853, /* G17,  B  , -26.67 dB  */ \
+    -988, /* G18,  B  , -30.89 dB  */ \
+   -1181, /* G19,  B  , -36.91 dB  */ \
+   -1374, /* G20,  B  , -42.93 dB  */ \
+   -1566, /* G21,  B  , -48.95 dB  */ \
+   -1759, /* G22,  AUX, -54.97 dB  */ \
+   -1952, /* G23,  AUX, -60.99 dB  */ \
+   -2144, /* G24,  AUX, -67.01 dB  */ \
+   -2337, /* G25,  AUX, -73.03 dB  */ \
+   -2530  /* G26,  AUX, -79.05 dB  */ \
+},
+
+#define UL1D_DEFAULT_RFC_TX_IQ_DC \
+        /*tx_iq_lin*/{{0,0}},     \
+        /*tx_dc_lin*/{{0,0}},     \
+        /*tx_iq_dpd*/{{0,0}},     \
+        /*tx_dc_dpd*/{{0,0}},
+
+
+
+/* TX LPF*/
+/* ==============================================================================
+
+   A60827_TX_Programming_Guide.docx, 3.6.1 ABB BW Controls
+   Trinity_VCODIV_table_20170925_for_93modem
+   A60827_BBBM_TABLE_322.xlsx
+   A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+
+   CW708   TX1_BBBM4   TX1_ABB_CSEL   [7:0]  TX1_ABB_RSEL  [1:0]
+   CW728   TX2_BBBM4   TX2_ABB_CSEL   [7:0]  TX2_ABB_RSEL  [1:0] --> 2 bits
+   CW890   TX1_ABBMAN1 TX1_ABB_CSEL1_M[7:0]  -------------------
+                       TX1_ABB_CSEL2_M[7:0]  -------------------
+   CW957   TX2_ABBMAN1 TX2_ABB_CSEL1_M[7:0]  -------------------
+                       TX2_ABB_CSEL2_M[7:0]  -------------------
+   CW891   TX1_ABBMAN2 --------------------  TX1_ABB_RSEL_M[3:0] --> 4 bits ?
+   CW958   TX2_ABBMAN2 --------------------  TX2_ABB_RSEL_M[3:0]
+
+   |Band         | Path    | Mode     | TX1/2_ABB_CSEL[7:0]| TX1/2_ABB_RSEL[1:0]|
+   |-------------|---------|----------|--------------------|--------------------|
+   |3G_FDD_Band01| 1       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band02| 1       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band03| 1       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band04| 1       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band05| 2       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band06| 2       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band08| 2       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band09| 1       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band11| 1       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band18| 2       |LPF_6P8M  | 0xC6               | 0x2                |
+   |3G_FDD_Band19| 2       |LPF_6P8M  | 0xC6               | 0x2                |
+
+   =============================================================================*/
+
+#define UL1D_DEFAULT_RFC_TX_LPF_BNone \
+       /*tx_lpf_abb_rsel  */ 0x2, \
+       /*tx_lpf_abb_csel_1*/ 0xC6,\
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B1 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B2 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B3 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B4 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B5 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B6 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B8 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B9 \
+       /*tx_lpf_abb_rsel  */ 0x2,  \
+       /*tx_lpf_abb_csel_1*/ 0xC6, \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B11 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xC6,  \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B18 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xC6,  \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+#define UL1D_DEFAULT_RFC_TX_LPF_B19 \
+       /*tx_lpf_abb_rsel  */ 0x2,   \
+       /*tx_lpf_abb_csel_1*/ 0xC6,  \
+       /*tx_lpf_abb_csel_2*/ 0xC6,
+
+
+
+
+/* TX RCF*/
+/*
+   A60827_BBBM_TABLE_322.xlsx
+   A60827_TX_Programming_Guide.docx, 3.6.1 ABB BW Controls
+   Trinity_VCODIV_table_20170925_for_93modem
+   A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+   CW709
+   CW710
+   CW728
+   CW729
+
+   |Band          | Path  | Mode:TX1        | Mode:TX2       | RG_TX2_RCF_RSEL[7:0]|  TX2_RCF_CSEL[7:0]| TX2_RCF_CSEL_1B[7:0] | TX2_RCF_CSEL_2A[7:0]|
+   |--------------|-------|-----------------|----------------|---------------------|------------------ |----------------------|---------------------|
+   |3G_FDD_Band01 | 1     | RCF_MB_CM1_16M  | RCF_MB_CM1_16M | 0x2A                |  0x1D             | 0x1D                 |  0x1D               |
+   |3G_FDD_Band02 | 1     | RCF_MB_CM2_16M  | RCF_MB_CM2_16M | 0x2F                |  0x20             | 0x20                 |  0x20               |
+   |3G_FDD_Band03 | 1     | RCF_MB_CM3_16M  | RCF_MB_CM3_16M | 0x37                |  0x22             | 0x22                 |  0x22               |
+   |3G_FDD_Band04 | 1     | RCF_MB_CM3_16M  | RCF_MB_CM3_16M | 0x37                |  0x22             | 0x22                 |  0x22               |
+   |3G_FDD_Band05 | 2     | RCF_LB_CM2_16M  | RCF_LB_CM2_16M | 0x21                |  0x19             | 0x19                 |  0x19               |
+   |3G_FDD_Band06 | 2     | RCF_LB_CM2_16M  | RCF_LB_CM2_16M | 0x21                |  0x19             | 0x19                 |  0x19               |
+   |3G_FDD_Band08 | 2     | RCF_LB_CM1_16M  | RCF_LB_CM1_16M | 0x1C                |  0x14             | 0x14                 |  0x14               |
+   |3G_FDD_Band09 | 1     | RCF_MB_CM3_16M  | RCF_MB_CM3_16M | 0x37                |  0x22             | 0x22                 |  0x22               |
+   |3G_FDD_Band11 | 1     | RCF_MB_CM4_16M  | RCF_MB_CM4_16M | 0x37                |  0x23(???)        | 0x24                 |  0x24               |
+   |3G_FDD_Band18 | 2     | RCF_LB_CM3_16M  | RCF_LB_CM3_16M | 0x24                |  0x19             | 0x19                 |  0x19               |
+   |3G_FDD_Band19 | 2     | RCF_LB_CM2_16M  | RCF_LB_CM2_16M | 0x21                |  0x19             | 0x19                 |  0x19               |
+*/
+
+#define UL1D_DEFAULT_RFC_TX_RCF_BNone    \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x1D, \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B1 \
+       /*tx_rcf_rsel      */ 0x2A, \
+       /*tx_rcf_csel_4a   */ 0x1D, \
+       /*tx_rcf_csel_1b   */ 0x1D, \
+       /*tx_rcf_csel_2a   */ 0x1D,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B2 \
+       /*tx_rcf_rsel      */ 0x2F, \
+       /*tx_rcf_csel_4a   */ 0x20, \
+       /*tx_rcf_csel_1b   */ 0x20, \
+       /*tx_rcf_csel_2a   */ 0x20,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B3 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x22, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B4 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x22, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B5 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x19, \
+       /*tx_rcf_csel_1b   */ 0x19, \
+       /*tx_rcf_csel_2a   */ 0x19,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B6 \
+       /*tx_rcf_rsel      */ 0x21, \
+       /*tx_rcf_csel_4a   */ 0x19, \
+       /*tx_rcf_csel_1b   */ 0x19, \
+       /*tx_rcf_csel_2a   */ 0x19,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B8 \
+       /*tx_rcf_rsel      */ 0x1C, \
+       /*tx_rcf_csel_4a   */ 0x14, \
+       /*tx_rcf_csel_1b   */ 0x14, \
+       /*tx_rcf_csel_2a   */ 0x14,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B9 \
+       /*tx_rcf_rsel      */ 0x37, \
+       /*tx_rcf_csel_4a   */ 0x22, \
+       /*tx_rcf_csel_1b   */ 0x22, \
+       /*tx_rcf_csel_2a   */ 0x22,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B11 \
+       /*tx_rcf_rsel      */ 0x37,  \
+       /*tx_rcf_csel_4a   */ 0x23,  \
+       /*tx_rcf_csel_1b   */ 0x24,  \
+       /*tx_rcf_csel_2a   */ 0x24,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B18 \
+       /*tx_rcf_rsel      */ 0x24,  \
+       /*tx_rcf_csel_4a   */ 0x19,  \
+       /*tx_rcf_csel_1b   */ 0x19,  \
+       /*tx_rcf_csel_2a   */ 0x19,
+
+#define UL1D_DEFAULT_RFC_TX_RCF_B19 \
+       /*tx_rcf_rsel      */ 0x21,  \
+       /*tx_rcf_csel_4a   */ 0x19,  \
+       /*tx_rcf_csel_1b   */ 0x19,  \
+       /*tx_rcf_csel_2a   */ 0x19,
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_BNone \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B1 \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B2 \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B3 \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B4 \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B5 \
+{                                              \
+     M_TX_PHASE_LB_4A_DEFAULT,                 \
+     M_TX_PHASE_LB_2A_DEFAULT,                 \
+     M_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B6 \
+{                                              \
+     M_TX_PHASE_LB_4A_DEFAULT,                 \
+     M_TX_PHASE_LB_2A_DEFAULT,                 \
+     M_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B8 \
+{                                              \
+     M_TX_PHASE_LB_4A_DEFAULT,                 \
+     M_TX_PHASE_LB_2A_DEFAULT,                 \
+     M_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B9 \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B11 \
+{                                              \
+     M_TX_PHASE_MB_4A_DEFAULT,                 \
+     M_TX_PHASE_MB_2A_DEFAULT,                 \
+     M_TX_PHASE_MB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B18 \
+{                                              \
+     M_TX_PHASE_LB_4A_DEFAULT,                 \
+     M_TX_PHASE_LB_2A_DEFAULT,                 \
+     M_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+#define UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B19 \
+{                                              \
+     M_TX_PHASE_LB_4A_DEFAULT,                 \
+     M_TX_PHASE_LB_2A_DEFAULT,                 \
+     M_TX_PHASE_LB_1A_DEFAULT                  \
+},
+
+/*
+   A60827_3wire_CW_ver_0p1.2rfse_3wire_panel.xls_mode_value
+   ------------------------------------------------------------------------------------------------------------------------------
+   |              |      | CW706[D19~D12]:           | CW706[D11~D4]:        | CW726[D19~D12]:          | CW726[D11~D4]:        |
+   |Band          | Path | RG_TX1_DRV_CTUNEMOD[7:0]  | RG_TX1_PGA_CTUNE[7:0] | RG_TX2_DRV_CTUNEMOD[7:0] | RG_TX2_PGA_CTUNE[7:0] |
+   |--------------|------|---------------------------|-----------------------|--------------------------|-----------------------|
+   |3G_FDD_Band01 | 1    | 0x09                      | 0x10                  | 0x09                     | 0x0F                  |
+   |3G_FDD_Band02 | 1    | 0x0D                      | 0x13                  | 0x0D                     | 0x11                  |
+   |3G_FDD_Band03 | 1    | 0x13                      | 0x19                  | 0x14                     | 0x17                  |
+   |3G_FDD_Band04 | 1    | 0x14                      | 0x19                  | 0x14                     | 0x17                  |
+   |3G_FDD_Band05 | 2    | 0x0A                      | 0x0B                  | 0x0A                     | 0x0B                  |
+   |3G_FDD_Band06 | 2    | 0x0A                      | 0x0B                  | 0x0A                     | 0x0B                  |
+   |3G_FDD_Band08 | 2    | 0x07                      | 0x09                  | 0x07                     | 0x09                  |
+   |3G_FDD_Band09 | 1    | 0x12                      | 0x16                  | 0x12                     | 0x16                  |
+   |3G_FDD_Band11 | 1    | 0x2C                      | 0x26                  | 0x2C                     | 0x26                  |
+   |3G_FDD_Band18 | 2    | 0x0B                      | 0x0D                  | 0x0A                     | 0x0B                  |
+   |3G_FDD_Band19 | 2    | 0x0A                      | 0x0B                  | 0x0A                     | 0x0B                  |
+   ------------------------------------------------------------------------------------------------------------------------------
+*/
+
+#define UL1D_DEFAULT_RFC_TX_CAP_BNone \
+        /*cap_opt_a      */0,   \
+        /*tx_drv_ctunemod*/0,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B1 \
+        /*cap_opt_a      */0x10,   \
+        /*tx_drv_ctunemod*/0x09,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B2 \
+        /*cap_opt_a      */0x13,   \
+        /*tx_drv_ctunemod*/0x0D,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B3 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x13,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B4 \
+        /*cap_opt_a      */0x19,   \
+        /*tx_drv_ctunemod*/0x14,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B5 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B6 \
+        /*cap_opt_a      */0x0B,   \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B8 \
+        /*cap_opt_a      */0x09,   \
+        /*tx_drv_ctunemod*/0x07,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B9 \
+        /*cap_opt_a      */0x16,   \
+        /*tx_drv_ctunemod*/0x12,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B11 \
+        /*cap_opt_a      */0x26,    \
+        /*tx_drv_ctunemod*/0x2C,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B18 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+#define UL1D_DEFAULT_RFC_TX_CAP_B19 \
+        /*cap_opt_a      */0x0B,    \
+        /*tx_drv_ctunemod*/0x0A,
+
+
+#define VERNO_BNone (0),
+#define VERNO_B1    (0),
+#define VERNO_B2    (0),
+#define VERNO_B3    (0),
+#define VERNO_B4    (0),
+#define VERNO_B5    (0),
+#define VERNO_B6    (0),
+#define VERNO_B8    (0),
+#define VERNO_B9    (0),
+#define VERNO_B11   (0),
+#define VERNO_B18   (0),
+#define VERNO_B19   (0),
+
+
+#define M_UL1D_DEFAULT_RFC_B(BAND_ID)       \
+{                                           \
+    VERNO_B##BAND_ID                        \
+    UMTSBand##BAND_ID,                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_RX_IRR_HPM         \
+        UL1D_DEFAULT_RFC_RX_IRR_LPM         \
+        UL1D_DEFAULT_RFC_RX_DC_RF_HPM       \
+        UL1D_DEFAULT_RFC_RX_DC_RF_LPM       \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_HPM      \
+        UL1D_DEFAULT_RFC_RX_DC_DIG_LPM      \
+        UL1D_DEFAULT_RFC_RX_IIP2            \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_MRX_CDCOC          \
+        UL1D_DEFAULT_RFC_MRX_IQ             \
+        UL1D_DEFAULT_RFC_MRX_DC             \
+        UL1D_DEFAULT_RFC_MRX_DNL            \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_PGA      \
+        UL1D_DEFAULT_RFC_MRX_CTUNE_TZA      \
+    },                                      \
+    {                                       \
+        UL1D_DEFAULT_RFC_TX_LPF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_RCF_B##BAND_ID  \
+        UL1D_DEFAULT_RFC_TX_IQ_DC           \
+        UL1D_DEFAULT_RFC_TX_DNL_PGA         \
+        UL1D_DEFAULT_RFC_TX_MOD_SLICE_PHASE_B##BAND_ID \
+        UL1D_DEFAULT_RFC_TX_CAP_B##BAND_ID  \
+    }                                       \
+}
+
+
+#endif /*__UL1D_RFC_DATA_TRINITYE1_H__*/
+
+/* Doxygen Group End ***************************************************//**@}*/
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_cid.h b/mcu/interface/l1/ul1/external/ul1d_rf_cid.h
new file mode 100644
index 0000000..7bbecf8
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_cid.h
@@ -0,0 +1,1213 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ *   ul1d_rf_cid.h
+ *
+ * Project:
+ * --------
+ *   3G Project Common File
+ *
+ * Description:
+ * ------------
+ *   Compile option definition
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *******************************************************************************/
+
+#ifndef  _UL1D_RF_CID_H_
+#define  _UL1D_RF_CID_H_
+
+/*******************************************************************************
+** Define RF chip in use
+*******************************************************************************/
+
+/*-----------------------------------------------*/
+/* Use in UL1D :                                                        */
+/*   ( 1) UL1D_RF_ID_MT6176                                      */
+/*-----------------------------------------------*/
+/*#define UL1D_RF_ID_SONY_CXA3359          0x00000001*/
+/*#define UL1D_RF_ID_MT6159B                   0x00000002*/
+/*#define UL1D_RF_ID_SMARTI3G                 0x00000003*/
+/*#define UL1D_RF_ID_MT6159D                  0x00000005*/
+/*#define UL1D_RF_ID_MT6160                    0x00000007*/
+/*#define UL1D_RF_ID_MT6162                    0x00000008*/
+/*#define UL1D_RF_ID_MT6162_DUAL            0x00000009*/
+/*#define UL1D_RF_ID_ORION_FDD               0x0000000A*/
+/*#define UL1D_RF_ID_ORION_HPLUS            0x0000000B*/
+/*#define UL1D_RF_ID_MT6167                    0x0000000C*/
+/*#define UL1D_RF_ID_MT6166                    0x0000000D*/
+/*#define UL1D_RF_ID_MT6169                    0x0000000E*/
+/*#define UL1D_RF_ID_MT6580RF(Rainier)      0x0000000F*/
+/*#define UL1D_RF_ID_MT6161                    0x00000010*/
+
+#define UL1D_RF_ID_MT6176              0x00000011
+#define UL1D_RF_ID_MT6179              0x00000012
+#define UL1D_RF_ID_MT6570              0x00000013
+#define UL1D_RF_ID_MT6177L             0x00000014
+#define UL1D_RF_ID_MT6173              0x00000015
+#define UL1D_RF_ID_TRINITYE1           0x00000016
+#define UL1D_RF_ID_TRINITYL            0x00000017
+#define UL1D_RF_ID_TRINITYL_E2         0x00000018
+#define UL1D_RF_ID_TRINITY2L           0x00000019
+#define UL1D_RF_ID_COLUMBUS            0x00000020
+#define UL1D_RF_ID_COLUMBUSL           0x00000021
+
+
+#if (defined __MD97__) || (defined __MD97P__)
+#define IS_URF_MD97_TO_DO  (1)
+#else
+#define IS_URF_MD97_TO_DO  (0)
+#endif
+
+#ifndef  UL1D_RF_ID
+   #if defined(MT6186M_UMTS_FDD)
+#define UL1D_RF_ID                           UL1D_RF_ID_TRINITY2L
+   #elif defined(MT6186_UMTS_FDD)
+#define UL1D_RF_ID                           UL1D_RF_ID_TRINITYL_E2
+   #elif defined(TRINITYL_UMTS_FDD)||defined(TRINITYL_RF)||defined(MT6185M_UMTS_FDD)
+#define UL1D_RF_ID                           UL1D_RF_ID_TRINITYL
+   #elif defined(TRINITYE1_UMTS_FDD)
+#define UL1D_RF_ID                           UL1D_RF_ID_TRINITYE1
+   #elif defined(MT6190T_UMTS_FDD)||defined(MT6190_UMTS_FDD)||defined(MT6195_UMTS_FDD)
+#define UL1D_RF_ID                           UL1D_RF_ID_COLUMBUS
+   #elif defined(MT6190M_UMTS_FDD)
+#define UL1D_RF_ID                           UL1D_RF_ID_COLUMBUSL
+   #elif defined(MT6177M_RF)
+#define UL1D_RF_ID                           UL1D_RF_ID_MT6173
+   #elif defined(MT6177L_RF)
+#define UL1D_RF_ID                           UL1D_RF_ID_MT6177L
+   #elif defined(MT6179_RF)
+#define UL1D_RF_ID                           UL1D_RF_ID_MT6179
+   #else
+      #error "No Valid RF Chip was defined"
+   #endif
+#else
+   #error "Unexpected RF Chip was defined"
+#endif
+
+/*.......................................................*/
+#define IS_URF_ORION_HPLUS                   ( 0 )
+
+#define IS_URF_MT6176                        ( 0 )
+#define IS_URF_MT6179                        ( 0 )
+#define IS_URF_MT6177L                       ( UL1D_RF_ID==UL1D_RF_ID_MT6177L )
+#define IS_URF_MT6173                        ( UL1D_RF_ID==UL1D_RF_ID_MT6173 )
+#define IS_URF_TRINITYE1                     (( UL1D_RF_ID==UL1D_RF_ID_TRINITYE1)||( UL1D_RF_ID==UL1D_RF_ID_TRINITYL)||(UL1D_RF_ID==UL1D_RF_ID_TRINITYL_E2))
+#define IS_URF_TRINITY_L                     (( UL1D_RF_ID==UL1D_RF_ID_TRINITYL )||(UL1D_RF_ID==UL1D_RF_ID_TRINITYL_E2))
+#define IS_URF_TRINITY_L_E2                  ( UL1D_RF_ID==UL1D_RF_ID_TRINITYL_E2)
+#define IS_URF_TRINITY_2L                    ( UL1D_RF_ID==UL1D_RF_ID_TRINITY2L )
+#define IS_URF_COLUMBUS                      ( UL1D_RF_ID==UL1D_RF_ID_COLUMBUS)||( UL1D_RF_ID==UL1D_RF_ID_COLUMBUSL)
+
+
+#if IS_URF_MT6177L 
+#define IS_URF_MT6177L_RX                    ( 1 )
+#define IS_URF_MT6177L_RX_ADVANCE            ( 1 )
+#define IS_URF_MT6177L_RX_POC                ( 1 )
+#define IS_URF_MT6177L_RX_REFINE             ( 0 )
+#define IS_URF_MT6177L_DUMP_SUPPORT          ( 0 )
+#define IS_URF_MT6177L_RFC                   ( 1 )
+#define IS_MT6177L_PHONE_CALL_RX             ( 0 )
+#define IS_MT6177L_RX_POC_DEBUG              ( 0 )
+#elif IS_URF_MT6173
+#define IS_URF_MT6173_RX                     ( 1 )
+#define IS_URF_MT6173_RFC                    ( 1 )
+#define IS_URF_MT6173_RX_POC                 ( 1 )
+#define IS_MT6173_RX_POC_DEBUG               ( 0 )
+#define IS_URF_MT6173_RX_REFINE              ( 0 )
+#define IS_URF_MT6173_RX_ADVANCED            ( 1 )
+#define IS_MT6173_PHONE_CALL_RX              ( 0 )
+#define IS_URF_MT6173_DUMP_SUPPORT           ( 0 )
+#define IS_URF_MT6173_DET_ALWAYS_ON          defined(__IS_MT6177M_CODE_DOMAIN_POWER_IMPROVE__)
+#elif IS_URF_TRINITYE1
+#define IS_URF_TRINITYE1_RX                  ( 1 )
+#define IS_URF_TRINITYE1_RX_REFINE           ( 0 )
+#define IS_URF_TRINITYE1_RX_ADVANCED         ( 1 )
+#define IS_TRINITYE1_PHONE_CALL_RX           ( 0 )
+#define IS_URF_TRINITYE1_DUMP_SUPPORT        ( 0 )
+#define IS_URF_TRINITY_TX_DEBUG              ( 0 )
+#define IS_URF_TRINITYE1_RFC                 ( 1 )
+#define IS_URF_TRINITYE1_RFC_TBD             ( 1 )
+#define IS_URF_DIMENSION_CHECK_EN            ( 1 )
+#define IS_URF_POC_CW_CHECK_EN               ( 0 )
+#elif IS_URF_TRINITY_2L
+#define IS_URF_TRINITY2L_RX                  ( 1 )
+#define IS_URF_TRINITY2L_RX_REFINE           ( 0 )
+#define IS_URF_TRINITY2L_RX_ADVANCED         ( 1 )
+#define IS_TRINITY2L_PHONE_CALL_RX           ( 0 )
+#define IS_URF_TRINITY2L_DUMP_SUPPORT        ( 0 )
+#define IS_URF_TRINITY2L_RFC_TBD             ( 1 )
+#define IS_URF_TRINITY_TX_DEBUG              ( 0 )
+#define IS_URF_DIMENSION_CHECK_EN            ( 1 )
+#define IS_URF_POC_CW_CHECK_EN               ( 0 )
+#elif IS_URF_COLUMBUS 
+#define IS_URF_COLUMBUS_RX                   ( 1 )
+#define IS_URF_COLUMBUS_NVRAM_REMOVE         ( 0 )
+#define IS_URF_COLUMBUS_TO_DO                ( 1 )
+#endif
+
+#if IS_URF_COLUMBUS_TO_DO
+#define IS_URF_CDF_INTERFACE                 1
+#define IS_URF_TEMPERATURE_HAL_INTERFACE     0
+#define IS_URF_HAL_INTERFACE                 0
+#else
+#define IS_URF_CDF_INTERFACE                 0
+#define IS_URF_TEMPERATURE_HAL_INTERFACE     defined (__MMRF_RF_HAL_SEQ_GEN_SUPPORT__)
+#define IS_URF_HAL_INTERFACE                 defined (__MMRF_RF_HAL_SEQ_GEN_SUPPORT__)
+#endif 
+
+/*.......................................................*/
+
+#define IS_URF_MT6291_DUAL_CORE_ARCH           (0)
+#define IS_URF_PCORE                           (1) //for backward 91 code, default enable Pcore and L1core code
+#define IS_URF_L1CORE                          (1) //for backward 91 code, default enable Pcore and L1core code
+
+#if (defined __MD93__)
+#define IS_URF_PCORE_REMOVE_SUPPORT            (0)//for PCORE Remove Task
+#else
+/*MD95 and later*/
+#define IS_URF_PCORE_REMOVE_SUPPORT            (0)//for PCORE Remove Task
+#endif
+
+
+/*RXDC GxE Dimension (For Lafite(and later) + Trinty-L E2 & Trinity-2L, updated 20180913)*/
+#if defined(__MD95__)
+
+#if defined(MT3967)||defined(MT6295M)
+#define IS_URF_RXDC_GXE_SUPPORT  (0)
+#else
+#if (( UL1D_RF_ID==UL1D_RF_ID_TRINITYE1)||( UL1D_RF_ID==UL1D_RF_ID_TRINITYL))
+#define IS_URF_RXDC_GXE_SUPPORT  (0)
+#else
+#define IS_URF_RXDC_GXE_SUPPORT  (1)
+#endif
+#endif/*MT3967 or MT6295M*/
+
+#endif/*__MD95__*/
+
+
+/*.......................................................*/
+
+/*******************************************************************************
+** META HWTPC test item usage
+*******************************************************************************/
+#define IS_HSPA_HWTPC                        0
+
+/*******************************************************************************
+** RXD & DUAL CELL usage
+*******************************************************************************/
+#if (IS_URF_MT6176 || IS_URF_MT6179 || IS_URF_MT6177L_RX || IS_URF_MT6173_RX || IS_URF_TRINITYE1_RX || IS_URF_TRINITY2L_RX || IS_URF_COLUMBUS_RX)
+#define IS_RF_DUAL_CELL_SUPPORT              1
+#define IS_RF_RXD_SUPPORT                    1
+#define TEAMPERATURE_MEAS_EN                 1   /* temp disable for phone call and not port yet */
+
+/*MIPI RFFE flag*/
+#define IS_3G_MIPI_SUPPORT                   defined (__3G_MIPI_SUPPORT__) /* temp enable 3G MIPI by 2G make option */
+#define IS_3G_MIPI_NVRAM_FULL_SUPPORT        IS_3G_MIPI_SUPPORT
+#define ENABLE_3G_TPC_SUB_BAND               1 /* subband support for MIPI 8 stage PA bias*/
+#if IS_3G_MIPI_SUPPORT
+#define IS_3G_MIPI_EXTENDED_READ_ENABLE      0
+#endif
+#define IS_3G_NEW_MIPI_FORMAT_FOR_MMRF_API  (IS_3G_MIPI_SUPPORT)
+
+/*TAS Feature flag*/
+#ifdef __TAS_SUPPORT__
+   #if (defined __MD93__)
+   #define IS_3G_TAS_SUPPORT                 (1)
+   #define IS_3G_UTAS_SUPPORT                (0)
+   #define IS_3G_GEN97_TAS_SUPPORT           (0)
+   #elif (defined __MD95__)
+   #define IS_3G_TAS_SUPPORT                 (1)
+   #define IS_3G_UTAS_SUPPORT                (1)
+   #define IS_3G_GEN97_TAS_SUPPORT           (0)
+   #elif (defined __MD97__) || (defined __MD97P__)
+   #define IS_3G_TAS_SUPPORT                 (1)
+   #define IS_3G_UTAS_SUPPORT                (1)
+   #define IS_3G_GEN97_TAS_SUPPORT           (1)
+   #else
+   #error "[ERROR] Invalid MD generation"
+   #endif
+#else
+#define IS_3G_TAS_SUPPORT                    (0)
+#define IS_3G_UTAS_SUPPORT                   (0)
+#define IS_3G_GEN97_TAS_SUPPORT              (0)
+#endif
+
+#define ENABLE_TAS_DEBUG_TRACE               (0)
+#define IS_3G_FORCE_TX_ANT_SUPPORT           IS_3G_TAS_SUPPORT
+#define IS_3G_TAS_UL1_CUSTOM_SUPPORT         IS_3G_TAS_SUPPORT
+#define IS_3G_TAS_2P0_LATTER                 IS_3G_TAS_SUPPORT
+
+#define IS_3G_TAS_MPR_SUPPORT                IS_3G_TAS_SUPPORT
+#define IS_3G_TAS_TST_SUPPORT                IS_3G_TAS_SUPPORT
+#define IS_3G_TAS_INHERIT_4G_ANT             IS_3G_TAS_SUPPORT
+
+/*DAT Feature flag*/
+#if (defined __MD97__) || (defined __MD97P__)
+#define IS_3G_DYNAMIC_ANTENNA_TUNING_SUPPORT        1 /*Gen97 DAT is default enable*/
+#else
+#define IS_3G_DYNAMIC_ANTENNA_TUNING_SUPPORT        defined (__DYNAMIC_ANTENNA_TUNING__)
+#endif
+
+#if IS_3G_DYNAMIC_ANTENNA_TUNING_SUPPORT
+   #if (defined __MD93__)
+   #define IS_3G_UDAT_SUPPORT               (0) /*(0)*/
+   #define IS_3G_GEN97_DAT_SUPPORT          (0)
+   #elif (defined __MD95__)
+   #define IS_3G_UDAT_SUPPORT               (1)
+   #define IS_3G_GEN97_DAT_SUPPORT          (0)
+   #elif (defined __MD97__) || (defined __MD97P__)
+   #define IS_3G_UDAT_SUPPORT               (1)
+   #define IS_3G_GEN97_DAT_SUPPORT          (1)
+   #else
+   #error "[ERROR] Invalid MD generation"
+   #endif
+#else
+   #define IS_3G_UDAT_SUPPORT               (0) /*(0)*/
+   #define IS_3G_GEN97_DAT_SUPPORT          (0)
+#endif
+
+#define IS_3G_DAT_UL1_CUSTOM_SUPPORT        IS_3G_DYNAMIC_ANTENNA_TUNING_SUPPORT
+#define IS_3G_DAT_RFD_CTRL_EN               IS_3G_DYNAMIC_ANTENNA_TUNING_SUPPORT
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+#define IS_3G_RF_DAT_UT_ENABLE               0
+#else
+#define IS_3G_RF_DAT_UT_ENABLE               0
+#endif
+
+#if ((IS_3G_TAS_SUPPORT) && (IS_3G_DAT_RFD_CTRL_EN) && (!IS_3G_UDAT_SUPPORT))
+#define IS_3G_DAT_TAS_COEXIST                1
+#else
+#define IS_3G_DAT_TAS_COEXIST                0
+#endif
+
+#define IS_3G_MPR_EXTEND_SUPPORT             (1)
+#define IS_3G_MPR_EXTEND_DBG_EN              (0)
+
+//#define IS_RX_LPF_CURR_IN_MANUAL_MODE         1  /*For power saving purpose, MT7206 programing guide_0705.doc, 9.4.2.3 excel file*/
+//Temporary for development and bring up test. shall remove this all when stabel, paul.
+#define MT6169_TO_DO                         1
+
+#define IS_3G_RSSI_ABNORMAL_DEBUG            0// 1
+#define IS_UMTS_RF_BSI_LOGGER_ENABLE         1
+#define IS_MT6176_PHONE_CALL                (0)
+#if IS_URF_MT6179
+#define IS_MT6179_PHONE_CALL                 0
+#endif
+#define IS_FEC_TX_RF_PA_PWR_CTRL_ENABLE      1
+
+/*POC enable ready flag*/
+#define IS_3G_POC_TX_FIIQ_DC_READY           1
+#define IS_3G_POC_RX_IQ_READY                1
+
+/* SWTP feature */
+#define IS_3G_TX_POWER_OFFSET_SUPPORT        defined (__TX_POWER_OFFSET_SUPPORT__)
+#define IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT   defined (__SAR_TX_POWER_BACKOFF_SUPPORT__)
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT || IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+#define IS_3G_SAR_TIMING_PROFILE_ENABLE      0
+#define IS_3G_RF_SAR_UT_ENABLE               0
+#define IS_3G_RF_SWTP_UT_ENABLE              0
+#define IS_3G_RF_COMMON_SAR_UT_ENABLE        0
+#else
+#define IS_3G_SAR_TIMING_PROFILE_ENABLE      0
+#define IS_3G_RF_SAR_UT_ENABLE               0
+#endif
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+#define IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT     defined (__SAR_TX_POWER_BACKOFF_COMMON_SAR_SUPPORT__)
+#define IS_3G_SAR_TX_POWER_OFFSET_EXPANSION_SUPPORT defined (__SAR_TX_POWER_BACKOFF_SCENARIO_EXPANSION_SUPPORT__)
+#else
+#define IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT     0
+#define IS_3G_SAR_TX_POWER_OFFSET_EXPANSION_SUPPORT 0
+#endif
+
+
+#define IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT   defined (__WCDMA_TX_NSFT_POWER_OFFSET_SUPPORT__)
+
+/*RX Power Offset feature*/
+#define IS_3G_RX_POWER_OFFSET_SUPPORT        defined (__RX_POWER_OFFSET_SUPPORT__)
+/* DRDI support capability */
+#define IS_3G_DRDI_SUPPORT                   defined(__RF_DRDI_CAPABILITY_SUPPORT__)
+
+#define IS_3G_FDD_RX_PATH_SELECTION_SUPPORT  defined(__3G_RX_PATH_SELECTION_SUPPORT__)
+
+#define IS_3G_TAS_ANTENNA_IDX_ON_TEST_SIM    0//defined(__TAS_ANTENNA_IDX_ON_TEST_SIM__)
+
+#define IS_3G_RFIC_BSI_PORT_SWTICH           0
+
+#define IS_3G_TPC9LV_OFFPOWER_SUPPORT        1
+
+#else
+#define IS_RF_DUAL_CELL_SUPPORT              0
+#define IS_RF_RXD_SUPPORT                    0
+#define TEAMPERATURE_MEAS_EN                 0
+#endif
+
+#define IS_PATHLOSS_EXTENTION                1
+#define IS_3G_7679_GAIN_TABLE_UPDATE         1
+#define IS_3G_RF_NCCA_SUPPORT                0
+#define IS_3G_ELNA_SUPPORT                  (0)//defined(__L1_EXTERNAL_LNA_SUPPORT__)
+#define IS_3G_FDD_TPC_SPLIT_ENABLE          (1)
+
+#if (defined __MD93__) || (defined __MD95__)
+//#define IS_3G_ELNA_IDX_SUPPORT_GEN97_TBD (1)
+#define IS_3G_ELNA_IDX_SUPPORT           (1)
+#define IS_3G_ELNA_IDX_DBG_EN            (1)
+#define IS_3G_REMOVE_MIPI                (1)
+#define IS_3G_VPA_SEL_BY_BAND_SUPPORT    (1)
+#else
+//#define IS_3G_ELNA_IDX_SUPPORT_GEN97_TBD (0)
+#define IS_3G_ELNA_IDX_SUPPORT           (0)
+#define IS_3G_ELNA_IDX_DBG_EN            (0)
+#define IS_3G_REMOVE_MIPI                (0)
+#define IS_3G_VPA_SEL_BY_BAND_SUPPORT    (0)
+#endif
+
+#define IS_3G_TPC_VM_BPI_FROM_MMRF_SUPPORT  (1)
+#define IS_3G_TPC_VM_BPI_FROM_MMRF_DBG_EN   (0)
+
+#if (IS_URF_MT6173 || IS_URF_MT6177L)
+#define IS_STX_OUT_OF_LOCK_REPORT            0
+#endif
+
+
+#if defined (__FPGA__)
+#define IS_3G_RF_FPGA_L1S_BRINGUP            0
+#else
+#define IS_3G_RF_FPGA_L1S_BRINGUP            0
+#endif
+
+#define UMTS_POC_RECAL_ENABLE                0
+#define UMTS_POC_DEBUG_TRACE_ENABLE          0
+#define IS_3G_RXDFE_UPDATE_CENTROL_CONTROL   1
+#define IS_3G_FORCE_IDLE_MODE_RXD_SUPPORT    1
+
+#define IS_3G_PMIC_VS1_LOW_POWER_CTRL_SUPPORT      defined(__PMIC_VS1_LOW_POWER_CTRL_SUPPORT__)
+
+#define IS_3G_RXD_FE_CONTROL_SUPPORT         1 //defined (__UMTS_FDD_RX_DIVERSITY_CONTROL_SEPARATE__)
+
+#define IS_3G_RXD_FE_CONTROL_DEBUG_TRACE     0
+
+#define IS_3G_FIXED_GAIN_DC_FOR_DATA_DUMP    0
+
+#define IS_3G_FIXED_TX_GAIN                  0 // bypass TX FEC for phone call or debug, MIPI TPC DATA must be add to TX DATA manually in ul1d_custom_mipi.c
+
+#define IS_3G_HPUE_SUPPORT                   1 //defined(__HPUE_FEATURE_SUPPORT__)
+
+#define IS_3G_MT6295_DFE_READY               0
+
+#define IS_3G_MT6295_RF_TEMPERATURE_WORKAROUND   IS_URF_TRINITYE1
+
+#if (defined __MD95__)
+#define IS_3G_RF_VPE_TC_CHECK                1
+#else
+#define IS_3G_RF_VPE_TC_CHECK                0
+#endif/*_MD95_*/
+
+#define IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT defined (__WCDMA_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT__)
+
+#define IS_3G_B5_AND_B19_INDICATOR_SUPPORT   defined (__3G_B5_AND_B19_INDICATOR_SUPPORT__)
+
+#if (defined __MD95__)
+#define IS_3G_SUPPORT_8_BANDINDICATOR        1
+#elif (defined __MD97__) || (defined __MD97P__)
+#define IS_3G_SUPPORT_8_BANDINDICATOR        (1)
+#elif (defined __MD93__)
+#define IS_3G_SUPPORT_8_BANDINDICATOR        0
+#else
+#error "[ERROR] Invalid MD generation"
+#endif
+
+#if (defined __MD93__)
+
+#define __IS_UL1D_ETM_SUPPORT__              0
+
+#elif (defined __MD95__)
+
+   #if ( ( !defined(L1_SIM) ) && IS_3G_MIPI_SUPPORT )
+#define __IS_UL1D_ETM_SUPPORT__              1
+   #else
+#define __IS_UL1D_ETM_SUPPORT__              0
+   #endif   // #if ( ( !defined(L1_SIM) ) && IS_3G_MIPI_SUPPORT )
+#elif (defined __MD97__)|| (defined __MD97P__)
+#define __IS_UL1D_ETM_SUPPORT__              0
+#define __IS_UL1D_ETM_CDF_SUPPORT__          1
+#else
+#error "[ERROR] Invalid MD generation"
+#endif   // #if (defined __MD93__)
+
+#define IS_3G_RFEQ_COEF_SUBBAND_SUPPORT   defined (__WCDMA_RFEQ_COEF_SUBBAND_SUPPORT__)
+
+#define IS_3G_AUTO_IQ_DUMP_SUPPORT        defined (__WCDMA_RFEQ_COEF_SUBBAND_SUPPORT__)
+
+#define IS_3G_RFEQ_REAL_COEF_TEST         defined (__WCDMA_RFEQ_COEF_SUBBAND_SUPPORT__)
+
+#if ((defined __MD93__) || (defined __MD95__))
+#define IS_3G_GEN97_RXDFE_RFC_API_SUPPORT    0
+#else
+#define IS_3G_GEN97_RXDFE_RFC_API_SUPPORT    1
+#endif
+
+#if (defined __MD93__) || (defined __MD95__)
+#define IS_3G_FE_CDF_SUPPORT   0
+#else
+#define IS_3G_FE_CDF_SUPPORT   1
+#endif
+
+#endif /* #ifndef  _UL1D_RF_CID_H_ */
+
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_common.h b/mcu/interface/l1/ul1/external/ul1d_rf_common.h
new file mode 100644
index 0000000..603d4f8
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_common.h
@@ -0,0 +1,2207 @@
+/*******************************************************************************
+*  Modification Notice :
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * ul1d_rf_common.h
+ *
+ * Project:
+ * --------
+ *   3G Project Common File
+ *
+ * Description:
+ * ------------
+ *   Definition of some of customization setting not defined in ul1d_custom_rf.h
+ *   And the stuff needs to be recognized by UL1D external module (wdata.c)
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+#ifndef UL1D_RF_COMMON_H
+#define UL1D_RF_COMMON_H
+
+#include "ul1d_rf_cid.h"
+
+#if defined (UMTS_RF_L1SIM)
+#include "umts_custom_rf_sim.h"
+#else
+#if IS_URF_PCORE
+#include "ul1d_custom_rf.h"
+#endif
+#endif/*L1_SIM*/
+
+/*******************************************************************************
+** Common setting for all RF
+*******************************************************************************/
+/* This part serves as default value of undefined macro constants in ul1d_custom_rf.h */
+/* Aim to accommodate to those difference between RF chips */
+
+#if IS_3G_REMOVE_MIPI
+#ifndef  PDATA_UMTSBandNone_PR1_SetDefault
+   #define  PDATA_UMTSBandNone_PR1_SetDefault     0
+   #define  PDATA_UMTSBandNone_PR2_SetDefault     0
+   #define  PDATA_UMTSBandNone_PR3_SetDefault     0
+   #define  PDATA_UMTSBandNone_PT1_SetDefault     0
+   #define  PDATA_UMTSBandNone_PT2_SetDefault     0
+   #define  PDATA_UMTSBandNone_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand1_PR1_SetDefault
+   #define  PDATA_UMTSBand1_PR1_SetDefault     0
+   #define  PDATA_UMTSBand1_PR2_SetDefault     0
+   #define  PDATA_UMTSBand1_PR3_SetDefault     0
+   #define  PDATA_UMTSBand1_PT1_SetDefault     0
+   #define  PDATA_UMTSBand1_PT2_SetDefault     0
+   #define  PDATA_UMTSBand1_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand2_PR1_SetDefault
+   #define  PDATA_UMTSBand2_PR1_SetDefault     0
+   #define  PDATA_UMTSBand2_PR2_SetDefault     0
+   #define  PDATA_UMTSBand2_PR3_SetDefault     0
+   #define  PDATA_UMTSBand2_PT1_SetDefault     0
+   #define  PDATA_UMTSBand2_PT2_SetDefault     0
+   #define  PDATA_UMTSBand2_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand3_PR1_SetDefault
+   #define  PDATA_UMTSBand3_PR1_SetDefault     0
+   #define  PDATA_UMTSBand3_PR2_SetDefault     0
+   #define  PDATA_UMTSBand3_PR3_SetDefault     0
+   #define  PDATA_UMTSBand3_PT1_SetDefault     0
+   #define  PDATA_UMTSBand3_PT2_SetDefault     0
+   #define  PDATA_UMTSBand3_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand4_PR1_SetDefault
+   #define  PDATA_UMTSBand4_PR1_SetDefault     0
+   #define  PDATA_UMTSBand4_PR2_SetDefault     0
+   #define  PDATA_UMTSBand4_PR3_SetDefault     0
+   #define  PDATA_UMTSBand4_PT1_SetDefault     0
+   #define  PDATA_UMTSBand4_PT2_SetDefault     0
+   #define  PDATA_UMTSBand4_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand5_PR1_SetDefault
+   #define  PDATA_UMTSBand5_PR1_SetDefault     0
+   #define  PDATA_UMTSBand5_PR2_SetDefault     0
+   #define  PDATA_UMTSBand5_PR3_SetDefault     0
+   #define  PDATA_UMTSBand5_PT1_SetDefault     0
+   #define  PDATA_UMTSBand5_PT2_SetDefault     0
+   #define  PDATA_UMTSBand5_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand6_PR1_SetDefault
+   #define  PDATA_UMTSBand6_PR1_SetDefault     0
+   #define  PDATA_UMTSBand6_PR2_SetDefault     0
+   #define  PDATA_UMTSBand6_PR3_SetDefault     0
+   #define  PDATA_UMTSBand6_PT1_SetDefault     0
+   #define  PDATA_UMTSBand6_PT2_SetDefault     0
+   #define  PDATA_UMTSBand6_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand7_PR1_SetDefault
+   #define  PDATA_UMTSBand7_PR1_SetDefault     0
+   #define  PDATA_UMTSBand7_PR2_SetDefault     0
+   #define  PDATA_UMTSBand7_PR3_SetDefault     0
+   #define  PDATA_UMTSBand7_PT1_SetDefault     0
+   #define  PDATA_UMTSBand7_PT2_SetDefault     0
+   #define  PDATA_UMTSBand7_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand8_PR1_SetDefault
+   #define  PDATA_UMTSBand8_PR1_SetDefault     0
+   #define  PDATA_UMTSBand8_PR2_SetDefault     0
+   #define  PDATA_UMTSBand8_PR3_SetDefault     0
+   #define  PDATA_UMTSBand8_PT1_SetDefault     0
+   #define  PDATA_UMTSBand8_PT2_SetDefault     0
+   #define  PDATA_UMTSBand8_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand9_PR1_SetDefault
+   #define  PDATA_UMTSBand9_PR1_SetDefault     0
+   #define  PDATA_UMTSBand9_PR2_SetDefault     0
+   #define  PDATA_UMTSBand9_PR3_SetDefault     0
+   #define  PDATA_UMTSBand9_PT1_SetDefault     0
+   #define  PDATA_UMTSBand9_PT2_SetDefault     0
+   #define  PDATA_UMTSBand9_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand10_PR1_SetDefault
+   #define  PDATA_UMTSBand10_PR1_SetDefault     0
+   #define  PDATA_UMTSBand10_PR2_SetDefault     0
+   #define  PDATA_UMTSBand10_PR3_SetDefault     0
+   #define  PDATA_UMTSBand10_PT1_SetDefault     0
+   #define  PDATA_UMTSBand10_PT2_SetDefault     0
+   #define  PDATA_UMTSBand10_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand11_PR1_SetDefault
+   #define  PDATA_UMTSBand11_PR1_SetDefault     0
+   #define  PDATA_UMTSBand11_PR2_SetDefault     0
+   #define  PDATA_UMTSBand11_PR3_SetDefault     0
+   #define  PDATA_UMTSBand11_PT1_SetDefault     0
+   #define  PDATA_UMTSBand11_PT2_SetDefault     0
+   #define  PDATA_UMTSBand11_PT3_SetDefault     0
+#endif
+#ifndef  PDATA_UMTSBand19_PR1_SetDefault
+   #define  PDATA_UMTSBand19_PR1_SetDefault     0
+   #define  PDATA_UMTSBand19_PR2_SetDefault     0
+   #define  PDATA_UMTSBand19_PR3_SetDefault     0
+   #define  PDATA_UMTSBand19_PT1_SetDefault     0
+   #define  PDATA_UMTSBand19_PT2_SetDefault     0
+   #define  PDATA_UMTSBand19_PT3_SetDefault     0
+#endif
+
+#ifndef PDATA_UMTSBand1_PR2B_SetDefault
+   #define PDATA_UMTSBand1_PR2B_SetDefault PDATA_UMTSBand1_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand1_PR3A_SetDefault
+   #define PDATA_UMTSBand1_PR3A_SetDefault PDATA_UMTSBand1_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand1_PT2B_SetDefault
+   #define PDATA_UMTSBand1_PT2B_SetDefault PDATA_UMTSBand1_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand1_PT3A_SetDefault
+   #define PDATA_UMTSBand1_PT3A_SetDefault PDATA_UMTSBand1_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand2_PR2B_SetDefault
+   #define PDATA_UMTSBand2_PR2B_SetDefault PDATA_UMTSBand2_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand2_PR3A_SetDefault
+   #define PDATA_UMTSBand2_PR3A_SetDefault PDATA_UMTSBand2_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand2_PT2B_SetDefault
+   #define PDATA_UMTSBand2_PT2B_SetDefault PDATA_UMTSBand2_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand2_PT3A_SetDefault
+   #define PDATA_UMTSBand2_PT3A_SetDefault PDATA_UMTSBand2_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand3_PR2B_SetDefault
+   #define PDATA_UMTSBand3_PR2B_SetDefault PDATA_UMTSBand3_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand3_PR3A_SetDefault
+   #define PDATA_UMTSBand3_PR3A_SetDefault PDATA_UMTSBand3_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand3_PT2B_SetDefault
+   #define PDATA_UMTSBand3_PT2B_SetDefault PDATA_UMTSBand3_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand3_PT3A_SetDefault
+   #define PDATA_UMTSBand3_PT3A_SetDefault PDATA_UMTSBand3_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand4_PR2B_SetDefault
+   #define PDATA_UMTSBand4_PR2B_SetDefault PDATA_UMTSBand4_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand4_PR3A_SetDefault
+   #define PDATA_UMTSBand4_PR3A_SetDefault PDATA_UMTSBand4_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand4_PT2B_SetDefault
+   #define PDATA_UMTSBand4_PT2B_SetDefault PDATA_UMTSBand4_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand4_PT3A_SetDefault
+   #define PDATA_UMTSBand4_PT3A_SetDefault PDATA_UMTSBand4_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand5_PR2B_SetDefault
+   #define PDATA_UMTSBand5_PR2B_SetDefault PDATA_UMTSBand5_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand5_PR3A_SetDefault
+   #define PDATA_UMTSBand5_PR3A_SetDefault PDATA_UMTSBand5_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand5_PT2B_SetDefault
+   #define PDATA_UMTSBand5_PT2B_SetDefault PDATA_UMTSBand5_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand5_PT3A_SetDefault
+   #define PDATA_UMTSBand5_PT3A_SetDefault PDATA_UMTSBand5_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand6_PR2B_SetDefault
+   #define PDATA_UMTSBand6_PR2B_SetDefault PDATA_UMTSBand6_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand6_PR3A_SetDefault
+   #define PDATA_UMTSBand6_PR3A_SetDefault PDATA_UMTSBand6_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand6_PT2B_SetDefault
+   #define PDATA_UMTSBand6_PT2B_SetDefault PDATA_UMTSBand6_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand6_PT3A_SetDefault
+   #define PDATA_UMTSBand6_PT3A_SetDefault PDATA_UMTSBand6_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand7_PR2B_SetDefault
+   #define PDATA_UMTSBand7_PR2B_SetDefault PDATA_UMTSBand7_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand7_PR3A_SetDefault
+   #define PDATA_UMTSBand7_PR3A_SetDefault PDATA_UMTSBand7_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand7_PT2B_SetDefault
+   #define PDATA_UMTSBand7_PT2B_SetDefault PDATA_UMTSBand7_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand7_PT3A_SetDefault
+   #define PDATA_UMTSBand7_PT3A_SetDefault PDATA_UMTSBand7_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand8_PR2B_SetDefault
+   #define PDATA_UMTSBand8_PR2B_SetDefault PDATA_UMTSBand8_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand8_PR3A_SetDefault
+   #define PDATA_UMTSBand8_PR3A_SetDefault PDATA_UMTSBand8_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand8_PT2B_SetDefault
+   #define PDATA_UMTSBand8_PT2B_SetDefault PDATA_UMTSBand8_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand8_PT3A_SetDefault
+   #define PDATA_UMTSBand8_PT3A_SetDefault PDATA_UMTSBand8_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand9_PR2B_SetDefault
+   #define PDATA_UMTSBand9_PR2B_SetDefault PDATA_UMTSBand9_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand9_PR3A_SetDefault
+   #define PDATA_UMTSBand9_PR3A_SetDefault PDATA_UMTSBand9_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand9_PT2B_SetDefault
+   #define PDATA_UMTSBand9_PT2B_SetDefault PDATA_UMTSBand9_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand9_PT3A_SetDefault
+   #define PDATA_UMTSBand9_PT3A_SetDefault PDATA_UMTSBand9_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand10_PR2B_SetDefault
+   #define PDATA_UMTSBand10_PR2B_SetDefault PDATA_UMTSBand10_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand10_PR3A_SetDefault
+   #define PDATA_UMTSBand10_PR3A_SetDefault PDATA_UMTSBand10_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand10_PT2B_SetDefault
+   #define PDATA_UMTSBand10_PT2B_SetDefault PDATA_UMTSBand10_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand10_PT3A_SetDefault
+   #define PDATA_UMTSBand10_PT3A_SetDefault PDATA_UMTSBand10_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand11_PR2B_SetDefault
+   #define PDATA_UMTSBand11_PR2B_SetDefault PDATA_UMTSBand11_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand11_PR3A_SetDefault
+   #define PDATA_UMTSBand11_PR3A_SetDefault PDATA_UMTSBand11_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand11_PT2B_SetDefault
+   #define PDATA_UMTSBand11_PT2B_SetDefault PDATA_UMTSBand11_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand11_PT3A_SetDefault
+   #define PDATA_UMTSBand11_PT3A_SetDefault PDATA_UMTSBand11_PT3_SetDefault
+#endif
+
+#ifndef PDATA_UMTSBand19_PR2B_SetDefault
+   #define PDATA_UMTSBand19_PR2B_SetDefault PDATA_UMTSBand19_PR2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand19_PR3A_SetDefault
+   #define PDATA_UMTSBand19_PR3A_SetDefault PDATA_UMTSBand19_PR3_SetDefault
+#endif
+#ifndef PDATA_UMTSBand19_PT2B_SetDefault
+   #define PDATA_UMTSBand19_PT2B_SetDefault PDATA_UMTSBand19_PT2_SetDefault
+#endif
+#ifndef PDATA_UMTSBand19_PT3A_SetDefault
+   #define PDATA_UMTSBand19_PT3A_SetDefault PDATA_UMTSBand19_PT3_SetDefault
+#endif
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#ifndef  PDATA2_UMTSBandNone_PR1_SetDefault
+   #define  PDATA2_UMTSBandNone_PR1_SetDefault     0
+   #define  PDATA2_UMTSBandNone_PR2_SetDefault     0
+   #define  PDATA2_UMTSBandNone_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand1_PR1_SetDefault
+   #define  PDATA2_UMTSBand1_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand1_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand1_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand2_PR1_SetDefault
+   #define  PDATA2_UMTSBand2_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand2_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand2_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand3_PR1_SetDefault
+   #define  PDATA2_UMTSBand3_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand3_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand3_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand4_PR1_SetDefault
+   #define  PDATA2_UMTSBand4_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand4_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand4_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand5_PR1_SetDefault
+   #define  PDATA2_UMTSBand5_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand5_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand5_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand6_PR1_SetDefault
+   #define  PDATA2_UMTSBand6_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand6_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand6_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand7_PR1_SetDefault
+   #define  PDATA2_UMTSBand7_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand7_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand7_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand8_PR1_SetDefault
+   #define  PDATA2_UMTSBand8_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand8_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand8_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand9_PR1_SetDefault
+   #define  PDATA2_UMTSBand9_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand9_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand9_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand10_PR1_SetDefault
+   #define  PDATA2_UMTSBand10_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand10_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand10_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand11_PR1_SetDefault
+   #define  PDATA2_UMTSBand11_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand11_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand11_PR3_SetDefault     0
+#endif
+#ifndef  PDATA2_UMTSBand19_PR1_SetDefault
+   #define  PDATA2_UMTSBand19_PR1_SetDefault     0
+   #define  PDATA2_UMTSBand19_PR2_SetDefault     0
+   #define  PDATA2_UMTSBand19_PR3_SetDefault     0
+#endif
+
+#ifndef PDATA2_UMTSBand1_PR2B_SetDefault
+   #define PDATA2_UMTSBand1_PR2B_SetDefault PDATA2_UMTSBand1_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand1_PR3A_SetDefault
+   #define PDATA2_UMTSBand1_PR3A_SetDefault PDATA2_UMTSBand1_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand2_PR2B_SetDefault
+   #define PDATA2_UMTSBand2_PR2B_SetDefault PDATA2_UMTSBand2_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand2_PR3A_SetDefault
+   #define PDATA2_UMTSBand2_PR3A_SetDefault PDATA2_UMTSBand2_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand3_PR2B_SetDefault
+   #define PDATA2_UMTSBand3_PR2B_SetDefault PDATA2_UMTSBand3_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand3_PR3A_SetDefault
+   #define PDATA2_UMTSBand3_PR3A_SetDefault PDATA2_UMTSBand3_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand4_PR2B_SetDefault
+   #define PDATA2_UMTSBand4_PR2B_SetDefault PDATA2_UMTSBand4_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand4_PR3A_SetDefault
+   #define PDATA2_UMTSBand4_PR3A_SetDefault PDATA2_UMTSBand4_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand5_PR2B_SetDefault
+   #define PDATA2_UMTSBand5_PR2B_SetDefault PDATA2_UMTSBand5_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand5_PR3A_SetDefault
+   #define PDATA2_UMTSBand5_PR3A_SetDefault PDATA2_UMTSBand5_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand6_PR2B_SetDefault
+   #define PDATA2_UMTSBand6_PR2B_SetDefault PDATA2_UMTSBand6_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand6_PR3A_SetDefault
+   #define PDATA2_UMTSBand6_PR3A_SetDefault PDATA2_UMTSBand6_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand7_PR2B_SetDefault
+   #define PDATA2_UMTSBand7_PR2B_SetDefault PDATA2_UMTSBand7_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand7_PR3A_SetDefault
+   #define PDATA2_UMTSBand7_PR3A_SetDefault PDATA2_UMTSBand7_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand8_PR2B_SetDefault
+   #define PDATA2_UMTSBand8_PR2B_SetDefault PDATA2_UMTSBand8_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand8_PR3A_SetDefault
+   #define PDATA2_UMTSBand8_PR3A_SetDefault PDATA2_UMTSBand8_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand9_PR2B_SetDefault
+   #define PDATA2_UMTSBand9_PR2B_SetDefault PDATA2_UMTSBand9_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand9_PR3A_SetDefault
+   #define PDATA2_UMTSBand9_PR3A_SetDefault PDATA2_UMTSBand9_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand10_PR2B_SetDefault
+   #define PDATA2_UMTSBand10_PR2B_SetDefault PDATA2_UMTSBand10_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand10_PR3A_SetDefault
+   #define PDATA2_UMTSBand10_PR3A_SetDefault PDATA2_UMTSBand10_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand11_PR2B_SetDefault
+   #define PDATA2_UMTSBand11_PR2B_SetDefault PDATA2_UMTSBand11_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand11_PR3A_SetDefault
+   #define PDATA2_UMTSBand11_PR3A_SetDefault PDATA2_UMTSBand11_PR3_SetDefault
+#endif
+
+#ifndef PDATA2_UMTSBand19_PR2B_SetDefault
+   #define PDATA2_UMTSBand19_PR2B_SetDefault PDATA2_UMTSBand19_PR2_SetDefault
+#endif
+#ifndef PDATA2_UMTSBand19_PR3A_SetDefault
+   #define PDATA2_UMTSBand19_PR3A_SetDefault PDATA2_UMTSBand19_PR3_SetDefault
+#endif
+
+#else
+//Add for RXD
+#ifndef  PDATA2_BAND1_PR1
+   #define  PDATA2_BAND1_PR1     0
+   #define  PDATA2_BAND1_PR2     0
+   #define  PDATA2_BAND1_PR3     0
+#endif
+#ifndef  PDATA2_BAND2_PR1
+   #define  PDATA2_BAND2_PR1     0
+   #define  PDATA2_BAND2_PR2     0
+   #define  PDATA2_BAND2_PR3     0
+#endif
+#ifndef  PDATA2_BAND3_PR1
+   #define  PDATA2_BAND3_PR1     0
+   #define  PDATA2_BAND3_PR2     0
+   #define  PDATA2_BAND3_PR3     0
+#endif
+#ifndef  PDATA2_BAND4_PR1
+   #define  PDATA2_BAND4_PR1     0
+   #define  PDATA2_BAND4_PR2     0
+   #define  PDATA2_BAND4_PR3     0
+#endif
+#ifndef  PDATA2_BAND5_PR1
+   #define  PDATA2_BAND5_PR1     0
+   #define  PDATA2_BAND5_PR2     0
+   #define  PDATA2_BAND5_PR3     0
+#endif
+#ifndef  PDATA2_BAND6_PR1
+   #define  PDATA2_BAND6_PR1     0
+   #define  PDATA2_BAND6_PR2     0
+   #define  PDATA2_BAND6_PR3     0
+#endif
+#ifndef  PDATA2_BAND7_PR1
+   #define  PDATA2_BAND7_PR1     0
+   #define  PDATA2_BAND7_PR2     0
+   #define  PDATA2_BAND7_PR3     0
+#endif
+#ifndef  PDATA2_BAND8_PR1
+   #define  PDATA2_BAND8_PR1     0
+   #define  PDATA2_BAND8_PR2     0
+   #define  PDATA2_BAND8_PR3     0
+#endif
+#ifndef  PDATA2_BAND9_PR1
+   #define  PDATA2_BAND9_PR1     0
+   #define  PDATA2_BAND9_PR2     0
+   #define  PDATA2_BAND9_PR3     0
+#endif
+#ifndef  PDATA2_BAND10_PR1
+   #define  PDATA2_BAND10_PR1    0
+   #define  PDATA2_BAND10_PR2    0
+   #define  PDATA2_BAND10_PR3    0
+#endif
+#ifndef  PDATA2_BAND11_PR1
+   #define  PDATA2_BAND11_PR1    0
+   #define  PDATA2_BAND11_PR2    0
+   #define  PDATA2_BAND11_PR3    0
+#endif
+#ifndef  PDATA2_BAND19_PR1
+   #define  PDATA2_BAND19_PR1    0
+   #define  PDATA2_BAND19_PR2    0
+   #define  PDATA2_BAND19_PR3    0
+#endif
+
+/* Define PDATA2_BANDx_PRx */
+#ifndef PDATA2_BAND1_PR2B
+   #define PDATA2_BAND1_PR2B  PDATA2_BAND1_PR2
+#endif
+#ifndef PDATA2_BAND1_PR3A
+   #define PDATA2_BAND1_PR3A  PDATA2_BAND1_PR3
+#endif
+#ifndef PDATA2_BAND2_PR2B
+   #define PDATA2_BAND2_PR2B  PDATA2_BAND2_PR2
+#endif
+#ifndef PDATA2_BAND2_PR3A
+   #define PDATA2_BAND2_PR3A  PDATA2_BAND2_PR3
+#endif
+#ifndef PDATA2_BAND3_PR2B
+   #define PDATA2_BAND3_PR2B  PDATA2_BAND3_PR2
+#endif
+#ifndef PDATA2_BAND3_PR3A
+   #define PDATA2_BAND3_PR3A  PDATA2_BAND3_PR3
+#endif
+#ifndef PDATA2_BAND4_PR2B
+   #define PDATA2_BAND4_PR2B  PDATA2_BAND4_PR2
+#endif
+#ifndef PDATA2_BAND4_PR3A
+   #define PDATA2_BAND4_PR3A  PDATA2_BAND4_PR3
+#endif
+#ifndef PDATA2_BAND5_PR2B
+   #define PDATA2_BAND5_PR2B  PDATA2_BAND5_PR2
+#endif
+#ifndef PDATA2_BAND5_PR3A
+   #define PDATA2_BAND5_PR3A  PDATA2_BAND5_PR3
+#endif
+#ifndef PDATA2_BAND6_PR2B
+   #define PDATA2_BAND6_PR2B  PDATA2_BAND6_PR2
+#endif
+#ifndef PDATA2_BAND6_PR3A
+   #define PDATA2_BAND6_PR3A  PDATA2_BAND6_PR3
+#endif
+#ifndef PDATA2_BAND7_PR2B
+   #define PDATA2_BAND7_PR2B  PDATA2_BAND7_PR2
+#endif
+#ifndef PDATA2_BAND7_PR3A
+   #define PDATA2_BAND7_PR3A  PDATA2_BAND7_PR3
+#endif
+#ifndef PDATA2_BAND8_PR2B
+   #define PDATA2_BAND8_PR2B  PDATA2_BAND8_PR2
+#endif
+#ifndef PDATA2_BAND8_PR3A
+   #define PDATA2_BAND8_PR3A  PDATA2_BAND8_PR3
+#endif
+#ifndef PDATA2_BAND9_PR2B
+   #define PDATA2_BAND9_PR2B  PDATA2_BAND9_PR2
+#endif
+#ifndef PDATA2_BAND9_PR3A
+   #define PDATA2_BAND9_PR3A  PDATA2_BAND9_PR3
+#endif
+#ifndef PDATA2_BAND10_PR2B
+   #define PDATA2_BAND10_PR2B PDATA2_BAND10_PR2
+#endif
+#ifndef PDATA2_BAND10_PR3A
+   #define PDATA2_BAND10_PR3A PDATA2_BAND10_PR3
+#endif
+#ifndef PDATA2_BAND11_PR2B
+   #define PDATA2_BAND11_PR2B PDATA2_BAND11_PR2
+#endif
+#ifndef PDATA2_BAND11_PR3A
+   #define PDATA2_BAND11_PR3A PDATA2_BAND11_PR3
+#endif
+#ifndef PDATA2_BAND19_PR2B
+   #define PDATA2_BAND19_PR2B PDATA2_BAND19_PR2
+#endif
+#ifndef PDATA2_BAND19_PR3A
+   #define PDATA2_BAND19_PR3A PDATA2_BAND19_PR3
+#endif
+#endif /*end of IS_3G_RXD_FE_CONTROL_SUPPORT*/
+
+/* Define BANDx_CHANNEL_SEL */
+#ifndef UMTSBandNone_CHANNEL_SEL_SetDefault
+   #define UMTSBandNone_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand1_CHANNEL_SEL_SetDefault
+   #define UMTSBand1_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand2_CHANNEL_SEL_SetDefault
+   #define UMTSBand2_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand3_CHANNEL_SEL_SetDefault
+   #define UMTSBand3_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand4_CHANNEL_SEL_SetDefault
+   #define UMTSBand4_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand5_CHANNEL_SEL_SetDefault
+   #define UMTSBand5_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand6_CHANNEL_SEL_SetDefault
+   #define UMTSBand6_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand8_CHANNEL_SEL_SetDefault
+   #define UMTSBand8_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand9_CHANNEL_SEL_SetDefault
+   #define UMTSBand9_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand10_CHANNEL_SEL_SetDefault
+   #define UMTSBand10_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand11_CHANNEL_SEL_SetDefault
+   #define UMTSBand11_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand19_CHANNEL_SEL_SetDefault
+   #define UMTSBand19_CHANNEL_SEL_SetDefault NON_USED_BAND
+#endif
+
+/* Define BANDx_CHANNEL2_SEL */
+#ifndef UMTSBandNone_CHANNEL2_SEL_SetDefault
+   #define UMTSBandNone_CHANNEL2_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand1_CHANNEL2_SEL_SetDefault
+   #define UMTSBand1_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand2_CHANNEL2_SEL_SetDefault
+   #define UMTSBand2_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand3_CHANNEL2_SEL_SetDefault
+   #define UMTSBand3_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand4_CHANNEL2_SEL_SetDefault
+   #define UMTSBand4_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand5_CHANNEL2_SEL_SetDefault
+   #define UMTSBand5_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand6_CHANNEL2_SEL_SetDefault
+   #define UMTSBand6_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand8_CHANNEL2_SEL_SetDefault
+   #define UMTSBand8_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand9_CHANNEL2_SEL_SetDefault
+   #define UMTSBand9_CHANNEL2_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand10_CHANNEL2_SEL_SetDefault
+   #define UMTSBand10_CHANNEL2_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand11_CHANNEL2_SEL_SetDefault
+   #define UMTSBand11_CHANNEL2_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand19_CHANNEL2_SEL_SetDefault
+   #define UMTSBand19_CHANNEL2_SEL_SetDefault NON_USED_BAND
+#endif
+
+/* Define Bandx_OUTPUT_SEL */
+#ifndef UMTSBandNone_OUTPUT_SEL_SetDefault
+   #define UMTSBandNone_OUTPUT_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand1_OUTPUT_SEL_SetDefault
+   #define UMTSBand1_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand2_OUTPUT_SEL_SetDefault
+   #define UMTSBand2_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand3_OUTPUT_SEL_SetDefault
+   #define UMTSBand3_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand4_OUTPUT_SEL_SetDefault
+   #define UMTSBand4_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand5_OUTPUT_SEL_SetDefault
+   #define UMTSBand5_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand6_OUTPUT_SEL_SetDefault
+   #define UMTSBand6_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand8_OUTPUT_SEL_SetDefault
+   #define UMTSBand8_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand9_OUTPUT_SEL_SetDefault
+   #define UMTSBand9_OUTPUT_SEL_SetDefault  NON_USED_BAND
+#endif
+#ifndef UMTSBand10_OUTPUT_SEL_SetDefault
+   #define UMTSBand10_OUTPUT_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand11_OUTPUT_SEL_SetDefault
+   #define UMTSBand11_OUTPUT_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand19_OUTPUT_SEL_SetDefault
+   #define UMTSBand19_OUTPUT_SEL_SetDefault NON_USED_BAND
+#endif
+
+/* Define Bandx_OUTPUT_DET_SEL */
+#ifndef UMTSBandNone_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBandNone_OUTPUT_DET_SEL_SetDefault NON_USED_BAND
+#endif
+#ifndef UMTSBand1_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand1_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand2_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand2_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand3_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand3_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand4_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand4_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand5_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand5_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand6_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand6_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand8_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand8_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand9_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand9_OUTPUT_DET_SEL_SetDefault    NON_USED_BAND
+#endif
+#ifndef UMTSBand10_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand10_OUTPUT_DET_SEL_SetDefault   NON_USED_BAND
+#endif
+#ifndef UMTSBand11_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand11_OUTPUT_DET_SEL_SetDefault   NON_USED_BAND
+#endif
+#ifndef UMTSBand19_OUTPUT_DET_SEL_SetDefault
+   #define UMTSBand19_OUTPUT_DET_SEL_SetDefault   NON_USED_BAND
+#endif
+
+#else
+//Useless after Gen97
+#endif /*IS_3G_REMOVE_MIPI*/
+
+//For MPR Setting
+#ifndef MPR_BACK_OFF_HSDPA_BAND1_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND1_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND2_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND2_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND3_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND3_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND4_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND4_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND5_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND5_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND6_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND6_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND8_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND8_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND9_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND9_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND10_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND10_SetDefault MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND11_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND11_SetDefault MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSDPA_BAND19_SetDefault
+   #define    MPR_BACK_OFF_HSDPA_BAND19_SetDefault MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND1_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND2_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND3_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND4_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND5_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND6_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND6_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND8_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND8_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND9_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND9_SetDefault  MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND10_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND10_SetDefault MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND11_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND11_SetDefault MPRSetting2
+#endif
+#ifndef MPR_BACK_OFF_HSUPA_BAND19_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND19_SetDefault MPRSetting2
+#endif
+
+#if IS_3G_MPR_EXTEND_SUPPORT
+
+/*SUB 1 Default*/
+#ifndef       MPR_BACK_OFF_HSUPA_BAND1_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND1_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND2_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND2_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND3_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND3_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND4_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND4_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND5_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND5_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND6_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND6_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND7_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND7_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND8_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND8_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND9_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND9_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND10_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND10_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND11_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND11_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND12_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND12_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND13_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND13_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND14_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND14_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND15_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND15_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND16_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND16_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND17_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND17_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND18_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND18_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND19_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND19_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND20_SUB_1_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND20_SUB_1_SetDefault MPRSetting_SUB_0
+#endif
+//======================================================================
+
+
+//SUB 2 Default
+//======================================================================
+#ifndef       MPR_BACK_OFF_HSUPA_BAND1_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND1_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND2_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND2_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND3_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND3_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND4_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND4_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND5_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND5_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND6_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND6_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND7_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND7_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND8_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND8_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND9_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND9_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND10_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND10_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND11_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND11_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND12_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND12_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND13_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND13_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND14_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND14_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND15_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND15_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND16_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND16_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND17_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND17_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND18_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND18_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND19_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND19_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND20_SUB_2_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND20_SUB_2_SetDefault MPRSetting_SUB_0
+#endif
+//======================================================================
+
+
+//SUB 3 Default
+//======================================================================
+#ifndef       MPR_BACK_OFF_HSUPA_BAND1_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND1_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND2_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND2_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND3_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND3_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND4_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND4_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND5_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND5_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND6_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND6_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND7_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND7_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND8_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND8_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND9_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND9_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND10_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND10_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND11_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND11_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND12_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND12_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND13_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND13_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND14_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND14_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND15_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND15_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND16_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND16_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND17_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND17_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND18_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND18_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND19_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND19_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND20_SUB_3_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND20_SUB_3_SetDefault MPRSetting_SUB_0
+#endif
+//======================================================================
+
+
+//SUB 4 Default
+//======================================================================
+#ifndef       MPR_BACK_OFF_HSUPA_BAND1_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND1_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND2_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND2_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND3_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND3_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND4_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND4_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND5_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND5_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND6_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND6_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND7_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND7_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND8_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND8_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND9_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND9_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND10_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND10_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND11_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND11_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND12_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND12_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND13_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND13_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND14_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND14_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND15_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND15_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND16_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND16_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND17_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND17_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND18_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND18_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND19_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND19_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND20_SUB_4_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND20_SUB_4_SetDefault MPRSetting_SUB_0
+#endif
+//======================================================================
+
+//SUB 5 Default
+//======================================================================
+#ifndef       MPR_BACK_OFF_HSUPA_BAND1_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND1_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND2_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND2_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND3_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND3_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND4_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND4_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND5_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND5_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND6_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND6_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND7_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND7_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND8_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND8_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND9_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND9_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND10_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND10_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND11_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND11_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND12_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND12_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND13_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND13_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND14_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND14_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND15_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND15_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND16_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND16_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND17_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND17_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND18_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND18_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND19_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND19_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+
+#ifndef       MPR_BACK_OFF_HSUPA_BAND20_SUB_5_SetDefault
+   #define    MPR_BACK_OFF_HSUPA_BAND20_SUB_5_SetDefault MPRSetting_SUB_0
+#endif
+//======================================================================
+
+#ifndef       R6_MPR_SUB_EN_SetDefault
+   #define    R6_MPR_SUB_EN_SetDefault KAL_FALSE
+#endif
+
+#endif//IS_3G_MPR_EXTEND_SUPPORT
+
+/* Define RX_HIGHBAND3_INDICATOR for 4-bands users (MT6572/82) */
+#ifndef RX_HIGHBAND3_INDICATOR
+   #define RX_HIGHBAND3_INDICATOR UMTSBandNone
+#endif
+/* Define RX_LOWBAND2_INDICATOR for 3-bands (MT6290 Dongle, HW limitation) */
+#ifndef RX_LOWBAND2_INDICATOR
+   #define RX_LOWBAND2_INDICATOR  UMTSBandNone
+#endif
+
+#define    MPR_BACK_OFF_HSDPA_BAND7  MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND12 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND13 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND14 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND15 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND16 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND17 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND18 MPRSetting2
+#define    MPR_BACK_OFF_HSDPA_BAND20 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND7  MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND12 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND13 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND14 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND15 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND16 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND17 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND18 MPRSetting2
+#define    MPR_BACK_OFF_HSUPA_BAND20 MPRSetting2
+
+#ifndef ULTRA_LOW_COST_EN_SetDefault
+   #define ULTRA_LOW_COST_EN_SetDefault      KAL_FALSE
+#endif
+
+#ifndef TEAMPERATURE_MEAS_EN
+   #define TEAMPERATURE_MEAS_EN   KAL_FALSE
+#endif
+
+#ifndef VPA_FPWM_MODE
+   #define VPA_FPWM_MODE          KAL_FALSE
+#endif
+
+#if IS_3G_ELNA_IDX_SUPPORT
+/* ------------------- RX eLNA setting -------------------- */
+#ifndef UMTSBand1_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand1_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand2_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand2_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand3_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand3_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand4_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand4_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand5_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand5_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand6_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand6_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand7_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand7_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand8_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand8_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand9_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand9_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand10_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand10_RX_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand11_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand11_RX_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand12_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand12_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand13_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand13_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand14_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand14_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand15_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand15_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand16_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand16_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand17_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand17_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand18_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand18_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand19_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand19_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand20_RX_eLNA_IDX_SetDefault
+   #define  UMTSBand20_RX_eLNA_IDX_SetDefault           MML1_FE_ELNA_NONE
+#endif
+
+/* ------------------- RXD eLNA setting ------------------- */
+#ifndef UMTSBand1_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand1_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand2_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand2_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand3_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand3_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand4_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand4_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand5_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand5_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand6_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand6_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand7_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand7_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand8_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand8_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand9_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand9_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand10_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand10_RXD_eLNA_IDX_SetDefault         MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand11_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand11_RXD_eLNA_IDX_SetDefault         MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand12_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand12_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand13_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand13_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand14_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand14_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand15_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand15_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand16_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand16_RXD_eLNA_IDX_SetDefault            MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand17_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand17_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand18_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand18_RXD_eLNA_IDX_SetDefault          MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand19_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand19_RXD_eLNA_IDX_SetDefault         MML1_FE_ELNA_NONE
+#endif
+
+#ifndef UMTSBand20_RXD_eLNA_IDX_SetDefault
+   #define  UMTSBand20_RXD_eLNA_IDX_SetDefault         MML1_FE_ELNA_NONE
+#endif
+
+/* ------------------- RX eLNA setting -------------------- */
+#define  UMTSBand1_RX_eLNA_IDX                      UMTSBand1_RX_eLNA_IDX_SetDefault
+#define  UMTSBand2_RX_eLNA_IDX                      UMTSBand2_RX_eLNA_IDX_SetDefault
+#define  UMTSBand3_RX_eLNA_IDX                      UMTSBand3_RX_eLNA_IDX_SetDefault
+#define  UMTSBand4_RX_eLNA_IDX                      UMTSBand4_RX_eLNA_IDX_SetDefault
+#define  UMTSBand5_RX_eLNA_IDX                      UMTSBand5_RX_eLNA_IDX_SetDefault
+#define  UMTSBand6_RX_eLNA_IDX                      UMTSBand6_RX_eLNA_IDX_SetDefault
+#define  UMTSBand7_RX_eLNA_IDX                      UMTSBand7_RX_eLNA_IDX_SetDefault
+#define  UMTSBand8_RX_eLNA_IDX                      UMTSBand8_RX_eLNA_IDX_SetDefault
+#define  UMTSBand9_RX_eLNA_IDX                      UMTSBand9_RX_eLNA_IDX_SetDefault
+#define  UMTSBand10_RX_eLNA_IDX                     UMTSBand10_RX_eLNA_IDX_SetDefault
+#define  UMTSBand11_RX_eLNA_IDX                     UMTSBand11_RX_eLNA_IDX_SetDefault
+#define  UMTSBand12_RX_eLNA_IDX                     UMTSBand12_RX_eLNA_IDX_SetDefault
+#define  UMTSBand13_RX_eLNA_IDX                     UMTSBand13_RX_eLNA_IDX_SetDefault
+#define  UMTSBand14_RX_eLNA_IDX                     UMTSBand14_RX_eLNA_IDX_SetDefault
+#define  UMTSBand15_RX_eLNA_IDX                     UMTSBand15_RX_eLNA_IDX_SetDefault
+#define  UMTSBand16_RX_eLNA_IDX                     UMTSBand16_RX_eLNA_IDX_SetDefault
+#define  UMTSBand17_RX_eLNA_IDX                     UMTSBand17_RX_eLNA_IDX_SetDefault
+#define  UMTSBand18_RX_eLNA_IDX                     UMTSBand18_RX_eLNA_IDX_SetDefault
+#define  UMTSBand19_RX_eLNA_IDX                     UMTSBand19_RX_eLNA_IDX_SetDefault
+#define  UMTSBand20_RX_eLNA_IDX                     UMTSBand20_RX_eLNA_IDX_SetDefault
+
+/* ------------------- RXD eLNA setting ------------------- */
+#define  UMTSBand1_RXD_eLNA_IDX                      UMTSBand1_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand2_RXD_eLNA_IDX                      UMTSBand2_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand3_RXD_eLNA_IDX                      UMTSBand3_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand4_RXD_eLNA_IDX                      UMTSBand4_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand5_RXD_eLNA_IDX                      UMTSBand5_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand6_RXD_eLNA_IDX                      UMTSBand6_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand7_RXD_eLNA_IDX                      UMTSBand7_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand8_RXD_eLNA_IDX                      UMTSBand8_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand9_RXD_eLNA_IDX                      UMTSBand9_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand10_RXD_eLNA_IDX                     UMTSBand10_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand11_RXD_eLNA_IDX                     UMTSBand11_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand12_RXD_eLNA_IDX                     UMTSBand12_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand13_RXD_eLNA_IDX                     UMTSBand13_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand14_RXD_eLNA_IDX                     UMTSBand14_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand15_RXD_eLNA_IDX                     UMTSBand15_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand16_RXD_eLNA_IDX                     UMTSBand16_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand17_RXD_eLNA_IDX                     UMTSBand17_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand18_RXD_eLNA_IDX                     UMTSBand18_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand19_RXD_eLNA_IDX                     UMTSBand19_RXD_eLNA_IDX_SetDefault
+#define  UMTSBand20_RXD_eLNA_IDX                     UMTSBand20_RXD_eLNA_IDX_SetDefault
+
+#endif // IS_3G_ELNA_IDX_SUPPORT
+
+
+/*******************************************************************************
+** CA CFG INDEX DEFAULT DEFINE
+*******************************************************************************/
+#ifndef RX_CABAND_IND_00_SetDefault
+   #define RX_CABAND_IND_00_SetDefault   UMTS_CA_BANDNONE
+#endif
+#ifndef RX_CABAND_IND_01_SetDefault
+   #define RX_CABAND_IND_01_SetDefault   UMTS_CA_BANDNONE
+#endif
+#ifndef RX_CABAND_IND_02_SetDefault
+   #define RX_CABAND_IND_02_SetDefault   UMTS_CA_BANDNONE
+#endif
+#ifndef RX_CABAND_IND_03_SetDefault
+   #define RX_CABAND_IND_03_SetDefault   UMTS_CA_BANDNONE
+#endif
+#ifndef RX_CABAND_IND_04_SetDefault
+   #define RX_CABAND_IND_04_SetDefault   UMTS_CA_BANDNONE
+#endif
+
+#define RX_CABAND_IND_00      RX_CABAND_IND_00_SetDefault
+#define RX_CABAND_IND_01      RX_CABAND_IND_01_SetDefault
+#define RX_CABAND_IND_02      RX_CABAND_IND_02_SetDefault
+#define RX_CABAND_IND_03      RX_CABAND_IND_03_SetDefault
+#define RX_CABAND_IND_04      RX_CABAND_IND_04_SetDefault
+
+
+#if IS_URF_PCORE
+#define PA_SECTION           PA_SECTION_SetDefault
+#define TC_PR1               TC_PR1_SetDefault
+#define TC_PR2               TC_PR2_SetDefault
+#define TC_PR2B              TC_PR2B_SetDefault
+#define TC_PR3               TC_PR3_SetDefault
+
+#define TC_PT1               TC_PT1_SetDefault
+#define TC_PT2               TC_PT2_SetDefault
+#define TC_PT2B              TC_PT2B_SetDefault
+#define TC_PT3               TC_PT3_SetDefault
+
+#define MAX_OFFSET           MAX_OFFSET_SetDefault
+#define VM_OFFSET            VM_OFFSET_SetDefault
+#define VBIAS_OFFSET         VBIAS_OFFSET_SetDefault
+#define DC2DC_OFFSET         DC2DC_OFFSET_SetDefault
+#define VGA_OFFSET           VGA_OFFSET_SetDefault
+
+#define RF_SETTING_BY_NVRAM    KAL_TRUE
+#define PMU_PASETTING          PMU_PASETTING_SetDefault
+#define RX_DIVERSITY_ALWAYS_ON RX_DIVERSITY_ALWAYS_ON_SetDefault
+#define PA_DIRFT_COMPENSATION  PA_DIRFT_COMPENSATION_SetDefault
+#define ULTRA_LOW_COST_EN      ULTRA_LOW_COST_EN_SetDefault
+#endif
+
+#define BAND1_CHANNEL_SEL         UMTSBand1_CHANNEL_SEL_SetDefault
+#define BAND2_CHANNEL_SEL         UMTSBand2_CHANNEL_SEL_SetDefault
+#define BAND3_CHANNEL_SEL         UMTSBand3_CHANNEL_SEL_SetDefault
+#define BAND4_CHANNEL_SEL         UMTSBand4_CHANNEL_SEL_SetDefault
+#define BAND5_CHANNEL_SEL         UMTSBand5_CHANNEL_SEL_SetDefault
+#define BAND6_CHANNEL_SEL         UMTSBand6_CHANNEL_SEL_SetDefault
+#define BAND8_CHANNEL_SEL         UMTSBand8_CHANNEL_SEL_SetDefault
+#define BAND9_CHANNEL_SEL         UMTSBand9_CHANNEL_SEL_SetDefault
+#define BAND10_CHANNEL_SEL        UMTSBand10_CHANNEL_SEL_SetDefault
+#define BAND11_CHANNEL_SEL        UMTSBand11_CHANNEL_SEL_SetDefault
+#define BAND19_CHANNEL_SEL        UMTSBand19_CHANNEL_SEL_SetDefault
+
+#define BAND1_CHANNEL2_SEL        UMTSBand1_CHANNEL2_SEL_SetDefault
+#define BAND2_CHANNEL2_SEL        UMTSBand2_CHANNEL2_SEL_SetDefault
+#define BAND3_CHANNEL2_SEL        UMTSBand3_CHANNEL2_SEL_SetDefault
+#define BAND4_CHANNEL2_SEL        UMTSBand4_CHANNEL2_SEL_SetDefault
+#define BAND5_CHANNEL2_SEL        UMTSBand5_CHANNEL2_SEL_SetDefault
+#define BAND6_CHANNEL2_SEL        UMTSBand6_CHANNEL2_SEL_SetDefault
+#define BAND8_CHANNEL2_SEL        UMTSBand8_CHANNEL2_SEL_SetDefault
+#define BAND9_CHANNEL2_SEL        UMTSBand9_CHANNEL2_SEL_SetDefault
+#define BAND10_CHANNEL2_SEL       UMTSBand10_CHANNEL2_SEL_SetDefault
+#define BAND11_CHANNEL2_SEL       UMTSBand11_CHANNEL2_SEL_SetDefault
+#define BAND19_CHANNEL2_SEL       UMTSBand19_CHANNEL2_SEL_SetDefault
+
+#define BAND1_OUTPUT_SEL          UMTSBand1_OUTPUT_SEL_SetDefault
+#define BAND2_OUTPUT_SEL          UMTSBand2_OUTPUT_SEL_SetDefault
+#define BAND3_OUTPUT_SEL          UMTSBand3_OUTPUT_SEL_SetDefault
+#define BAND4_OUTPUT_SEL          UMTSBand4_OUTPUT_SEL_SetDefault
+#define BAND5_OUTPUT_SEL          UMTSBand5_OUTPUT_SEL_SetDefault
+#define BAND6_OUTPUT_SEL          UMTSBand6_OUTPUT_SEL_SetDefault
+#define BAND8_OUTPUT_SEL          UMTSBand8_OUTPUT_SEL_SetDefault
+#define BAND9_OUTPUT_SEL          UMTSBand9_OUTPUT_SEL_SetDefault
+#define BAND10_OUTPUT_SEL         UMTSBand10_OUTPUT_SEL_SetDefault
+#define BAND11_OUTPUT_SEL         UMTSBand11_OUTPUT_SEL_SetDefault
+#define BAND19_OUTPUT_SEL         UMTSBand19_OUTPUT_SEL_SetDefault
+
+#define BAND1_OUTPUT_DET_SEL      UMTSBand1_OUTPUT_DET_SEL_SetDefault
+#define BAND2_OUTPUT_DET_SEL      UMTSBand2_OUTPUT_DET_SEL_SetDefault
+#define BAND3_OUTPUT_DET_SEL      UMTSBand3_OUTPUT_DET_SEL_SetDefault
+#define BAND4_OUTPUT_DET_SEL      UMTSBand4_OUTPUT_DET_SEL_SetDefault
+#define BAND5_OUTPUT_DET_SEL      UMTSBand5_OUTPUT_DET_SEL_SetDefault
+#define BAND6_OUTPUT_DET_SEL      UMTSBand6_OUTPUT_DET_SEL_SetDefault
+#define BAND8_OUTPUT_DET_SEL      UMTSBand8_OUTPUT_DET_SEL_SetDefault
+#define BAND9_OUTPUT_DET_SEL      UMTSBand9_OUTPUT_DET_SEL_SetDefault
+#define BAND10_OUTPUT_DET_SEL     UMTSBand10_OUTPUT_DET_SEL_SetDefault
+#define BAND11_OUTPUT_DET_SEL     UMTSBand11_OUTPUT_DET_SEL_SetDefault
+#define BAND19_OUTPUT_DET_SEL     UMTSBand19_OUTPUT_DET_SEL_SetDefault
+
+#define PDATA_BAND1_PR1           PDATA_UMTSBand1_PR1_SetDefault
+#define PDATA_BAND1_PR2           PDATA_UMTSBand1_PR2_SetDefault
+#define PDATA_BAND1_PR2B          PDATA_UMTSBand1_PR2B_SetDefault
+#define PDATA_BAND1_PR3           PDATA_UMTSBand1_PR3_SetDefault
+#define PDATA_BAND1_PR3A          PDATA_UMTSBand1_PR3A_SetDefault
+#define PDATA_BAND1_PT1           PDATA_UMTSBand1_PT1_SetDefault
+#define PDATA_BAND1_PT2           PDATA_UMTSBand1_PT2_SetDefault
+#define PDATA_BAND1_PT2B          PDATA_UMTSBand1_PT2B_SetDefault
+#define PDATA_BAND1_PT3           PDATA_UMTSBand1_PT3_SetDefault
+#define PDATA_BAND1_PT3A          PDATA_UMTSBand1_PT3A_SetDefault
+
+#define PDATA_BAND2_PR1           PDATA_UMTSBand2_PR1_SetDefault
+#define PDATA_BAND2_PR2           PDATA_UMTSBand2_PR2_SetDefault
+#define PDATA_BAND2_PR2B          PDATA_UMTSBand2_PR2B_SetDefault
+#define PDATA_BAND2_PR3           PDATA_UMTSBand2_PR3_SetDefault
+#define PDATA_BAND2_PR3A          PDATA_UMTSBand2_PR3A_SetDefault
+#define PDATA_BAND2_PT1           PDATA_UMTSBand2_PT1_SetDefault
+#define PDATA_BAND2_PT2           PDATA_UMTSBand2_PT2_SetDefault
+#define PDATA_BAND2_PT2B          PDATA_UMTSBand2_PT2B_SetDefault
+#define PDATA_BAND2_PT3           PDATA_UMTSBand2_PT3_SetDefault
+#define PDATA_BAND2_PT3A          PDATA_UMTSBand2_PT3A_SetDefault
+
+#define PDATA_BAND3_PR1           PDATA_UMTSBand3_PR1_SetDefault
+#define PDATA_BAND3_PR2           PDATA_UMTSBand3_PR2_SetDefault
+#define PDATA_BAND3_PR2B          PDATA_UMTSBand3_PR2B_SetDefault
+#define PDATA_BAND3_PR3           PDATA_UMTSBand3_PR3_SetDefault
+#define PDATA_BAND3_PR3A          PDATA_UMTSBand3_PR3A_SetDefault
+#define PDATA_BAND3_PT1           PDATA_UMTSBand3_PT1_SetDefault
+#define PDATA_BAND3_PT2           PDATA_UMTSBand3_PT2_SetDefault
+#define PDATA_BAND3_PT2B          PDATA_UMTSBand3_PT2B_SetDefault
+#define PDATA_BAND3_PT3           PDATA_UMTSBand3_PT3_SetDefault
+#define PDATA_BAND3_PT3A          PDATA_UMTSBand3_PT3A_SetDefault
+
+#define PDATA_BAND4_PR1           PDATA_UMTSBand4_PR1_SetDefault
+#define PDATA_BAND4_PR2           PDATA_UMTSBand4_PR2_SetDefault
+#define PDATA_BAND4_PR2B          PDATA_UMTSBand4_PR2B_SetDefault
+#define PDATA_BAND4_PR3           PDATA_UMTSBand4_PR3_SetDefault
+#define PDATA_BAND4_PR3A          PDATA_UMTSBand4_PR3A_SetDefault
+#define PDATA_BAND4_PT1           PDATA_UMTSBand4_PT1_SetDefault
+#define PDATA_BAND4_PT2           PDATA_UMTSBand4_PT2_SetDefault
+#define PDATA_BAND4_PT2B          PDATA_UMTSBand4_PT2B_SetDefault
+#define PDATA_BAND4_PT3           PDATA_UMTSBand4_PT3_SetDefault
+#define PDATA_BAND4_PT3A          PDATA_UMTSBand4_PT3A_SetDefault
+
+#define PDATA_BAND5_PR1           PDATA_UMTSBand5_PR1_SetDefault
+#define PDATA_BAND5_PR2           PDATA_UMTSBand5_PR2_SetDefault
+#define PDATA_BAND5_PR2B          PDATA_UMTSBand5_PR2B_SetDefault
+#define PDATA_BAND5_PR3           PDATA_UMTSBand5_PR3_SetDefault
+#define PDATA_BAND5_PR3A          PDATA_UMTSBand5_PR3A_SetDefault
+#define PDATA_BAND5_PT1           PDATA_UMTSBand5_PT1_SetDefault
+#define PDATA_BAND5_PT2           PDATA_UMTSBand5_PT2_SetDefault
+#define PDATA_BAND5_PT2B          PDATA_UMTSBand5_PT2B_SetDefault
+#define PDATA_BAND5_PT3           PDATA_UMTSBand5_PT3_SetDefault
+#define PDATA_BAND5_PT3A          PDATA_UMTSBand5_PT3A_SetDefault
+
+#define PDATA_BAND6_PR1           PDATA_UMTSBand6_PR1_SetDefault
+#define PDATA_BAND6_PR2           PDATA_UMTSBand6_PR2_SetDefault
+#define PDATA_BAND6_PR2B          PDATA_UMTSBand6_PR2B_SetDefault
+#define PDATA_BAND6_PR3           PDATA_UMTSBand6_PR3_SetDefault
+#define PDATA_BAND6_PR3A          PDATA_UMTSBand6_PR3A_SetDefault
+#define PDATA_BAND6_PT1           PDATA_UMTSBand6_PT1_SetDefault
+#define PDATA_BAND6_PT2           PDATA_UMTSBand6_PT2_SetDefault
+#define PDATA_BAND6_PT2B          PDATA_UMTSBand6_PT2B_SetDefault
+#define PDATA_BAND6_PT3           PDATA_UMTSBand6_PT3_SetDefault
+#define PDATA_BAND6_PT3A          PDATA_UMTSBand6_PT3A_SetDefault
+
+#define PDATA_BAND7_PR1           PDATA_UMTSBand7_PR1_SetDefault
+#define PDATA_BAND7_PR2           PDATA_UMTSBand7_PR2_SetDefault
+#define PDATA_BAND7_PR2B          PDATA_UMTSBand7_PR2B_SetDefault
+#define PDATA_BAND7_PR3           PDATA_UMTSBand7_PR3_SetDefault
+#define PDATA_BAND7_PR3A          PDATA_UMTSBand7_PR3A_SetDefault
+#define PDATA_BAND7_PT1           PDATA_UMTSBand7_PT1_SetDefault
+#define PDATA_BAND7_PT2           PDATA_UMTSBand7_PT2_SetDefault
+#define PDATA_BAND7_PT2B          PDATA_UMTSBand7_PT2B_SetDefault
+#define PDATA_BAND7_PT3           PDATA_UMTSBand7_PT3_SetDefault
+#define PDATA_BAND7_PT3A          PDATA_UMTSBand7_PT3A_SetDefault
+
+#define PDATA_BAND8_PR1           PDATA_UMTSBand8_PR1_SetDefault
+#define PDATA_BAND8_PR2           PDATA_UMTSBand8_PR2_SetDefault
+#define PDATA_BAND8_PR2B          PDATA_UMTSBand8_PR2B_SetDefault
+#define PDATA_BAND8_PR3           PDATA_UMTSBand8_PR3_SetDefault
+#define PDATA_BAND8_PR3A          PDATA_UMTSBand8_PR3A_SetDefault
+#define PDATA_BAND8_PT1           PDATA_UMTSBand8_PT1_SetDefault
+#define PDATA_BAND8_PT2           PDATA_UMTSBand8_PT2_SetDefault
+#define PDATA_BAND8_PT2B          PDATA_UMTSBand8_PT2B_SetDefault
+#define PDATA_BAND8_PT3           PDATA_UMTSBand8_PT3_SetDefault
+#define PDATA_BAND8_PT3A          PDATA_UMTSBand8_PT3A_SetDefault
+
+#define PDATA_BAND9_PR1           PDATA_UMTSBand9_PR1_SetDefault
+#define PDATA_BAND9_PR2           PDATA_UMTSBand9_PR2_SetDefault
+#define PDATA_BAND9_PR2B          PDATA_UMTSBand9_PR2B_SetDefault
+#define PDATA_BAND9_PR3           PDATA_UMTSBand9_PR3_SetDefault
+#define PDATA_BAND9_PR3A          PDATA_UMTSBand9_PR3A_SetDefault
+#define PDATA_BAND9_PT1           PDATA_UMTSBand9_PT1_SetDefault
+#define PDATA_BAND9_PT2           PDATA_UMTSBand9_PT2_SetDefault
+#define PDATA_BAND9_PT2B          PDATA_UMTSBand9_PT2B_SetDefault
+#define PDATA_BAND9_PT3           PDATA_UMTSBand9_PT3_SetDefault
+#define PDATA_BAND9_PT3A          PDATA_UMTSBand9_PT3A_SetDefault
+
+#define PDATA_BAND10_PR1          PDATA_UMTSBand10_PR1_SetDefault
+#define PDATA_BAND10_PR2          PDATA_UMTSBand10_PR2_SetDefault
+#define PDATA_BAND10_PR2B         PDATA_UMTSBand10_PR2B_SetDefault
+#define PDATA_BAND10_PR3          PDATA_UMTSBand10_PR3_SetDefault
+#define PDATA_BAND10_PR3A         PDATA_UMTSBand10_PR3A_SetDefault
+#define PDATA_BAND10_PT1          PDATA_UMTSBand10_PT1_SetDefault
+#define PDATA_BAND10_PT2          PDATA_UMTSBand10_PT2_SetDefault
+#define PDATA_BAND10_PT2B         PDATA_UMTSBand10_PT2B_SetDefault
+#define PDATA_BAND10_PT3          PDATA_UMTSBand10_PT3_SetDefault
+#define PDATA_BAND10_PT3A         PDATA_UMTSBand10_PT3A_SetDefault
+
+#define PDATA_BAND11_PR1          PDATA_UMTSBand11_PR1_SetDefault
+#define PDATA_BAND11_PR2          PDATA_UMTSBand11_PR2_SetDefault
+#define PDATA_BAND11_PR2B         PDATA_UMTSBand11_PR2B_SetDefault
+#define PDATA_BAND11_PR3          PDATA_UMTSBand11_PR3_SetDefault
+#define PDATA_BAND11_PR3A         PDATA_UMTSBand11_PR3A_SetDefault
+#define PDATA_BAND11_PT1          PDATA_UMTSBand11_PT1_SetDefault
+#define PDATA_BAND11_PT2          PDATA_UMTSBand11_PT2_SetDefault
+#define PDATA_BAND11_PT2B         PDATA_UMTSBand11_PT2B_SetDefault
+#define PDATA_BAND11_PT3          PDATA_UMTSBand11_PT3_SetDefault
+#define PDATA_BAND11_PT3A         PDATA_UMTSBand11_PT3A_SetDefault
+
+#define PDATA_BAND19_PR1          PDATA_UMTSBand19_PR1_SetDefault
+#define PDATA_BAND19_PR2          PDATA_UMTSBand19_PR2_SetDefault
+#define PDATA_BAND19_PR2B         PDATA_UMTSBand19_PR2B_SetDefault
+#define PDATA_BAND19_PR3          PDATA_UMTSBand19_PR3_SetDefault
+#define PDATA_BAND19_PR3A         PDATA_UMTSBand19_PR3A_SetDefault
+#define PDATA_BAND19_PT1          PDATA_UMTSBand19_PT1_SetDefault
+#define PDATA_BAND19_PT2          PDATA_UMTSBand19_PT2_SetDefault
+#define PDATA_BAND19_PT2B         PDATA_UMTSBand19_PT2B_SetDefault
+#define PDATA_BAND19_PT3          PDATA_UMTSBand19_PT3_SetDefault
+#define PDATA_BAND19_PT3A         PDATA_UMTSBand19_PT3A_SetDefault
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define PDATA2_BAND1_PR1           PDATA2_UMTSBand1_PR1_SetDefault
+#define PDATA2_BAND1_PR2           PDATA2_UMTSBand1_PR2_SetDefault
+#define PDATA2_BAND1_PR2B          PDATA2_UMTSBand1_PR2B_SetDefault
+#define PDATA2_BAND1_PR3           PDATA2_UMTSBand1_PR3_SetDefault
+#define PDATA2_BAND1_PR3A          PDATA2_UMTSBand1_PR3A_SetDefault
+
+#define PDATA2_BAND2_PR1           PDATA2_UMTSBand2_PR1_SetDefault
+#define PDATA2_BAND2_PR2           PDATA2_UMTSBand2_PR2_SetDefault
+#define PDATA2_BAND2_PR2B          PDATA2_UMTSBand2_PR2B_SetDefault
+#define PDATA2_BAND2_PR3           PDATA2_UMTSBand2_PR3_SetDefault
+#define PDATA2_BAND2_PR3A          PDATA2_UMTSBand2_PR3A_SetDefault
+
+#define PDATA2_BAND3_PR1           PDATA2_UMTSBand3_PR1_SetDefault
+#define PDATA2_BAND3_PR2           PDATA2_UMTSBand3_PR2_SetDefault
+#define PDATA2_BAND3_PR2B          PDATA2_UMTSBand3_PR2B_SetDefault
+#define PDATA2_BAND3_PR3           PDATA2_UMTSBand3_PR3_SetDefault
+#define PDATA2_BAND3_PR3A          PDATA2_UMTSBand3_PR3A_SetDefault
+
+#define PDATA2_BAND4_PR1           PDATA2_UMTSBand4_PR1_SetDefault
+#define PDATA2_BAND4_PR2           PDATA2_UMTSBand4_PR2_SetDefault
+#define PDATA2_BAND4_PR2B          PDATA2_UMTSBand4_PR2B_SetDefault
+#define PDATA2_BAND4_PR3           PDATA2_UMTSBand4_PR3_SetDefault
+#define PDATA2_BAND4_PR3A          PDATA2_UMTSBand4_PR3A_SetDefault
+
+#define PDATA2_BAND5_PR1           PDATA2_UMTSBand5_PR1_SetDefault
+#define PDATA2_BAND5_PR2           PDATA2_UMTSBand5_PR2_SetDefault
+#define PDATA2_BAND5_PR2B          PDATA2_UMTSBand5_PR2B_SetDefault
+#define PDATA2_BAND5_PR3           PDATA2_UMTSBand5_PR3_SetDefault
+#define PDATA2_BAND5_PR3A          PDATA2_UMTSBand5_PR3A_SetDefault
+
+#define PDATA2_BAND6_PR1           PDATA2_UMTSBand6_PR1_SetDefault
+#define PDATA2_BAND6_PR2           PDATA2_UMTSBand6_PR2_SetDefault
+#define PDATA2_BAND6_PR2B          PDATA2_UMTSBand6_PR2B_SetDefault
+#define PDATA2_BAND6_PR3           PDATA2_UMTSBand6_PR3_SetDefault
+#define PDATA2_BAND6_PR3A          PDATA2_UMTSBand6_PR3A_SetDefault
+
+#define PDATA2_BAND7_PR1           PDATA2_UMTSBand7_PR1_SetDefault
+#define PDATA2_BAND7_PR2           PDATA2_UMTSBand7_PR2_SetDefault
+#define PDATA2_BAND7_PR2B          PDATA2_UMTSBand7_PR2B_SetDefault
+#define PDATA2_BAND7_PR3           PDATA2_UMTSBand7_PR3_SetDefault
+#define PDATA2_BAND7_PR3A          PDATA2_UMTSBand7_PR3A_SetDefault
+
+#define PDATA2_BAND8_PR1           PDATA2_UMTSBand8_PR1_SetDefault
+#define PDATA2_BAND8_PR2           PDATA2_UMTSBand8_PR2_SetDefault
+#define PDATA2_BAND8_PR2B          PDATA2_UMTSBand8_PR2B_SetDefault
+#define PDATA2_BAND8_PR3           PDATA2_UMTSBand8_PR3_SetDefault
+#define PDATA2_BAND8_PR3A          PDATA2_UMTSBand8_PR3A_SetDefault
+
+#define PDATA2_BAND9_PR1           PDATA2_UMTSBand9_PR1_SetDefault
+#define PDATA2_BAND9_PR2           PDATA2_UMTSBand9_PR2_SetDefault
+#define PDATA2_BAND9_PR2B          PDATA2_UMTSBand9_PR2B_SetDefault
+#define PDATA2_BAND9_PR3           PDATA2_UMTSBand9_PR3_SetDefault
+#define PDATA2_BAND9_PR3A          PDATA2_UMTSBand9_PR3A_SetDefault
+
+#define PDATA2_BAND10_PR1          PDATA2_UMTSBand10_PR1_SetDefault
+#define PDATA2_BAND10_PR2          PDATA2_UMTSBand10_PR2_SetDefault
+#define PDATA2_BAND10_PR2B         PDATA2_UMTSBand10_PR2B_SetDefault
+#define PDATA2_BAND10_PR3          PDATA2_UMTSBand10_PR3_SetDefault
+#define PDATA2_BAND10_PR3A         PDATA2_UMTSBand10_PR3A_SetDefault
+
+#define PDATA2_BAND11_PR1          PDATA2_UMTSBand11_PR1_SetDefault
+#define PDATA2_BAND11_PR2          PDATA2_UMTSBand11_PR2_SetDefault
+#define PDATA2_BAND11_PR2B         PDATA2_UMTSBand11_PR2B_SetDefault
+#define PDATA2_BAND11_PR3          PDATA2_UMTSBand11_PR3_SetDefault
+#define PDATA2_BAND11_PR3A         PDATA2_UMTSBand11_PR3A_SetDefault
+
+#define PDATA2_BAND19_PR1          PDATA2_UMTSBand19_PR1_SetDefault
+#define PDATA2_BAND19_PR2          PDATA2_UMTSBand19_PR2_SetDefault
+#define PDATA2_BAND19_PR2B         PDATA2_UMTSBand19_PR2B_SetDefault
+#define PDATA2_BAND19_PR3          PDATA2_UMTSBand19_PR3_SetDefault
+#define PDATA2_BAND19_PR3A         PDATA2_UMTSBand19_PR3A_SetDefault
+#endif
+
+#define MPR_BACK_OFF_HSDPA_BAND1  MPR_BACK_OFF_HSDPA_BAND1_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND2  MPR_BACK_OFF_HSDPA_BAND2_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND3  MPR_BACK_OFF_HSDPA_BAND3_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND4  MPR_BACK_OFF_HSDPA_BAND4_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND5  MPR_BACK_OFF_HSDPA_BAND5_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND6  MPR_BACK_OFF_HSDPA_BAND6_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND8  MPR_BACK_OFF_HSDPA_BAND8_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND9  MPR_BACK_OFF_HSDPA_BAND9_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND10 MPR_BACK_OFF_HSDPA_BAND10_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND11 MPR_BACK_OFF_HSDPA_BAND11_SetDefault
+#define MPR_BACK_OFF_HSDPA_BAND19 MPR_BACK_OFF_HSDPA_BAND19_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND1  MPR_BACK_OFF_HSUPA_BAND1_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND2  MPR_BACK_OFF_HSUPA_BAND2_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND3  MPR_BACK_OFF_HSUPA_BAND3_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND4  MPR_BACK_OFF_HSUPA_BAND4_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND5  MPR_BACK_OFF_HSUPA_BAND5_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND6  MPR_BACK_OFF_HSUPA_BAND6_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND8  MPR_BACK_OFF_HSUPA_BAND8_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND9  MPR_BACK_OFF_HSUPA_BAND9_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND10 MPR_BACK_OFF_HSUPA_BAND10_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND11 MPR_BACK_OFF_HSUPA_BAND11_SetDefault
+#define MPR_BACK_OFF_HSUPA_BAND19 MPR_BACK_OFF_HSUPA_BAND19_SetDefault
+
+#if IS_3G_MPR_EXTEND_SUPPORT
+
+#define MPR_R6_B1_SUB_1   MPR_BACK_OFF_HSUPA_BAND1_SUB_1_SetDefault
+#define MPR_R6_B2_SUB_1   MPR_BACK_OFF_HSUPA_BAND2_SUB_1_SetDefault
+#define MPR_R6_B3_SUB_1   MPR_BACK_OFF_HSUPA_BAND3_SUB_1_SetDefault
+#define MPR_R6_B4_SUB_1   MPR_BACK_OFF_HSUPA_BAND4_SUB_1_SetDefault
+#define MPR_R6_B5_SUB_1   MPR_BACK_OFF_HSUPA_BAND5_SUB_1_SetDefault
+#define MPR_R6_B6_SUB_1   MPR_BACK_OFF_HSUPA_BAND6_SUB_1_SetDefault
+#define MPR_R6_B7_SUB_1   MPR_BACK_OFF_HSUPA_BAND7_SUB_1_SetDefault
+#define MPR_R6_B8_SUB_1   MPR_BACK_OFF_HSUPA_BAND8_SUB_1_SetDefault
+#define MPR_R6_B9_SUB_1   MPR_BACK_OFF_HSUPA_BAND9_SUB_1_SetDefault
+#define MPR_R6_B10_SUB_1  MPR_BACK_OFF_HSUPA_BAND10_SUB_1_SetDefault
+#define MPR_R6_B11_SUB_1  MPR_BACK_OFF_HSUPA_BAND11_SUB_1_SetDefault
+#define MPR_R6_B12_SUB_1  MPR_BACK_OFF_HSUPA_BAND12_SUB_1_SetDefault
+#define MPR_R6_B13_SUB_1  MPR_BACK_OFF_HSUPA_BAND13_SUB_1_SetDefault
+#define MPR_R6_B14_SUB_1  MPR_BACK_OFF_HSUPA_BAND14_SUB_1_SetDefault
+#define MPR_R6_B15_SUB_1  MPR_BACK_OFF_HSUPA_BAND15_SUB_1_SetDefault
+#define MPR_R6_B16_SUB_1  MPR_BACK_OFF_HSUPA_BAND16_SUB_1_SetDefault
+#define MPR_R6_B17_SUB_1  MPR_BACK_OFF_HSUPA_BAND17_SUB_1_SetDefault
+#define MPR_R6_B18_SUB_1  MPR_BACK_OFF_HSUPA_BAND18_SUB_1_SetDefault
+#define MPR_R6_B19_SUB_1  MPR_BACK_OFF_HSUPA_BAND19_SUB_1_SetDefault
+#define MPR_R6_B20_SUB_1  MPR_BACK_OFF_HSUPA_BAND20_SUB_1_SetDefault
+
+#define MPR_R6_B1_SUB_2   MPR_BACK_OFF_HSUPA_BAND1_SUB_2_SetDefault
+#define MPR_R6_B2_SUB_2   MPR_BACK_OFF_HSUPA_BAND2_SUB_2_SetDefault
+#define MPR_R6_B3_SUB_2   MPR_BACK_OFF_HSUPA_BAND3_SUB_2_SetDefault
+#define MPR_R6_B4_SUB_2   MPR_BACK_OFF_HSUPA_BAND4_SUB_2_SetDefault
+#define MPR_R6_B5_SUB_2   MPR_BACK_OFF_HSUPA_BAND5_SUB_2_SetDefault
+#define MPR_R6_B6_SUB_2   MPR_BACK_OFF_HSUPA_BAND6_SUB_2_SetDefault
+#define MPR_R6_B7_SUB_2   MPR_BACK_OFF_HSUPA_BAND7_SUB_2_SetDefault
+#define MPR_R6_B8_SUB_2   MPR_BACK_OFF_HSUPA_BAND8_SUB_2_SetDefault
+#define MPR_R6_B9_SUB_2   MPR_BACK_OFF_HSUPA_BAND9_SUB_2_SetDefault
+#define MPR_R6_B10_SUB_2  MPR_BACK_OFF_HSUPA_BAND10_SUB_2_SetDefault
+#define MPR_R6_B11_SUB_2  MPR_BACK_OFF_HSUPA_BAND11_SUB_2_SetDefault
+#define MPR_R6_B12_SUB_2  MPR_BACK_OFF_HSUPA_BAND12_SUB_2_SetDefault
+#define MPR_R6_B13_SUB_2  MPR_BACK_OFF_HSUPA_BAND13_SUB_2_SetDefault
+#define MPR_R6_B14_SUB_2  MPR_BACK_OFF_HSUPA_BAND14_SUB_2_SetDefault
+#define MPR_R6_B15_SUB_2  MPR_BACK_OFF_HSUPA_BAND15_SUB_2_SetDefault
+#define MPR_R6_B16_SUB_2  MPR_BACK_OFF_HSUPA_BAND16_SUB_2_SetDefault
+#define MPR_R6_B17_SUB_2  MPR_BACK_OFF_HSUPA_BAND17_SUB_2_SetDefault
+#define MPR_R6_B18_SUB_2  MPR_BACK_OFF_HSUPA_BAND18_SUB_2_SetDefault
+#define MPR_R6_B19_SUB_2  MPR_BACK_OFF_HSUPA_BAND19_SUB_2_SetDefault
+#define MPR_R6_B20_SUB_2  MPR_BACK_OFF_HSUPA_BAND20_SUB_2_SetDefault
+
+#define MPR_R6_B1_SUB_3   MPR_BACK_OFF_HSUPA_BAND1_SUB_3_SetDefault
+#define MPR_R6_B2_SUB_3   MPR_BACK_OFF_HSUPA_BAND2_SUB_3_SetDefault
+#define MPR_R6_B3_SUB_3   MPR_BACK_OFF_HSUPA_BAND3_SUB_3_SetDefault
+#define MPR_R6_B4_SUB_3   MPR_BACK_OFF_HSUPA_BAND4_SUB_3_SetDefault
+#define MPR_R6_B5_SUB_3   MPR_BACK_OFF_HSUPA_BAND5_SUB_3_SetDefault
+#define MPR_R6_B6_SUB_3   MPR_BACK_OFF_HSUPA_BAND6_SUB_3_SetDefault
+#define MPR_R6_B7_SUB_3   MPR_BACK_OFF_HSUPA_BAND7_SUB_3_SetDefault
+#define MPR_R6_B8_SUB_3   MPR_BACK_OFF_HSUPA_BAND8_SUB_3_SetDefault
+#define MPR_R6_B9_SUB_3   MPR_BACK_OFF_HSUPA_BAND9_SUB_3_SetDefault
+#define MPR_R6_B10_SUB_3  MPR_BACK_OFF_HSUPA_BAND10_SUB_3_SetDefault
+#define MPR_R6_B11_SUB_3  MPR_BACK_OFF_HSUPA_BAND11_SUB_3_SetDefault
+#define MPR_R6_B12_SUB_3  MPR_BACK_OFF_HSUPA_BAND12_SUB_3_SetDefault
+#define MPR_R6_B13_SUB_3  MPR_BACK_OFF_HSUPA_BAND13_SUB_3_SetDefault
+#define MPR_R6_B14_SUB_3  MPR_BACK_OFF_HSUPA_BAND14_SUB_3_SetDefault
+#define MPR_R6_B15_SUB_3  MPR_BACK_OFF_HSUPA_BAND15_SUB_3_SetDefault
+#define MPR_R6_B16_SUB_3  MPR_BACK_OFF_HSUPA_BAND16_SUB_3_SetDefault
+#define MPR_R6_B17_SUB_3  MPR_BACK_OFF_HSUPA_BAND17_SUB_3_SetDefault
+#define MPR_R6_B18_SUB_3  MPR_BACK_OFF_HSUPA_BAND18_SUB_3_SetDefault
+#define MPR_R6_B19_SUB_3  MPR_BACK_OFF_HSUPA_BAND19_SUB_3_SetDefault
+#define MPR_R6_B20_SUB_3  MPR_BACK_OFF_HSUPA_BAND20_SUB_3_SetDefault
+
+#define MPR_R6_B1_SUB_4   MPR_BACK_OFF_HSUPA_BAND1_SUB_4_SetDefault
+#define MPR_R6_B2_SUB_4   MPR_BACK_OFF_HSUPA_BAND2_SUB_4_SetDefault
+#define MPR_R6_B3_SUB_4   MPR_BACK_OFF_HSUPA_BAND3_SUB_4_SetDefault
+#define MPR_R6_B4_SUB_4   MPR_BACK_OFF_HSUPA_BAND4_SUB_4_SetDefault
+#define MPR_R6_B5_SUB_4   MPR_BACK_OFF_HSUPA_BAND5_SUB_4_SetDefault
+#define MPR_R6_B6_SUB_4   MPR_BACK_OFF_HSUPA_BAND6_SUB_4_SetDefault
+#define MPR_R6_B7_SUB_4   MPR_BACK_OFF_HSUPA_BAND7_SUB_4_SetDefault
+#define MPR_R6_B8_SUB_4   MPR_BACK_OFF_HSUPA_BAND8_SUB_4_SetDefault
+#define MPR_R6_B9_SUB_4   MPR_BACK_OFF_HSUPA_BAND9_SUB_4_SetDefault
+#define MPR_R6_B10_SUB_4  MPR_BACK_OFF_HSUPA_BAND10_SUB_4_SetDefault
+#define MPR_R6_B11_SUB_4  MPR_BACK_OFF_HSUPA_BAND11_SUB_4_SetDefault
+#define MPR_R6_B12_SUB_4  MPR_BACK_OFF_HSUPA_BAND12_SUB_4_SetDefault
+#define MPR_R6_B13_SUB_4  MPR_BACK_OFF_HSUPA_BAND13_SUB_4_SetDefault
+#define MPR_R6_B14_SUB_4  MPR_BACK_OFF_HSUPA_BAND14_SUB_4_SetDefault
+#define MPR_R6_B15_SUB_4  MPR_BACK_OFF_HSUPA_BAND15_SUB_4_SetDefault
+#define MPR_R6_B16_SUB_4  MPR_BACK_OFF_HSUPA_BAND16_SUB_4_SetDefault
+#define MPR_R6_B17_SUB_4  MPR_BACK_OFF_HSUPA_BAND17_SUB_4_SetDefault
+#define MPR_R6_B18_SUB_4  MPR_BACK_OFF_HSUPA_BAND18_SUB_4_SetDefault
+#define MPR_R6_B19_SUB_4  MPR_BACK_OFF_HSUPA_BAND19_SUB_4_SetDefault
+#define MPR_R6_B20_SUB_4  MPR_BACK_OFF_HSUPA_BAND20_SUB_4_SetDefault
+
+#define MPR_R6_B1_SUB_5   MPR_BACK_OFF_HSUPA_BAND1_SUB_5_SetDefault
+#define MPR_R6_B2_SUB_5   MPR_BACK_OFF_HSUPA_BAND2_SUB_5_SetDefault
+#define MPR_R6_B3_SUB_5   MPR_BACK_OFF_HSUPA_BAND3_SUB_5_SetDefault
+#define MPR_R6_B4_SUB_5   MPR_BACK_OFF_HSUPA_BAND4_SUB_5_SetDefault
+#define MPR_R6_B5_SUB_5   MPR_BACK_OFF_HSUPA_BAND5_SUB_5_SetDefault
+#define MPR_R6_B6_SUB_5   MPR_BACK_OFF_HSUPA_BAND6_SUB_5_SetDefault
+#define MPR_R6_B7_SUB_5   MPR_BACK_OFF_HSUPA_BAND7_SUB_5_SetDefault
+#define MPR_R6_B8_SUB_5   MPR_BACK_OFF_HSUPA_BAND8_SUB_5_SetDefault
+#define MPR_R6_B9_SUB_5   MPR_BACK_OFF_HSUPA_BAND9_SUB_5_SetDefault
+#define MPR_R6_B10_SUB_5  MPR_BACK_OFF_HSUPA_BAND10_SUB_5_SetDefault
+#define MPR_R6_B11_SUB_5  MPR_BACK_OFF_HSUPA_BAND11_SUB_5_SetDefault
+#define MPR_R6_B12_SUB_5  MPR_BACK_OFF_HSUPA_BAND12_SUB_5_SetDefault
+#define MPR_R6_B13_SUB_5  MPR_BACK_OFF_HSUPA_BAND13_SUB_5_SetDefault
+#define MPR_R6_B14_SUB_5  MPR_BACK_OFF_HSUPA_BAND14_SUB_5_SetDefault
+#define MPR_R6_B15_SUB_5  MPR_BACK_OFF_HSUPA_BAND15_SUB_5_SetDefault
+#define MPR_R6_B16_SUB_5  MPR_BACK_OFF_HSUPA_BAND16_SUB_5_SetDefault
+#define MPR_R6_B17_SUB_5  MPR_BACK_OFF_HSUPA_BAND17_SUB_5_SetDefault
+#define MPR_R6_B18_SUB_5  MPR_BACK_OFF_HSUPA_BAND18_SUB_5_SetDefault
+#define MPR_R6_B19_SUB_5  MPR_BACK_OFF_HSUPA_BAND19_SUB_5_SetDefault
+#define MPR_R6_B20_SUB_5  MPR_BACK_OFF_HSUPA_BAND20_SUB_5_SetDefault
+
+#define R6_MPR_SUB_EN     R6_MPR_SUB_EN_SetDefault
+#endif
+
+
+
+#ifndef  TC_PR1_2
+   #define  TC_PR1_2    TC_PR1
+#endif
+#ifndef  TC_PR2_2
+   #define  TC_PR2_2    TC_PR2
+#endif
+#ifndef  TC_PR2B_2
+   #define  TC_PR2B_2   TC_PR2B
+#endif
+#ifndef  TC_PR3_2
+   #define  TC_PR3_2    TC_PR3
+#endif
+#ifndef  TC_PR3A_2
+   #define  TC_PR3A_2   TC_PR3A
+#endif
+
+//For Dual Cell
+#ifndef TC_DC_SR1
+   #define TC_DC_SR1    TC_SR2
+#endif
+#ifndef TC_DC_SR2
+   #define TC_DC_SR2    TC_SR2B
+#endif
+#ifndef TC_RXD_SR1
+   #define TC_RXD_SR1   TC_SR2B
+#endif
+#ifndef TC_RXD_SR3
+   #define TC_RXD_SR3   TC_SR3
+#endif
+
+#ifndef  TC_PR3A
+   #define  TC_PR3A    TC_PR3+20
+#endif
+#ifndef  TC_PT3A
+   #define  TC_PT3A    TC_PT3+20
+#endif
+#ifndef  TC_PR2B
+   #define  TC_PR2B    TC_PR2+20
+#endif
+#ifndef  TC_PT2B
+   #define  TC_PT2B    TC_PT2+20
+#endif
+#ifndef  TC_SR2
+   #define  TC_SR2    TC_SR1
+#endif
+#ifndef  TC_SR2B
+   #define  TC_SR2B    TC_SR2
+#endif
+#ifndef  TC_ST2
+   #define  TC_ST2    TC_ST1
+#endif
+#ifndef  TC_ST2B
+   #define  TC_ST2B    TC_ST2
+#endif
+#ifndef  TC_ST2C
+   #define  TC_ST2C    TC_ST2B
+#endif
+
+#if(IS_3G_RX_POWER_OFFSET_SUPPORT)
+#define RPO_3G_ENABLE            RPO_3G_ENABLE_SetDefault
+#define RPO_3G_META_ENABLE       RPO_3G_META_ENABLE_SetDefault
+#endif
+
+#if IS_3G_REMOVE_MIPI
+#if (IS_3G_MIPI_SUPPORT)
+#define IS_3G_MIPI_ENABLE    IS_3G_MIPI_ENABLE_SetDefault
+#define MIPI_OFFSET          MIPI_OFFSET_SetDefault
+#endif
+#else
+// MIPI has been moved to CDF after Gen97.In order to make it compatible to Gen95 .
+//#define IS_3G_MIPI_ENABLE       1
+//#define MIPI_OFFSET             1
+#endif
+
+
+#if IS_URF_PCORE
+#define RX_BAND_INDICATOR_0 RX_BAND_INDICATOR_0_SetDefault
+#define RX_BAND_INDICATOR_1 RX_BAND_INDICATOR_1_SetDefault
+#define RX_BAND_INDICATOR_2 RX_BAND_INDICATOR_2_SetDefault
+#define RX_BAND_INDICATOR_3 RX_BAND_INDICATOR_3_SetDefault
+#define RX_BAND_INDICATOR_4 RX_BAND_INDICATOR_4_SetDefault
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+#define RX_BAND_INDICATOR_5 RX_BAND_INDICATOR_5_SetDefault
+#define RX_BAND_INDICATOR_6 RX_BAND_INDICATOR_6_SetDefault
+#define RX_BAND_INDICATOR_7 RX_BAND_INDICATOR_7_SetDefault
+#endif 
+#endif
+
+#ifndef BAND5_AND_BAND6_INDICATOR_SetDefault
+#define BAND5_AND_BAND6_INDICATOR_SetDefault 0
+#endif
+#define BAND5_AND_BAND6_INDICATOR BAND5_AND_BAND6_INDICATOR_SetDefault
+
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT
+#ifndef BAND5_AND_BAND19_INDICATOR_SetDefault
+#define BAND5_AND_BAND19_INDICATOR_SetDefault 0
+#endif
+#ifndef DISABLE_B5_INDICATOR_SetDefault
+#define DISABLE_B5_INDICATOR 0
+#endif
+#define BAND5_AND_BAND19_INDICATOR BAND5_AND_BAND19_INDICATOR_SetDefault
+#define DISABLE_B5_INDICATOR DISABLE_B5_INDICATOR_SetDefault
+#endif
+
+
+/*---------------------------------------------------------------------------*/
+
+#endif /* End of #ifndef UL1D_RF_COMMON_H */
+
diff --git a/mcu/interface/l1/ul1/external/ul1d_rf_public.h b/mcu/interface/l1/ul1/external/ul1d_rf_public.h
new file mode 100644
index 0000000..3bfcbde
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/ul1d_rf_public.h
@@ -0,0 +1,5179 @@
+/*******************************************************************************
+*  Modification Notice :
+*  --------------------------
+*  This software is modified by MediaTek Inc. and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*******************************************************************************/
+
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * ul1d_rf_public.h
+ *
+ * Project:
+ * --------
+ *   3G Project Common File
+ *
+ * Description:
+ * ------------
+ *   Definition of some of customization setting not defined in ul1d_custom_rf.h
+ *   And the stuff needs to be recognized by UL1D external module (wdata.c)
+ *   Also some of data structure, global data, global function prototypes to be used
+ *   by inter-category module (e.g. NVRAM)
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+#ifndef UL1D_RF_PUBLIC_H
+#define UL1D_RF_PUBLIC_H
+
+
+/*******************************************************************************
+** Includes
+*******************************************************************************/
+#include "ul1d_rf_cid.h"
+#include "hal_ul1_struct.h" //To use the band/freqToband common query functions
+#include "ul1d_rf_cal_poc_data.h"
+#include "mmrf_cc_global.h"
+#include "mml1_rf_global.h"
+#include "mml1_rf_public.h"
+#if IS_URF_MT6177L_RX_REFINE||IS_URF_MT6173_RX_REFINE
+#include "wrdep.h"
+#endif
+#include "mml1_dpd_def.h"
+
+#if IS_3G_ELNA_IDX_SUPPORT
+#include "mml1_fe_public.h"
+#endif
+
+#if IS_3G_TAS_INHERIT_4G_ANT
+//#include "el1d_rf_public.h"
+#include "el1d_rf_band.h"
+#endif
+
+#if IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT
+#include "mml1_custom_drdi.h"
+#endif
+
+/*******************************************************************************
+** Setting for specific RF
+*******************************************************************************/
+#if IS_URF_COLUMBUS
+#define  TX_CAL_SETTLING_TIME    (95) /*including STX setting time*/
+#define  TX_BURST_SETTLING_TIME  (9)  /*including TX LDO setting time*/
+#define  TX_SLEEP_ENTER_TIME     (1)   /*including RX LDO setting time*/
+#define  TX_ST1_CW_SEND_TIME     (5)   /*18CWs. (46T + 17T*18CWs + 17T)/75MHz = 6.84*/
+#define  TX_ST2_CW_SEND_TIME     (2)   /*2CWs.  (46T + 17T* 2CWs +  1T)/75MHz = 1.08*/
+#define  TX_ST3_CW_SEND_TIME     (2)   /*2CWs.  (46T + 17T* 2CWs +  1T)/75MHz = 1.08*/
+
+#define  TC_ST1        MICROSECOND_TO_CHIP( TX_CAL_SETTLING_TIME + TX_BURST_SETTLING_TIME + TX_ST1_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST2        MICROSECOND_TO_CHIP( TX_BURST_SETTLING_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST3        MICROSECOND_TO_CHIP( TX_SLEEP_ENTER_TIME + TX_ST3_CW_SEND_TIME)
+#define  TC_ST1_UCNT   US2UCNT( TX_CAL_SETTLING_TIME + TX_BURST_SETTLING_TIME + TX_ST1_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST2_UCNT   US2UCNT( TX_BURST_SETTLING_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST3_UCNT   US2UCNT( TX_SLEEP_ENTER_TIME + TX_ST3_CW_SEND_TIME)
+
+#elif IS_URF_TRINITYE1||IS_URF_TRINITY_2L
+/*****************************************
+MT6293 BSI Module clock: 75MHz
+MT6293 BSI 4-wire clock: 150/2MHz = 75MHz, 1CW=17T
+BSI Event Latency = {(BSI HW lentacy [46T]) + (4-wire CW length [17T])*CW_NUM + (IDLE_CNT [1T])*(CW_NUM-1)}/75MHz
+******************************************/
+
+//#define  UBSI_SEARCH_TIME        (0)     /*3G BSI search time: 0 for MT6293, no need to search event_idx in BSI data pool*/
+
+#define  TX_CAL_SETTLING_TIME    (95) /*including STX setting time*/
+#define  TX_BURST_SETTLING_TIME  (10)  /*including TX LDO setting time*/
+#define  TX_SLEEP_ENTER_TIME     (1)   /*including RX LDO setting time*/
+#define  TX_ST1_CW_SEND_TIME     (6)   /*20CWs. (46T + 17T*20CWs + 19T)/75MHz = 5.7*/
+#define  TX_ST2_CW_SEND_TIME     (2)   /*2CWs.  (46T + 17T* 2CWs +  1T)/75MHz = 1.08*/
+#define  TX_ST3_CW_SEND_TIME     (2)   /*2CWs.  (46T + 17T* 2CWs +  1T)/75MHz = 1.08*/
+
+#define  TC_ST1   MICROSECOND_TO_CHIP( TX_CAL_SETTLING_TIME + TX_ST1_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST2   MICROSECOND_TO_CHIP( TX_BURST_SETTLING_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST3   MICROSECOND_TO_CHIP( TX_SLEEP_ENTER_TIME + TX_ST3_CW_SEND_TIME)
+#else
+#define  UBSI_SEARCH_TIME        (6)   /*3G BSI search time for 472 CW depth at 80MHz CLK*/
+
+#if defined(L1_SIM)
+#define  TX_CAL_SETTLING_TIME    (102+10+10) /*including STX setting time, add 10us for xL1sim 0.5us/CW Usim handling*/
+#else
+#define  TX_CAL_SETTLING_TIME    (102) /*including STX setting time*/
+#endif
+#define  TX_BURST_SETTLING_TIME  (20)  /*including TX LDO setting time*/
+#define  TX_SLEEP_ENTER_TIME     (1)   /*including RX LDO setting time*/
+#define  TX_ST1_CW_SEND_TIME     (10)  /*22CWs. 0.41us/CW (include BSI_W to BSI_TOP time) over 5 wire BSI at 60.6MHz CLK (AP CLK)*/
+#define  TX_ST2_CW_SEND_TIME     (3)   /*5CWs.  0.41us/CW (include BSI_W to BSI_TOP time) over 5 wire BSI at 60.6MHz CLK (AP CLK)*/
+
+#define  TC_ST1   MICROSECOND_TO_CHIP( TX_CAL_SETTLING_TIME + TX_BURST_SETTLING_TIME + 2*UBSI_SEARCH_TIME + TX_ST1_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST2   MICROSECOND_TO_CHIP( TX_BURST_SETTLING_TIME + UBSI_SEARCH_TIME + TX_ST2_CW_SEND_TIME)
+#define  TC_ST3   MICROSECOND_TO_CHIP( TX_SLEEP_ENTER_TIME )
+#endif
+
+#if IS_URF_MT6177L_RX
+/* RX Timing */
+#if IS_MT6177L_PHONE_CALL_RX
+/*Use MT6179 timing*/
+#define  RX_CAL_SETTLING_TIME    (140) /*including SRX setting time*/
+#else
+/*Use Table 1-6  FDD SRX settling time, in MT6177L_SRX_L1_Programming_Guide*/
+#define  RX_CAL_SETTLING_TIME    (125) /*including SRX setting time*/
+#endif
+
+/*Use Figure 2-6 FDD/C2K Warm-up and Burst Mode, in MT6177L_E2MP_RX_L1_Programming_Guide*/
+#define  RX_BURST_SETTLING_TIME  (20)  /*including RX LDO setting time*/
+#define  RX_SLEEP_ENTER_TIME     (20)  /*including RX LDO setting time*/
+
+#define  RX_SR1_CW_SEND_TIME     (5)   /*17CWs. (46T + 17T*17CWs + 16T)/75MHz = 4.68*/
+#define  RX_SR2_CW_SEND_TIME     (1)   /*1CWs.  (46T + 17T* 1CWs +  0T)/75MHz = 0.840*/
+#define  UBSI_PENDDING_STR1      (RX_SR1_CW_SEND_TIME)
+#define  UBSI_PENDDING_STR2      (RX_SR2_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+
+#elif IS_URF_MT6173_RX
+/* RX Timing */
+#if IS_MT6173_PHONE_CALL_RX
+/*Use MT6179 timing*/
+#define  RX_CAL_SETTLING_TIME    (140) /*including SRX setting time*/
+#else
+/*Use Table 1-6  FDD SRX settling time, in MT6173_SRX_L1_Programming_Guide*/
+#define  RX_CAL_SETTLING_TIME    (125) /*including SRX setting time*/
+#endif
+
+/*Use Figure 2-6 FDD/C2K Warm-up and Burst Mode, in MT6173_E2MP_RX_Digital_document_V0p2_B60829*/
+#define  RX_BURST_SETTLING_TIME  (20)  /*including RX LDO setting time*/
+#define  RX_SLEEP_ENTER_TIME     (20)  /*including RX LDO setting time*/
+
+#define  RX_SR1_CW_SEND_TIME     (5)   /*16CWs. (46T + 17T*16CWs + 15T)/75MHz = 4.44*/
+#define  RX_SR2_CW_SEND_TIME     (1)   /*1CWs.  (46T + 17T* 1CWs +  0T)/75MHz = 0.840*/
+#define  UBSI_PENDDING_STR1      (RX_SR1_CW_SEND_TIME)
+#define  UBSI_PENDDING_STR2      (RX_SR2_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+
+#elif IS_URF_TRINITYE1_RX
+/* RX Timing */
+#if IS_TRINITYE1_PHONE_CALL_RX
+/*Use MT6179 timing*/
+#define  RX_CAL_SETTLING_TIME    (140) /*including SRX setting time*/
+#else
+/*Use Table 1-6  FDD SRX settling time, in MT6173_SRX_L1_Programming_Guide*/
+#define  RX_CAL_SETTLING_TIME    (95) /*including SRX setting time*/
+#endif
+
+/*Use Figure 2-5 FDD/C2K Warm-up and Burst Mode in Trinity_RX_Programming_Guide_0p1_20170607.docx*/
+#define  RX_BURST_SETTLING_TIME  (20)  /*including RX LDO setting time*/
+#define  RX_SLEEP_ENTER_TIME     (20)  /*including RX LDO setting time*/
+
+#define  RX_SR1_CW_SEND_TIME     (4)   /*10CWs. (46T + 17T*10CWs + 10T)/75MHz = 3.01*/
+#define  RX_SR2_CW_SEND_TIME     (1)   /*1CWs.  (46T + 17T* 1CWs +  0T)/75MHz = 0.84*/
+#define  UBSI_PENDDING_STR1      (RX_SR1_CW_SEND_TIME)
+#define  UBSI_PENDDING_STR2      (RX_SR2_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+
+#elif IS_URF_TRINITY2L_RX
+/* RX Timing */
+#if IS_TRINITY2L_PHONE_CALL_RX
+/*Use MT6179 timing*/
+#define  RX_CAL_SETTLING_TIME    (140) /*including SRX setting time*/
+#else
+/*Use Table 1-6  FDD SRX settling time, in MT6173_SRX_L1_Programming_Guide*/
+#define  RX_CAL_SETTLING_TIME    (95) /*including SRX setting time*/
+#endif
+
+/*Use Figure 2-5 FDD/C2K Warm-up and Burst Mode in Trinity_RX_Programming_Guide_0p1_20170607.docx*/
+#define  RX_BURST_SETTLING_TIME  (20)  /*including RX LDO setting time*/
+#define  RX_SLEEP_ENTER_TIME     (20)  /*including RX LDO setting time*/
+
+#define  RX_SR1_CW_SEND_TIME     (4)   /*10CWs. (46T + 17T*10CWs + 10T)/75MHz = 3.01*/
+#define  RX_SR2_CW_SEND_TIME     (1)   /*1CWs.  (46T + 17T* 1CWs +  0T)/75MHz = 0.84*/
+#define  UBSI_PENDDING_STR1      (RX_SR1_CW_SEND_TIME)
+#define  UBSI_PENDDING_STR2      (RX_SR2_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+
+#elif IS_URF_COLUMBUS_RX
+#define  RX_CAL_SETTLING_TIME    (95)  /*including SRX setting time*/
+#define  RX_BURST_SETTLING_TIME  (15)  /*including RX LDO setting time*/
+#define  RX_SLEEP_ENTER_TIME     (1)  /*including RX LDO setting time*/
+
+#define  RX_SR1_CW_SEND_TIME     (1)   /*17CWs. 17CW*50ns = 0.85us*/
+#define  RX_SR2_CW_SEND_TIME     (0)   /* 1CWs.  1CW*50ns = 0.05us*/
+#define  UBSI_PENDDING_STR1      (RX_SR1_CW_SEND_TIME)
+#define  UBSI_PENDDING_STR2      (RX_SR2_CW_SEND_TIME + TX_ST2_CW_SEND_TIME)
+
+#else
+/* RX Timing */
+
+#define  RX_CAL_SETTLING_TIME    (125) /*including SRX setting time*/
+#define  RX_BURST_SETTLING_TIME  (20)  /*including RX LDO setting time*/
+#define  RX_SLEEP_ENTER_TIME     (20)  /*including RX LDO setting time*/
+
+#define  RX_SR1_CW_SEND_TIME     (4)   /*14CWs. 0.26us/CW over 5 wire BSI at 60MHz CLK*/
+#define  RX_SR2_CW_SEND_TIME     (2)   /*7CWs.  0.26us/CW over 5 wire BSI at 60MHz CLK*/
+#define  UBSI_PENDDING_STR1      (2*(UBSI_SEARCH_TIME + RX_SR1_CW_SEND_TIME)) /*20us*/
+#define  UBSI_PENDDING_STR2      (2*(UBSI_SEARCH_TIME + RX_SR2_CW_SEND_TIME) + (UBSI_SEARCH_TIME + TX_ST2_CW_SEND_TIME)) /*23us*/
+#endif
+
+#if IS_MT6177L_PHONE_CALL_RX || IS_MT6173_PHONE_CALL_RX || IS_TRINITYE1_PHONE_CALL_RX || IS_URF_TRINITYE1_RX || IS_TRINITY2L_PHONE_CALL_RX || IS_URF_TRINITY2L_RX || IS_URF_COLUMBUS
+/*Use MT6179 timing*/
+#define  TC_SR1        MICROSECOND_TO_CHIP( RX_CAL_SETTLING_TIME + RX_BURST_SETTLING_TIME + UBSI_PENDDING_STR1 + UBSI_PENDDING_STR2 )
+#define  TC_SR2        MICROSECOND_TO_CHIP( RX_BURST_SETTLING_TIME + UBSI_PENDDING_STR2 )
+#define  TC_SR3        MICROSECOND_TO_CHIP( RX_SLEEP_ENTER_TIME )
+#define  TC_SR1_UCNT   US2UCNT( RX_CAL_SETTLING_TIME + RX_BURST_SETTLING_TIME + UBSI_PENDDING_STR1 + UBSI_PENDDING_STR2 )
+#define  TC_SR2_UCNT   US2UCNT( RX_BURST_SETTLING_TIME + UBSI_PENDDING_STR2 )
+#define  TC_SR3_UCNT   US2UCNT( RX_SLEEP_ENTER_TIME )
+#else
+/*Remove RX_BURST_SETTLING_TIME from TC_SR1                                    */
+/*Since in Table 1-6  FDD SRX settling time of MT6177L_SRX_L1_Programming_Guide*/
+/*FDD SRX settling time Can be overlapped by Burst for FDD RX Warm-up mode     */
+#define  TC_SR1   MICROSECOND_TO_CHIP( RX_CAL_SETTLING_TIME + UBSI_PENDDING_STR1 + UBSI_PENDDING_STR2 )
+#define  TC_SR2   MICROSECOND_TO_CHIP( RX_BURST_SETTLING_TIME + UBSI_PENDDING_STR2 )
+#define  TC_SR3   MICROSECOND_TO_CHIP( RX_SLEEP_ENTER_TIME )
+#endif
+
+/*MT6169*/
+#if IS_URF_COLUMBUS
+#define  END_BOUNDARY_OFFSET_UCNT    (83200)//4*256/3.84*312
+#define  TC_DC_SR1_UCNT              (END_BOUNDARY_OFFSET_UCNT) // Align FEC off time at symbol 1. MUST ahead to TC_DC_SR2.
+#define  TC_DC_SR2_UCNT              (TC_SR1_UCNT) //DC RX SRX on timing(SR1).
+#define  TC_DC_SR2B_UCNT             (TC_SR2_UCNT) //DC RX on timing(SR2).
+#endif
+
+#define  END_BOUNDARY_OFFSET         (4*256)
+ /* BSI Event timing RXCAL & TXCAL, [Paul] only use it in ORION_FDD*/
+#define  TC_SR1_CAL           MICROSECOND_TO_CHIP(610) // "RX cal timing"+"BSI send time length"+"reserved timing margin" =550us + 10us +10us + 40us (for RXDFE active wait + IQ settling time)
+#define  TC_SR2_CAL           MICROSECOND_TO_CHIP(10)  //"reserved BSI event send time(about for 10 events)"
+#define  TC_ST_CAL            MICROSECOND_TO_CHIP(0)  //"reserved BSI event send time(about for 10 events)"
+
+/*to do, check DC, RXD timing*/
+/* BSI Event timing for Dual cell & RXD reconfig */
+#if MT6169_TO_DO 
+#define  TC_DC_SR1            (END_BOUNDARY_OFFSET) // Align FEC off time at symbol 1. MUST ahead to TC_DC_SR2.
+#define  TC_DC_SR2            (TC_SR1) //DC RX SRX on timing(SR1).
+#define  TC_DC_SR2B           (TC_SR2) //DC RX on timing(SR2).
+#define  TC_RXD_SR1           MICROSECOND_TO_CHIP(25)  //doesn't matter, no RXD reconfiguration event @ MT6583
+#define  TC_RXD_SR3           MICROSECOND_TO_CHIP(20)  //doesn't matter, No RXD reconfiguration event @ MT6583
+#endif
+
+/*--------------------------------------------------------*/
+/*   TRX IO Setting Define                                */
+/*--------------------------------------------------------*/
+#define UL1_RX_LNA_PORT_SELECT_SHIFT                 (5)
+#if IS_URF_MT6179||IS_URF_MT6177L_RX
+#define UL1_RX_LNA_PORT_P0                           (0x1 << (UL1_RX_LNA_PORT_SELECT_SHIFT)) /*NonUsed*/
+#define UL1_RX_LNA_PORT_P1                           (0x2 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#define UL1_RX_LNA_PORT_P2                           (0x3 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#define UL1_RX_LNA_PORT_P3                           (0x4 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#define UL1_RX_LNA_PORT_P4                           (0x5 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#define UL1_RX_LNA_PORT_P5                           (0x6 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#define UL1_RX_LNA_PORT_P6                           (0x7 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#define UL1_RX_LNA_PORT_P7                           (0x8 << (UL1_RX_LNA_PORT_SELECT_SHIFT))
+#else // MT6176
+#define UL1_RX_LNA_PORT_P0                           (0x1 << (UL1_RX_LNA_PORT_SELECT_SHIFT + 0)) /*NonUsed*/
+#define UL1_RX_LNA_PORT_P1                           (0x1 << (UL1_RX_LNA_PORT_SELECT_SHIFT + 1))
+#define UL1_RX_LNA_PORT_P2                           (0x1 << (UL1_RX_LNA_PORT_SELECT_SHIFT + 2))
+#define UL1_RX_LNA_PORT_P3                           (0x1 << (UL1_RX_LNA_PORT_SELECT_SHIFT + 3))
+#define UL1_RX_LNA_PORT_P4                           (0x1 << (UL1_RX_LNA_PORT_SELECT_SHIFT + 4))
+#endif
+
+#define UL1_RX_LNA_GROUP_SELECT_SHIFT                (0)
+#define UL1_RX_LNA_GROUP_G1                          (0x1 << (UL1_RX_LNA_GROUP_SELECT_SHIFT + 0))
+#define UL1_RX_LNA_GROUP_G2                          (0x1 << (UL1_RX_LNA_GROUP_SELECT_SHIFT + 1))
+#define UL1_RX_LNA_GROUP_G3                          (0x1 << (UL1_RX_LNA_GROUP_SELECT_SHIFT + 2))
+#define UL1_RX_LNA_GROUP_G4                          (0x1 << (UL1_RX_LNA_GROUP_SELECT_SHIFT + 3))
+
+#if (!IS_URF_MT6179)
+/** Tx Port selection */
+#define UL1_TX_BSEL_LB_SHIFT                         (0)
+#define UL1_TX_BSEL_MB_SHIFT                         (5)
+#define UL1_TX_BSEL_HB_SHIFT                         (10)
+#endif
+
+#if IS_URF_MT6179||IS_URF_MT6177L_RX
+#define M_UNPACK_LNA_PORT_VALUE(x)                   ((x >> UL1_RX_LNA_PORT_SELECT_SHIFT) & 0xF)
+#else // MT6176
+#define M_UNPACK_LNA_PORT_VALUE(x)                   ((x >> UL1_RX_LNA_PORT_SELECT_SHIFT) & 0x3F)
+#endif
+
+#define M_UNPACK_LNA_GROUP_VALUE(x)                  ((x >> UL1_RX_LNA_GROUP_SELECT_SHIFT) & 0xF)
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#if IS_URF_TRINITY_2L
+/* RF RX IO port setting */
+/* Refer to  3.1 in "TrinityL_RX_Programming_Guide_0p1_20171207.docx" */
+typedef enum
+{
+   LNA_RX_PMHB1,
+   LNA_RX_PMHB2,
+   LNA_RX_PMHB3,
+   LNA_RX_PMHB4,
+   LNA_RX_PMHB5,
+   LNA_RX_PMHB6,
+   LNA_RX_PMHB7,
+   LNA_RX_PMHB8,
+   LNA_RX_PLB1,
+   LNA_RX_PLB2,
+   LNA_RX_PLB3,
+   LNA_RX_PLB4,
+   LNA_RX_PLB5,
+   LNA_RX_PLAAUHB1,
+   LNA_RX_PLAAUHB2,
+   LNA_MAIN_NONUSED,
+}UL1_RF_RX_IO_E;
+
+/* RF RXD IO port setting */
+/* Refer to  3.1 in "TrinityL_RX_Programming_Guide_0p1_20171207.docx" */
+typedef enum
+{
+   LNA_RX_DMHB1,
+   LNA_RX_DMHB2,
+   LNA_RX_DMHB3,
+   LNA_RX_DMHB4,
+   LNA_RX_DMHB5,
+   LNA_RX_DMHB6,
+   LNA_RX_DMHB7,
+   LNA_RX_DMHB8,
+   LNA_RX_DLB1,
+   LNA_RX_DLB2,
+   LNA_RX_DLB3,
+   LNA_RX_DLB4,
+   LNA_RX_DLB5,   
+   LNA_RX_DLAAUHB1,
+   LNA_RX_DLAAUHB2,
+   LNA_RXD_NONUSED,
+}UL1_RF_RXD_IO_E;
+
+#define NON_USED_BAND                                (15)//(LNA_RXD_NONUSED)
+
+#elif IS_URF_TRINITY_L
+/* RF RX IO port setting */
+/* Refer to  3.1 in "TrinityL_RX_Programming_Guide_0p1_20171207.docx" */
+typedef enum
+{
+   LNA_RX_PMHB1,
+   LNA_RX_PMHB2,
+   LNA_RX_PMHB3,
+   LNA_RX_PMHB4,
+   LNA_RX_PMHB5,
+   LNA_RX_PMHB6,
+   LNA_RX_PMHB7,
+   LNA_RX_PMHB8,
+   LNA_RX_PLB1,
+   LNA_RX_PLB2,
+   LNA_RX_PLB3,
+   LNA_RX_PLB4,
+   LNA_RX_PLB5,
+   LNA_RX_PLAAUHB1,
+   LNA_RX_PLAAUHB2,
+   LNA_MAIN_NONUSED,
+}UL1_RF_RX_IO_E;
+
+/* RF RXD IO port setting */
+/* Refer to  3.1 in "TrinityL_RX_Programming_Guide_0p1_20171207.docx" */
+typedef enum
+{
+   LNA_RX_DMHB1,
+   LNA_RX_DMHB2,
+   LNA_RX_DMHB3,
+   LNA_RX_DMHB4,
+   LNA_RX_DMHB5,
+   LNA_RX_DMHB6,
+   LNA_RX_DMHB7,
+   LNA_RX_DMHB8,
+   LNA_RX_DLB1,
+   LNA_RX_DLB2,
+   LNA_RX_DLB3,
+   LNA_RX_DLB4,
+   LNA_RX_DLB5,   
+   LNA_RX_DLAAUHB1,
+   LNA_RX_DLAAUHB2,
+   LNA_RXD_NONUSED,
+}UL1_RF_RXD_IO_E;
+
+#define NON_USED_BAND                                (15)//(LNA_RXD_NONUSED)
+
+#elif IS_URF_TRINITYE1
+/* RF RX IO port setting */
+/* Refer to  3.1 in "Trinity_RX_Programming_Guide_0p1_20170607.docx" */
+typedef enum
+{
+   LNA_RX_PMHB1,
+   LNA_RX_PMHB2,
+   LNA_RX_PMHB3,
+   LNA_RX_PMHB4,
+   LNA_RX_PMHB5,
+   LNA_RX_PMHB6,
+   LNA_RX_PMHB7,
+   LNA_RX_PMHB8,
+   LNA_RX_PMHB9,
+   LNA_RX_PMHB10,
+   LNA_RX_PLAAUHB1,
+   LNA_RX_PLAAUHB2,
+   LNA_RX_PLB1,
+   LNA_RX_PLB2,
+   LNA_RX_PLB3,
+   LNA_RX_PLB4,
+   LNA_RX_PLB5,
+   LNA_RX_PLB6,
+   LNA_MAIN_NONUSED,
+}UL1_RF_RX_IO_E;
+
+/* RF RXD IO port setting */
+/* Refer to  3.1 in "Trinity_RX_Programming_Guide_0p1_20170607.docx" */
+typedef enum
+{
+   LNA_RX_DMHB1,
+   LNA_RX_DMHB2,
+   LNA_RX_DMHB3,
+   LNA_RX_DMHB4,
+   LNA_RX_DMHB5,
+   LNA_RX_DMHB6,
+   LNA_RX_DMHB7,
+   LNA_RX_DMHB8,
+   LNA_RX_DMHB9,
+   LNA_RX_DMHB10,
+   LNA_RX_DLAAUHB1,
+   LNA_RX_DLAAUHB2,
+   LNA_RX_DLB1,
+   LNA_RX_DLB2,
+   LNA_RX_DLB3,
+   LNA_RX_DLB4,
+   LNA_RXD_NONUSED,
+}UL1_RF_RXD_IO_E;
+
+#define NON_USED_BAND                                (18)//(LNA_RXD_NONUSED)
+
+#elif IS_URF_MT6173_RX
+/* RF RX IO port setting */
+/* "Refer to  3.1.1 in "MT6173_E2_RX_3WirePG_V3p0.docx"*/
+typedef enum
+{
+   LNA_PRX1,
+   LNA_PRX2,
+   LNA_PRX3,
+   LNA_PRX4,
+   LNA_PRX5,
+   LNA_PRX6,
+   LNA_PRX7,
+   LNA_PRX8,
+   LNA_PRX9,
+   LNA_PRX10,
+   LNA_MAIN_NONUSED,
+}UL1_RF_RX_IO_E;
+
+/* RF RXD IO port setting */
+/* "Refer to  3.1.2 in "MT6173_E2_RX_3WirePG_V3p0.docx"*/
+typedef enum
+{
+   LNA_DRX1,
+   LNA_DRX2,
+   LNA_DRX3,
+   LNA_DRX4,
+   LNA_DRX5,
+   LNA_DRX6,
+   LNA_DRX7,
+   LNA_DRX8,
+   LNA_DRX9,
+   LNA_DRX10,
+   LNA_RXD_NONUSED,
+}UL1_RF_RXD_IO_E;
+
+#define NON_USED_BAND                                (10)
+#elif IS_URF_MT6177L_RX
+// Move to Wrdep
+
+typedef enum
+{
+   LNA_PRX1,
+   LNA_PRX2,
+   LNA_PRX3,
+   LNA_PRX4,
+   LNA_PRX5,
+   LNA_PRX6,
+   LNA_PRX7,
+   LNA_PRX8,
+   LNA_PRX9,
+   LNA_PRX10,
+   LNA_PRX11,
+   LNA_PRX12,
+   LNA_PRX13,
+   LNA_PRX14,
+   LNA_LAAP1,
+   LNA_MAIN_NONUSED,
+}UL1_RF_RX_IO_E;
+
+
+typedef enum
+{
+   LNA_DRX1,
+   LNA_DRX2,
+   LNA_DRX3,
+   LNA_DRX4,
+   LNA_DRX5,
+   LNA_DRX6,
+   LNA_DRX7,
+   LNA_DRX8,
+   LNA_DRX9,
+   LNA_DRX10,
+   LNA_DRX11,
+   LNA_DRX12,
+   LNA_DRX13,
+   LNA_DRX14,
+   LNA_LAAD1,
+   LNA_RXD_NONUSED,
+}UL1_RF_RXD_IO_E;
+
+
+#define NON_USED_BAND  (15)//(LNA_RXD_NONUSED)
+
+#else
+
+#define NON_USED_BAND  (0xFF)
+
+typedef enum
+{
+#if (IS_URF_MT6179 || IS_URF_ORION_HPLUS)
+   LNA_PRX1,
+   LNA_PRX2,
+   LNA_PRX3,
+   LNA_PRX4,
+   LNA_PRX5,
+   LNA_PRX6,
+   LNA_PRX7,
+   LNA_PRX8,
+   LNA_PRX9,
+   LNA_PRX10,
+   LNA_PRX11,
+   LNA_PRX12,
+   LNA_PRX13,
+   LNA_PRX14,
+   LNA_PRX15,
+   LNA_PRX16,
+   LNA_PRX17,
+   LNA_PRX18,
+   LNA_PRX19,
+   LNA_PRX20,
+   LNA_PRX21,
+   LNA_PRX22,
+#else // MT6176
+   LNA_PRX1  = (UL1_RX_LNA_GROUP_G4 | UL1_RX_LNA_PORT_P1),
+   LNA_PRX2  = (UL1_RX_LNA_GROUP_G4 | UL1_RX_LNA_PORT_P2),
+   LNA_PRX3  = (UL1_RX_LNA_GROUP_G4 | UL1_RX_LNA_PORT_P3),
+
+   LNA_PRX4  = (UL1_RX_LNA_GROUP_G3 | UL1_RX_LNA_PORT_P1),
+   LNA_PRX5  = (UL1_RX_LNA_GROUP_G3 | UL1_RX_LNA_PORT_P2),
+   LNA_PRX6  = (UL1_RX_LNA_GROUP_G3 | UL1_RX_LNA_PORT_P3),
+   LNA_PRX7  = (UL1_RX_LNA_GROUP_G3 | UL1_RX_LNA_PORT_P4),
+
+   LNA_PRX8  = (UL1_RX_LNA_GROUP_G2 | UL1_RX_LNA_PORT_P1),
+   LNA_PRX9  = (UL1_RX_LNA_GROUP_G2 | UL1_RX_LNA_PORT_P2),
+   LNA_PRX10 = (UL1_RX_LNA_GROUP_G2 | UL1_RX_LNA_PORT_P3),
+   LNA_PRX11 = (UL1_RX_LNA_GROUP_G2 | UL1_RX_LNA_PORT_P4),
+
+   LNA_PRX12 = (UL1_RX_LNA_GROUP_G1 | UL1_RX_LNA_PORT_P1),
+   LNA_PRX13 = (UL1_RX_LNA_GROUP_G1 | UL1_RX_LNA_PORT_P2),
+   LNA_PRX14 = (UL1_RX_LNA_GROUP_G1 | UL1_RX_LNA_PORT_P3),
+#endif
+   LNA_MAIN_NONUSED = NON_USED_BAND,
+}UL1_RF_RX_IO_E;
+
+typedef enum
+{
+#if (IS_URF_MT6179 || IS_URF_ORION_HPLUS)
+   LNA_DRX1,
+   LNA_DRX2,
+   LNA_DRX3,
+   LNA_DRX4,
+   LNA_DRX5,
+   LNA_DRX6,
+   LNA_DRX7,
+   LNA_DRX8,
+   LNA_DRX9,
+   LNA_DRX10,
+   LNA_DRX11,
+   LNA_DRX12,
+   LNA_DRX13,
+   LNA_DRX14,
+   LNA_DRX15,
+   LNA_DRX16,
+   LNA_DRX17,
+   LNA_DRX18,
+   LNA_DRX19,
+   LNA_DRX20,
+   LNA_DRX21,
+   LNA_DRX22,
+#else // MT6176
+   LNA_DRX1  = LNA_PRX1 ,
+   LNA_DRX2  = LNA_PRX2 ,
+   LNA_DRX3  = LNA_PRX3 ,
+
+   LNA_DRX4  = LNA_PRX4 ,
+   LNA_DRX5  = LNA_PRX5,
+   LNA_DRX6  = LNA_PRX6 ,
+   LNA_DRX7  = LNA_PRX7 ,
+
+   LNA_DRX8  = LNA_PRX8 ,
+   LNA_DRX9  = LNA_PRX9 ,
+   LNA_DRX10 = LNA_PRX10,
+   LNA_DRX11 = LNA_PRX11,
+
+   LNA_DRX12 = LNA_PRX12,
+   LNA_DRX13 = LNA_PRX13,
+   LNA_DRX14 = LNA_PRX14,
+#endif
+   LNA_RXD_NONUSED = NON_USED_BAND,
+}UL1_RF_RXD_IO_E;
+
+#endif/*IS_URF_MT6177L_RX*/
+
+/** Tx Port selection */
+#if IS_URF_TRINITYE1
+#if IS_URF_TRINITY_L
+typedef enum
+{
+   UL1_TX1_LB1,
+   UL1_TX1_LOAD,   	
+   UL1_TX1_MB1,  
+   UL1_TX1_MB2, //new for Trinity_L
+   UL1_TX1_OFF,
+   UL1_TX0_HB1,
+   UL1_TX0_LB1,
+   UL1_TX0_LB2,
+   UL1_TX0_LOAD,   	
+   UL1_TX0_MB1,
+   UL1_TX0_MB2,
+   UL1_TX0_OFF,
+   UL1_TX_IO_NONUSED,
+}UL1_RF_TX_IO_E;
+
+#else
+typedef enum
+{
+   UL1_TX1_HB1,
+   UL1_TX1_HB2,
+   UL1_TX1_LB1,
+   UL1_TX1_LM1,
+   UL1_TX1_LM2,
+   UL1_TX1_MB1,
+   UL1_TX1_ULB,
+   UL1_TX2_HB1,
+   UL1_TX2_HB2,
+   UL1_TX2_LB1,
+   UL1_TX2_LM1,
+   UL1_TX2_LM2,
+   UL1_TX2_MB1,
+   UL1_TX_IO_NONUSED,
+}UL1_RF_TX_IO_E;
+#endif
+#elif IS_URF_TRINITY_2L
+typedef enum
+{
+   UL1_TX0_HB1,
+   UL1_TX0_LB1,
+   UL1_TX0_LB2,
+   UL1_TX0_LOAD,   	
+   UL1_TX0_MB1,
+   UL1_TX0_MB2,
+   UL1_TX0_OFF,
+   UL1_TX_IO_NONUSED,
+}UL1_RF_TX_IO_E;
+
+#elif IS_URF_MT6173
+typedef enum
+{
+   UL1_TX_LB1,
+   UL1_TX_LB2,
+   //UL1_TX_LB3,
+   //UL1_TX_LB4,
+   UL1_TX_MB1,
+   UL1_TX_MB2,
+   //UL1_TX_MB3,
+   UL1_TX_HB1,
+   UL1_TX_HB2,
+   //UL1_TX_UHB,
+   UL1_TX_IO_NONUSED,
+}UL1_RF_TX_IO_E;
+
+#elif IS_URF_MT6177L
+typedef enum
+{
+   UL1_TX_LB1,
+   UL1_TX_LB2,
+   UL1_TX_LB3,
+   UL1_TX_LB4,
+   UL1_TX_MB1,
+   UL1_TX_MB2,
+   UL1_TX_MB3,
+   UL1_TX_HB1,
+   UL1_TX_HB2,
+   UL1_TX_UHB,
+   UL1_TX_IO_NONUSED,
+}UL1_RF_TX_IO_E;
+
+#elif (IS_URF_MT6179 || IS_URF_ORION_HPLUS)
+typedef enum
+{
+   UL1_TX0_LB1,
+   UL1_TX0_LB2,
+   UL1_TX0_LB3,
+   UL1_TX0_LB4,
+   UL1_TX0_MB1,
+   UL1_TX0_MB2,
+   UL1_TX0_MB3,
+   UL1_TX0_HB1,
+   UL1_TX0_HB2,
+   UL1_TX0_UHB,
+
+   UL1_TX1_LB1,
+   UL1_TX1_LB2,
+   UL1_TX1_MB,
+   UL1_TX1_HB,
+   UL1_TX1_UHB,
+
+   UL1_TX_IO_NONUSED,
+}UL1_RF_TX_IO_E;
+#else
+typedef enum
+{
+   TX_HB1 = (0x1 << (UL1_TX_BSEL_HB_SHIFT + 0)),
+   TX_HB2 = (0x1 << (UL1_TX_BSEL_HB_SHIFT + 1)),
+
+   TX_MB1 = (0x1 << (UL1_TX_BSEL_MB_SHIFT + 0)),
+   TX_MB2 = (0x1 << (UL1_TX_BSEL_MB_SHIFT + 1)),
+   TX_MB3 = (0x1 << (UL1_TX_BSEL_MB_SHIFT + 2)),
+   TX_MB4 = (0x1 << (UL1_TX_BSEL_MB_SHIFT + 3)),
+
+   TX_LB1 = (0x1 << (UL1_TX_BSEL_LB_SHIFT + 0)),
+   TX_LB2 = (0x1 << (UL1_TX_BSEL_LB_SHIFT + 1)),
+   TX_LB3 = (0x1 << (UL1_TX_BSEL_LB_SHIFT + 2)),
+   TX_LB4 = (0x1 << (UL1_TX_BSEL_LB_SHIFT + 3)),
+
+   TX_IO_NONUSED = NON_USED_BAND,
+}UL1_RF_TX_IO_E;
+#endif //end of IS_URF_MT6179
+
+
+/*MT6169*/ #define TX_NULL_BAND                 NON_USED_BAND
+
+/** Tx DET Port selection */
+typedef enum
+{
+   TX_DET_IO_PORT1 = 0,
+   TX_DET_IO_PORT2 = 1,
+   TX_DET_IO_NON_USED_PORT = 0xFFFF,
+}UL1_RF_TX_DET_IO_E;
+
+//MT6293: use MML1 definition
+/** RFIC BSI ISB port definition*/
+typedef enum
+{
+#if IS_3G_RFIC_BSI_PORT_SWTICH
+   UL1D_RF_RFIC1   = 0x0002,
+   UL1D_RF_PMIC    = 0x0001,
+   UL1D_RF_RFIC2   = 0x0000,
+#else
+   UL1D_RF_RFIC1   = 0x0000,
+   UL1D_RF_PMIC    = 0x0001,
+   UL1D_RF_RFIC2   = 0x0002,
+#endif
+   UL1D_RF_PORT_CNT,
+}UL1D_RF_BSI_PORT_T;
+
+typedef enum
+{
+   RF_DBG_TRC_DISABLE,
+   RF_DBG_TRC_ENABLE,
+   RF_DBG_TRC_DUMP_IN_ST3,
+   RF_DBG_TRC_DUMP_IN_SR3
+} RF_DBG_TRC_E;
+
+
+/*MT6169*/ /*For RX LNA path mapping*/
+/*MT6169*/ #define LNA_HB_1 (0)
+/*MT6169*/ #define LNA_HB_2 (1)
+/*MT6169*/ #define LNA_HB_3 (2)
+/*MT6169*/ #define LNA_MB_1 (3)
+/*MT6169*/ #define LNA_MB_2 (4)
+/*MT6169*/ #define LNA_LB_1 (5)
+/*MT6169*/ #define LNA_LB_2 (6)
+/*MT6169*/ #define LNA_LB_3 (7)
+/*MT6169*/ /*Start from MT6169, use 0xFF(max) to make all projects in the future aligned with the same value, for customer's comprehension*/
+/*MT6169*/
+/*MT6169*/ /*For RXD LNA path mapping*/
+/*MT6169*/ #define LNA_RXD_HB_1 (0)
+/*MT6169*/ #define LNA_RXD_HB_2 (1)
+/*MT6169*/ #define LNA_RXD_HB_3 (2)
+/*MT6169*/ #define LNA_RXD_MB_1 (3)
+/*MT6169*/ #define LNA_RXD_MB_2 (4)
+/*MT6169*/ #define LNA_RXD_LB_1 (5)
+/*MT6169*/ #define LNA_RXD_LB_2 (6)
+/*MT6169*/ #define LNA_RXD_LB_3 (7)
+/*MT6169*/ #define LNA_RXD_NON_USED_BAND (NON_USED_BAND)
+/*MT6169*/
+ /*CW68: IOTX Table 11-5*/
+#define TX_HB_1 (0)
+#define TX_HB_2 (1)
+#define TX_MB_1 (2)
+#define TX_MB_2 (3)
+#define TX_MB_3 (4)
+#define TX_MB_4 (5)
+#define TX_LB_1 (6)
+#define TX_LB_2 (7)
+#define TX_LB_3 (8)
+#define TX_LB_4 (9)
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+/*MT6169*/
+/*MT6169*/ /* PA mode Setting */ /*MT6166 PORTING NOT READY*///(start)
+/*MT6169*/ #define  NUMBER_OF_VGA_DAC           10
+/*MT6169*/ #define  VM_H                        0
+/*MT6169*/ #define  VM_M                        1
+/*MT6169*/ #define  VM_L                        3
+/*MT6169*/ #define  DC2DC_H                     1
+/*MT6169*/ #define  DC2DC_M                     1
+/*MT6169*/ #define  DC2DC_L                     0
+/*MT6169*/ #define  NUMBER_OF_CALI_DATA_ELEMENT 4
+/*MT6169*/  /*MT6167 PORTING NOT READY*///(End)
+/*MT6169*/ /*--------------------------------------------------------*/
+/*MT6169*/ /* Crystal solution parameter definition                  */
+/*MT6169*/ /*--------------------------------------------------------*/
+/*MT6169*/ #define  CRYSTAL_CAPID_MAX           255
+/*MT6169*/
+////////////////////////////////////////////////////////////////////////////////
+
+/*===============================================================================================*/
+
+
+/*******************************************************************************
+** New BPI data type
+*******************************************************************************/
+typedef kal_uint32     BPI_data_type;
+
+/*******************************************************************************
+** META Factory Calibration and 3G RF tool usage
+*******************************************************************************/
+#if !defined(IS_R6_DCXO_SUPPORT)
+#define IS_R6_DCXO_SUPPORT          0
+#endif
+
+
+/*******************************************************************************
+** Constants
+*******************************************************************************/
+#define  UMTS_RF_AFC_NOFFSET        0x00000
+#define  CAL_TEMP_SECTION            8
+#define  CAL_UARFCN_SECTION         15
+#define  CAL_PWR_DETECTOR_SECTION   32
+#if IS_PATHLOSS_EXTENTION
+   #if IS_URF_COLUMBUS_RX
+   #define  UL1_LNA_MODE_NUM           (8)
+   #else
+   #define  UL1_LNA_MODE_NUM           (7)
+   #endif
+#endif
+
+#define  UL1D_RF_CUSTOM_BAND (1+MAX_SUPPORTED_BAND_INDEX)
+
+#if !defined(NUMBER_OF_VGA_DAC)
+#define  NUMBER_OF_VGA_DAC          96
+#endif
+
+#define UMTS_RF_CA_BAND_ROUTE_LUT_IDX_MAX   5
+#define UMTS_RF_CA_BAND_ROUTE_LUT_IDX_NONE  0xFF
+#define UMTS_RF_CA_OPT_FE_SET_LUT_IDX_MAX   5
+
+#if IS_3G_SUPPORT_8_BANDINDICATOR 
+#define MAX_SUPPORTED_BAND_INDEX (8)
+#else
+#define MAX_SUPPORTED_BAND_INDEX (5)
+#endif
+
+#define  MAX_NUMBER_OF_RX_SUBBLOCK              (2) // for 3C-HSDPA case
+#define  MAX_NUMBER_CARRIER_OF_A_RX_SUBBLOCK    (3) // for 3C-HSDPA case
+#define  MAX_NUMBER_OF_TX_SUBBLOCK              (1) // for DC-HSUPA case
+#define  MAX_NUMBER_CARRIER_OF_A_TX_SUBBLOCK    (2) // for DC-HSUPA case
+
+#define  MAX_NUMBER_OF_RX_SYNTH                 (MAX_NUMBER_OF_RX_SUBBLOCK) //for DB-HSDPA case
+#define  MAX_NUMBER_OF_TX_SYNTH                 (MAX_NUMBER_OF_TX_SUBBLOCK) //for DB-HSDPA case
+
+#define UMTS_CA_1ST_SHIFT      (8)
+#define UMTS_CA_BAND_MASK      (0xFF)
+#define UMTS_CA_2ND_SHIFT      (0)
+
+#define UMTS_RF_CA_FE_NUM_MAX        5
+#define UMTS_RF_CA_BAND_NUM_MAX      (UMTS_RF_CA_FE_NUM_MAX * 2) /* 10 */
+#define UMTS_RF_FRONT_END_NUM_MAX    (MAX_SUPPORTED_BAND_INDEX + UMTS_RF_CA_FE_NUM_MAX) /* 10 */
+
+#define UMTS_USAGE_TBL_SIZE_MAX      (MAX_SUPPORTED_BAND_INDEX + UMTS_RF_CA_BAND_NUM_MAX) /* 15 */
+#define UMTS_ROUTE_TBL_SIZE_MAX      (MAX_SUPPORTED_BAND_INDEX + 2*UMTS_RF_CA_BAND_NUM_MAX) /* 25 */
+
+#define UMTS_RF_DC_TBL_SIZE          (UMTS_ROUTE_TBL_SIZE_MAX + 1)
+#define UMTS_AGC_PATHLOSS_TBL_SIZE   (UMTS_ROUTE_TBL_SIZE_MAX + 1)
+#define UMTS_MIPI_RX_TBL_SIZE        (UMTS_USAGE_TBL_SIZE_MAX + 1)
+
+#define UMTS_FE_RXBASE_TBL_SIZE_MAX  (UMTS_USAGE_TBL_SIZE_MAX)
+#define UMTS_FE_TXBASE_TBL_SIZE_MAX  (UMTS_RF_FRONT_END_NUM_MAX)
+
+#define TBL_IDX_MIPI_DEFAULT   0xFFFF
+
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_0   0
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_1   1
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_2   2
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_3   3
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_4   4
+#if IS_3G_SUPPORT_8_BANDINDICATOR 
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_5   5
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_6   6
+#define TBL_IDX_FOR_RX_BAND_INDICATOR_7   7
+#endif
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+#define  FREQ_INVALID   0xFFFF
+#endif
+
+/*******************************************************************************
+ * CA related
+ ******************************************************************************/
+#define UMTS_RF_CA_MAX_CC_NUM        3
+#define UMTS_RF_CA_VCO_DIV_SET_NUM   3 // [0]: RxPCC; [1]: RxSCC [2]: TxPCC
+#define UMTS_RF_CA_VCO_SET_RXPCC     0
+#define UMTS_RF_CA_VCO_SET_RXSCC     1
+#define UMTS_RF_CA_VCO_SET_TXPCC     2
+
+#define UMTS_RF_RX_VCO_DIV_SET_NUM   1
+#define UMTS_RF_RX_VCO_DIV_SET_1ST   0
+#define UMTS_RF_RX_VCO_DIV_SET_2ND   1
+#define UMTS_RF_RX_VCO_DIV_SET_3RD   2
+
+#define UMTS_RF_TX_VCO_DIV_SET_NUM   2
+#define UMTS_RF_TX_VCO_DIV_SET_1ST   0
+#define UMTS_RF_TX_VCO_DIV_SET_2ND   1
+
+#define UMTS_RF_BAND_NUM_MAX         UMTSBandcount
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+/*******************************************************************************
+ * TAS definition
+ ******************************************************************************/
+#define UMTS_DAT_SCENARIO_DEFAULT         (-1)
+#define UMTS_DAT_MAX_STATE_NUM            8
+#define UMTS_DAT_MAX_CAT_A_ROUTE_NUM      10
+#define UMTS_DAT_MAX_CAT_B_ROUTE_NUM      40
+#define UMTS_DAT_MAX_FE_ROUTE_NUM         MAX_SUPPORTED_BAND_INDEX
+#define UMTS_DAT_MIPI_TABLE_NULL          (0xFF)
+#define UMTS_DAT_FE_NULL                  (0xFF)
+#define UMTS_RF_UDAT_MAX_SPLIT_BAND_NUM   5
+
+#define UMTSBandNone_DAT_STATE_NUM_SetDefault                       0
+#define UMTSBandNone_DAT_STATE0_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE0_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE1_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE1_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE2_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE2_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE3_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE3_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE4_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE4_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE5_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE5_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE6_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE6_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE7_CAT_A_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+#define UMTSBandNone_DAT_STATE7_CAT_B_ROUTE_SetDefault              UMTS_DAT_FE_NULL
+
+#define UMTS_DAT_FEATURE_ENABLE(s)                  UMTS_DAT_FEATURE_ENABLE_##s
+
+#define UMTS_MIPI_DAT_EVENT(rt,s)                   UMTS_##rt##_MIPI_EVENT_##s
+#define UMTS_MIPI_DAT_DATA(rt,s)                    UMTS_##rt##_MIPI_DATA_##s
+
+#if IS_3G_UDAT_SUPPORT
+#define M_UMTS_SB_FE_DAT_SETTING(b,s)                                                                                                                 \
+{                                                                                                                                                     \
+   b/*usage*/,                                                                                                                                        \
+   {                                                                                                                                                  \
+      {/*state 0*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                         \
+         {                                                                                                                                            \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE0_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE0_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE0_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE0_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE0_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE0_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE0_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE0_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE0_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE0_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 1*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE1_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE1_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE1_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE1_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE1_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE1_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE1_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE1_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE1_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE1_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 2*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE2_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE2_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE2_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE2_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE2_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE2_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE2_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE2_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE2_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE2_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 3*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE3_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE3_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE3_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE3_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE3_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE3_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE3_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE3_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE3_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE3_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 4*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE4_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE4_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE4_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE4_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE4_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE4_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE4_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE4_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE4_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE4_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 5*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE5_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE5_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE5_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE5_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE5_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE5_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE5_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE5_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE5_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE5_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 6*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE6_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE6_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE6_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE6_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE6_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE6_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE6_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE6_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE6_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE6_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      },                                                                                                                                                                  \
+      {/*state 7*/ b##_##DAT_SPLIT_NUM##_##s,                                                                                                                             \
+         {                                                                                                                                                                \
+            {/*split part 1*/ b##_##DAT_SPLIT_PART1_DL_END##_##s, b##_##DAT_SPLIT_PART1_STATE7_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART1_STATE7_TUNER_CONFIG##_##s},     \
+            {/*split part 2*/ b##_##DAT_SPLIT_PART2_DL_END##_##s, b##_##DAT_SPLIT_PART2_STATE7_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART2_STATE7_TUNER_CONFIG##_##s},     \
+            {/*split part 3*/ b##_##DAT_SPLIT_PART3_DL_END##_##s, b##_##DAT_SPLIT_PART3_STATE7_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART3_STATE7_TUNER_CONFIG##_##s},     \
+            {/*split part 4*/ b##_##DAT_SPLIT_PART4_DL_END##_##s, b##_##DAT_SPLIT_PART4_STATE7_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART4_STATE7_TUNER_CONFIG##_##s},     \
+            {/*split part 5*/ b##_##DAT_SPLIT_PART5_DL_END##_##s, b##_##DAT_SPLIT_PART5_STATE7_SWITCH_CONFIG##_##s, b##_##DAT_SPLIT_PART5_STATE7_TUNER_CONFIG##_##s}      \
+         }                                                                                                                                                                \
+      }                                                                                                                                                                   \
+   }                                                                                                                                                                      \
+}
+
+#else
+
+#define M_UMTS_SB_FE_DAT_SETTING(b,s)                                                                                                     \
+{                                                                                                                                         \
+   b/*usage*/,                                                                                                                            \
+   { /*split part1*/                                                                                                                         \
+      { /*tas route state 0*/ b##_##DAT_STATE0_CAT_A_CONFIG##_##s, b##_##DAT_STATE0_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 1*/ b##_##DAT_STATE1_CAT_A_CONFIG##_##s, b##_##DAT_STATE1_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 2*/ b##_##DAT_STATE2_CAT_A_CONFIG##_##s, b##_##DAT_STATE2_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 3*/ b##_##DAT_STATE3_CAT_A_CONFIG##_##s, b##_##DAT_STATE3_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 4*/ b##_##DAT_STATE4_CAT_A_CONFIG##_##s, b##_##DAT_STATE4_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 5*/ b##_##DAT_STATE5_CAT_A_CONFIG##_##s, b##_##DAT_STATE5_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 6*/ b##_##DAT_STATE6_CAT_A_CONFIG##_##s, b##_##DAT_STATE6_CAT_B_CONFIG##_##s},  \
+      { /*tas route state 7*/ b##_##DAT_STATE7_CAT_A_CONFIG##_##s, b##_##DAT_STATE7_CAT_B_CONFIG##_##s},  \
+   },                                                                                                                                      \
+}
+#endif
+
+#define UMTS_SB_DAT_CONFIGURE(band_ind,s)               M_UMTS_SB_FE_DAT_SETTING(band_ind,s)
+#endif
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+/*******************************************************************************
+ * TAS definition
+ ******************************************************************************/
+// Transmit Antenna Selection Feature
+#define UMTS_RF_TAS_SET_NUM                15 //How many selection sets for each band
+#define UMTS_RF_TAS_BAND_NUM              (UMTS_RF_CA_FE_NUM_MAX)
+#define UMTS_RF_TAS_TOTAL_NUM             (UMTS_RF_TAS_BAND_NUM*UMTS_RF_TAS_SET_NUM)
+
+#define UMTS_TAS_MAX_STATE_NUM            8
+#define UMTS_TAS_MAX_CAT_A_ROUTE_NUM      10
+#define UMTS_TAS_MAX_CAT_B_ROUTE_NUM      10
+#define UMTS_TAS_MAX_CAT_C_ROUTE_NUM      10
+#define UMTS_TAS_MAX_FE_ROUTE_NUM         MAX_SUPPORTED_BAND_INDEX
+
+#define UMTS_TAS_DISBLE                   (UMTS_TAS_DISABLE)
+
+#if IS_3G_TAS_INHERIT_4G_ANT
+#define UMTS_TAS_INHERIT_LTE_BAND(band)   {band}
+#define UMTS_TAS_INHERIT_LTE_BAND_END     {LTE_BandNone}
+#define UMTS_TAS_INHERIT_LTE_BAND_MAX_NUM LTE_Band_Supported_Max //0xFF
+
+#define UMTS_TAS_INHERIT_LTE_BAND_BITMAP_NUM  8 /* 256/32 = 8 words */
+
+#define M_UMTS_TAS_INHERIT_LTE_ANT(b,s)                    UMTS_TAS_INHERIT_LTE_ANT_##b##_##s
+#define UMTS_TAS_INHERIT_LTE_ANT_CONFIGURE(band_ind,s)     M_UMTS_TAS_INHERIT_LTE_ANT(band_ind,s)
+
+#endif
+
+#define UMTS_TAS_VERSION(s)                         UMTS_TAS_VERSION_##s
+#define UMTS_TAS_FORCE_ENABLE(s)                    UMTS_TAS_FORCE_ENABLE_##s
+#define UMTS_TAS_FORCE_INIT_SETTING(s)              UMTS_TAS_FORCE_INIT_SETTING_##s
+#define UMTS_TAS_ICS_INIT_ANT_STATE(s)              UMTS_TAS_ICS_INIT_ANT_STATE_##s
+#define UMTS_TAS_ENABLE_ON_REAL_SIM(s)              UMTS_TAS_ENABLE_ON_REAL_SIM_##s
+#define UMTS_TAS_ENABLE_ON_TEST_SIM(s)              UMTS_TAS_ENABLE_ON_TEST_SIM_##s
+
+#define UMTS_MIPI_TAS_EVENT(rt,s)                   UMTS_##rt##_MIPI_EVENT_##s
+#define UMTS_MIPI_TAS_DATA(rt,s)                    UMTS_##rt##_MIPI_DATA_##s
+
+#if IS_3G_UTAS_SUPPORT
+#define UMTS_RF_UTAS_RF_PATH_NUM           2
+#define UMTS_RF_UTAS_MAX_SPLIT_BAND_NUM    5
+#define UMTS_RF_UTAS_SPLIT_BAND_NULL       0xFF   
+
+#if IS_3G_GEN97_TAS_SUPPORT
+#define M_UMTS_SB_FE_TAS_SETTING(b,s)                                                                       \
+{                                                                                                           \
+   b/*usage*/,                                                                                              \
+   /*calibration*/  b##_##TAS_CALIBRATION_INIT_SETTING##_##s,                                               \
+   {                                                                                                        \
+      b##_##TAS_ANT0_RSCP_BIAS##_##s, b##_##TAS_ANT1_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT2_RSCP_BIAS##_##s, b##_##TAS_ANT3_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT4_RSCP_BIAS##_##s, b##_##TAS_ANT5_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT6_RSCP_BIAS##_##s, b##_##TAS_ANT7_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT8_RSCP_BIAS##_##s, b##_##TAS_ANT9_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT10_RSCP_BIAS##_##s,b##_##TAS_ANT11_RSCP_BIAS##_##s,                                      \
+   }                                                                                                        \
+}
+#else
+#define M_UMTS_SB_FE_TAS_SETTING(b,s)                                                                       \
+{                                                                                                           \
+   b/*usage*/,                                                                                              \
+   {                                                                                                        \
+      { /*real sim*/    b##_##TAS_REAL_SIM_TAS_ENABLE##_##s, b##_##TAS_REAL_SIM_INIT_SETTING##_##s },       \
+      { /*test sim*/    b##_##TAS_TEST_SIM_TAS_ENABLE##_##s, b##_##TAS_TEST_SIM_INIT_SETTING##_##s },       \
+   },                                                                                                       \
+   /*calibration*/  b##_##TAS_CALIBRATION_INIT_SETTING##_##s,                                               \
+   /*layout group*/ b##_##TAS_ANT_LAYOUT_GROUP##_##s,                                                       \
+   {                                                                                                        \
+      b##_##TAS_ANT0_RSCP_BIAS##_##s, b##_##TAS_ANT1_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT2_RSCP_BIAS##_##s, b##_##TAS_ANT3_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT4_RSCP_BIAS##_##s, b##_##TAS_ANT5_RSCP_BIAS##_##s,                                       \
+      b##_##TAS_ANT6_RSCP_BIAS##_##s,                                                                       \
+    },                                                                                                       \
+   { /*split part setting*/                                                                                 \
+      /*split band num*/    b##_##TAS_SPLIT_NUM##_##s,                                                      \
+      {                                                                                                     \
+         { /*split part 1*/ b##_##TAS_SPLIT_PART1_DL_END##_##s, b##_##TAS_SPLIT_PART1_TUNER_SETTING##_##s},  \
+         { /*split part 2*/ b##_##TAS_SPLIT_PART2_DL_END##_##s, b##_##TAS_SPLIT_PART2_TUNER_SETTING##_##s},  \
+         { /*split part 3*/ b##_##TAS_SPLIT_PART3_DL_END##_##s, b##_##TAS_SPLIT_PART3_TUNER_SETTING##_##s},  \
+         { /*split part 4*/ b##_##TAS_SPLIT_PART4_DL_END##_##s, b##_##TAS_SPLIT_PART4_TUNER_SETTING##_##s},  \
+         { /*split part 5*/ b##_##TAS_SPLIT_PART5_DL_END##_##s, b##_##TAS_SPLIT_PART5_TUNER_SETTING##_##s},  \
+      },                                                                                                    \
+   },                                                                                                       \
+}
+#endif
+
+#define UMTS_SB_TAS_CONFIGURE(band_ind,s)               M_UMTS_SB_FE_TAS_SETTING(band_ind,s)
+
+#if IS_3G_TAS_TST_SUPPORT
+#define UMTS_TAS_TST_ENABLE_BY_RAT(s)                   (UMTS_TAS_TST_CONFIG_ENABLE_##s)
+
+#define M_UMTS_SB_FE_TAS_TST_SETTING(b,s)                                                                                                 \
+{                                                                                                                                         \
+   b/*usage*/,                                                                                                                            \
+   b##_##TAS_TST_BY_ROUTE_ENABLE##_##s,                                                                                                   \
+   {(b##_##TAS_TST_STATE0_ENABLE##_##s),(b##_##TAS_TST_STATE1_ENABLE##_##s),                                                              \
+   (b##_##TAS_TST_STATE2_ENABLE##_##s), (b##_##TAS_TST_STATE3_ENABLE##_##s),                                                              \
+   (b##_##TAS_TST_STATE4_ENABLE##_##s), (b##_##TAS_TST_STATE5_ENABLE##_##s),                                                              \
+   (b##_##TAS_TST_STATE6_ENABLE##_##s), (b##_##TAS_TST_STATE7_ENABLE##_##s),                                                              \
+   (b##_##TAS_TST_STATE8_ENABLE##_##s), (b##_##TAS_TST_STATE9_ENABLE##_##s),                                                              \
+   (b##_##TAS_TST_STATE10_ENABLE##_##s),(b##_##TAS_TST_STATE11_ENABLE##_##s),                                                             \
+   (b##_##TAS_TST_STATE12_ENABLE##_##s),(b##_##TAS_TST_STATE13_ENABLE##_##s),                                                             \
+   (b##_##TAS_TST_STATE14_ENABLE##_##s),(b##_##TAS_TST_STATE15_ENABLE##_##s),                                                             \
+   (b##_##TAS_TST_STATE16_ENABLE##_##s),(b##_##TAS_TST_STATE17_ENABLE##_##s),                                                             \
+   (b##_##TAS_TST_STATE18_ENABLE##_##s),(b##_##TAS_TST_STATE19_ENABLE##_##s),                                                             \
+   (b##_##TAS_TST_STATE20_ENABLE##_##s),(b##_##TAS_TST_STATE21_ENABLE##_##s),                                                             \
+   (b##_##TAS_TST_STATE22_ENABLE##_##s),(b##_##TAS_TST_STATE23_ENABLE##_##s)}                                                             \
+}
+
+#define UMTS_SB_TAS_TST_CONFIGURE(band_ind,s)               M_UMTS_SB_FE_TAS_TST_SETTING(band_ind,s)
+#endif /*IS_3G_TAS_TST_SUPPORT*/
+
+#else /*IS_3G_UTAS_SUPPORT*/
+#define M_UMTS_SB_FE_TAS_SETTING(b,s)                                                                                                     \
+{                                                                                                                                         \
+   b/*usage*/,                                                                                                                            \
+   b##_##TAS_STATE_NUM##_##s,                                                                                                             \
+   {                                                                                                                                      \
+      { /*real sim*/    b##_##TAS_REAL_SIM_BY_ROUTE_TAS_ENABLE##_##s, b##_##TAS_REAL_SIM_BY_ROUTE_INIT_SETTING##_##s },                     \
+      { /*test sim*/    b##_##TAS_TEST_SIM_BY_ROUTE_TAS_ENABLE##_##s, b##_##TAS_TEST_SIM_BY_ROUTE_INIT_SETTING##_##s },                    \
+   },                                                                                                                                     \
+   { /*split part1*/                                                                                                                         \
+      { /*tas route state 0*/ b##_##TAS_STATE0_CAT_A_ROUTE##_##s, b##_##TAS_STATE0_CAT_B_ROUTE##_##s, b##_##TAS_STATE0_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 1*/ b##_##TAS_STATE1_CAT_A_ROUTE##_##s, b##_##TAS_STATE1_CAT_B_ROUTE##_##s, b##_##TAS_STATE1_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 2*/ b##_##TAS_STATE2_CAT_A_ROUTE##_##s, b##_##TAS_STATE2_CAT_B_ROUTE##_##s, b##_##TAS_STATE2_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 3*/ b##_##TAS_STATE3_CAT_A_ROUTE##_##s, b##_##TAS_STATE3_CAT_B_ROUTE##_##s, b##_##TAS_STATE3_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 4*/ b##_##TAS_STATE4_CAT_A_ROUTE##_##s, b##_##TAS_STATE4_CAT_B_ROUTE##_##s, b##_##TAS_STATE4_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 5*/ b##_##TAS_STATE5_CAT_A_ROUTE##_##s, b##_##TAS_STATE5_CAT_B_ROUTE##_##s, b##_##TAS_STATE5_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 6*/ b##_##TAS_STATE6_CAT_A_ROUTE##_##s, b##_##TAS_STATE6_CAT_B_ROUTE##_##s, b##_##TAS_STATE6_CAT_C_ROUTE##_##s },  \
+      { /*tas route state 7*/ b##_##TAS_STATE7_CAT_A_ROUTE##_##s, b##_##TAS_STATE7_CAT_B_ROUTE##_##s, b##_##TAS_STATE7_CAT_C_ROUTE##_##s },  \
+   },                                                                                                                                      \
+}
+
+#define UMTS_SB_TAS_CONFIGURE(band_ind,s)               M_UMTS_SB_FE_TAS_SETTING(band_ind,s)
+
+#if IS_3G_TAS_TST_SUPPORT
+#define UMTS_TAS_TST_ENABLE_BY_RAT(s)                   (UMTS_TAS_TST_CONFIG_ENABLE_##s)
+
+#define M_UMTS_SB_FE_TAS_TST_SETTING(b,s)                                                                                                 \
+{                                                                                                                                         \
+   b/*usage*/,                                                                                                                            \
+   b##_##TAS_TST_BY_ROUTE_ENABLE##_##s,                                                                                                   \
+   ((b##_##TAS_TST_STATE0_ENABLE##_##s)<<UMTS_TAS_STATE0)|((b##_##TAS_TST_STATE1_ENABLE##_##s)<<UMTS_TAS_STATE1)|                         \
+   ((b##_##TAS_TST_STATE2_ENABLE##_##s)<<UMTS_TAS_STATE2)|((b##_##TAS_TST_STATE3_ENABLE##_##s)<<UMTS_TAS_STATE3)|                         \
+   ((b##_##TAS_TST_STATE4_ENABLE##_##s)<<UMTS_TAS_STATE4)|((b##_##TAS_TST_STATE5_ENABLE##_##s)<<UMTS_TAS_STATE5)|                         \
+   ((b##_##TAS_TST_STATE6_ENABLE##_##s)<<UMTS_TAS_STATE6)|((b##_##TAS_TST_STATE7_ENABLE##_##s)<<UMTS_TAS_STATE7)                          \
+}
+
+#define UMTS_SB_TAS_TST_CONFIGURE(band_ind,s)               M_UMTS_SB_FE_TAS_TST_SETTING(band_ind,s)
+#endif /*IS_3G_TAS_TST_SUPPORT*/
+
+#endif /*IS_3G_UTAS_SUPPORT*/
+
+#endif
+
+#if IS_3G_UDAT_SUPPORT && IS_3G_UTAS_SUPPORT
+#define UMTS_RF_UANT_CON_NUM   2
+#elif IS_3G_UTAS_SUPPORT
+#define UMTS_RF_UANT_CON_NUM   1
+#else
+#define UMTS_RF_UANT_CON_NUM   0
+#endif
+
+#if IS_3G_GEN97_TAS_SUPPORT || IS_3G_GEN97_DAT_SUPPORT 
+#define UMTS_RF_UANT_SPLIT_BAND_NULL       0xFF
+#endif
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+#define M_UMTS_RF_INTERFERE_CHECK_SETTING(s)                                                          \
+(                                                                                                     \
+   ((UMTS_INTERFERENCE_FREQ_TABLE0_ENABLE_##s)<<0)|((UMTS_INTERFERENCE_FREQ_TABLE1_ENABLE_##s)<<1)|   \
+   ((UMTS_INTERFERENCE_FREQ_TABLE2_ENABLE_##s)<<2)|((UMTS_INTERFERENCE_FREQ_TABLE3_ENABLE_##s)<<3)|   \
+   ((UMTS_INTERFERENCE_FREQ_TABLE4_ENABLE_##s)<<4)|((UMTS_INTERFERENCE_FREQ_TABLE5_ENABLE_##s)<<5)|   \
+   ((UMTS_INTERFERENCE_FREQ_TABLE6_ENABLE_##s)<<6)|((UMTS_INTERFERENCE_FREQ_TABLE7_ENABLE_##s)<<7)    \
+)
+
+#define UMTS_RF_INTERFERE_CHECK_CONFIGURE(s)               M_UMTS_RF_INTERFERE_CHECK_SETTING(s)
+#endif
+
+/*******************************************************************************
+ * DPD define
+ ******************************************************************************/
+#define UL1_DPD_MAX_PA_LEVEL_NUM           8
+#define UL1_DPD_MAX_PGA_NUM_PER_PA         1
+#define UL1_DPD_MAX_AM_LUT_GAIN_NUM        (UL1_DPD_MAX_PA_LEVEL_NUM * UL1_DPD_MAX_PGA_NUM_PER_PA) /* PA*PGA gain combination */
+#define UL1_DPD_MAX_PM_LUT_GAIN_NUM        UL1_DPD_MAX_AM_LUT_GAIN_NUM /* Align AM */
+#define UL1D_DPD_MAX_PA_MODE_NUM           3
+#define UL1D_DPD_MAX_PA_HYST_NUM           (UL1D_DPD_MAX_PA_MODE_NUM - 1)
+
+/*******************************************************************************
+** Macro define
+*******************************************************************************/
+#define M_UMTS_AGC_PATHLOSS_DEFAULT(x)            &AGC_PATHLOSS_##x##_SetDefault
+#define M_UMTS_RX_PATHLOSS_DEFAULT(x)             M_UMTS_AGC_PATHLOSS_DEFAULT(x)
+
+#define M_UMTS_AGC_PATHLOSS_RXXD_DEFAULT(x)       &AGC_PATHLOSS_RXD_##x##_SetDefault
+#define M_UMTS_RX_PATHLOSS_RXD_DEFAULT(x)         M_UMTS_AGC_PATHLOSS_RXXD_DEFAULT(x)
+
+#define M_UMTS_RAMPDATA_DEFAULT(x)                &RampData_##x##_SetDefault
+#define M_UMTS_TX_RAMPDATA_DEFAULT(x)             M_UMTS_RAMPDATA_DEFAULT(x)
+
+#define M_UMTS_PA_OCTLEV_DATA_DEFAULT(x)          &PaOctLevData_##x##_SetDefault
+#define M_UMTS_TX_PA_OCTLEV_DATA_DEFAULT(x)       M_UMTS_PA_OCTLEV_DATA_DEFAULT(x)
+
+#define M_UMTS_PA_DRIFT_COMP_DATA_DEFAULT(x)      &PaDriftCompData_##x##_SetDefault
+#define M_UMTS_TX_PA_DRIFT_COMP_DATA_DEFAULT(x)   M_UMTS_PA_DRIFT_COMP_DATA_DEFAULT(x)
+
+#define M_UMTS_RACH_TEMP_COMP_DATA_DEFAULT(x)     &RACH_temperature_compensation_##x##_SetDefault
+#define M_UMTS_TX_RACH_TEMP_COMP_DATA_DEFAULT(x)  M_UMTS_RACH_TEMP_COMP_DATA_DEFAULT(x)
+
+#define M_UMTS_DPD_RAMPDATA_DEFAULT(x)            &DPD_RampData_##x##_SetDefault
+#define M_UMTS_DPD_TX_RAMPDATA_DEFAULT(x)         M_UMTS_DPD_RAMPDATA_DEFAULT(x)
+
+#define M_UMTS_DPD_PA_OCTLEV_DATA_DEFAULT(x)      &DPD_PaOctLevData_##x##_SetDefault
+#define M_UMTS_DPD_TX_PA_OCTLEV_DATA_DEFAULT(x)   M_UMTS_DPD_PA_OCTLEV_DATA_DEFAULT(x)
+
+
+/*********************************************************************************/
+#define M_UMTS_AGC_PATHLOSS(x, sET)       &AGC_PATHLOSS_##x##_##sET
+#define M_UMTS_RX_AGC_PATHLOSS(x, sET)    M_UMTS_AGC_PATHLOSS(x, sET)
+
+#define M_UMTS_AGC_PATHLOSS_RXD(x,sET)        &AGC_PATHLOSS_RXD_##x##_##sET
+#define M_UMTS_RX_AGC_PATHLOSS_RXD(x,sET)     M_UMTS_AGC_PATHLOSS_RXD(x,sET)
+
+#define M_UMTS_RAMPDATA(x,sET)                &RampData_##x##_##sET
+#define M_UMTS_TX_RAMPDATA(x,sET)             M_UMTS_RAMPDATA(x,sET)
+
+#define M_UMTS_PA_OCTLEV_DATA(x,sET)          &PaOctLevData_##x##_##sET
+#define M_UMTS_TX_PA_OCTLEV_DATA(x,sET)       M_UMTS_PA_OCTLEV_DATA(x,sET)
+
+#define M_UMTS_PA_DRIFT_COMP_DATA(x,sET)      &PaDriftCompData_##x##_##sET
+#define M_UMTS_TX_PA_DRIFT_COMP_DATA(x,sET)   M_UMTS_PA_DRIFT_COMP_DATA(x,sET)
+
+#define M_UMTS_RACH_TEMP_COMP_DATA(x,sET)     &RACH_temperature_compensation_##x##_##sET
+#define M_UMTS_TX_RACH_TEMP_COMP_DATA(x,sET)  M_UMTS_RACH_TEMP_COMP_DATA(x,sET)
+
+#define UMTS_SB_DEFAULT      (0xFFFF)
+
+#define M_UMTS_CA_BAND(x, y) ((x << UMTS_CA_1ST_SHIFT) | (y << UMTS_CA_2ND_SHIFT))
+
+#define M_UMTS_DPD_RAMPDATA(x,sET)              &DPD_RampData_##x##_##sET
+#define M_UMTS_DPD_TX_RAMPDATA(x,sET)           M_UMTS_DPD_RAMPDATA(x,sET)
+
+#define M_UMTS_DPD_PA_OCTLEV_DATA(x,sET)        &DPD_PaOctLevData_##x##_##sET
+#define M_UMTS_DPD_TX_PA_OCTLEV_DATA(x,sET)     M_UMTS_DPD_PA_OCTLEV_DATA(x,sET)
+
+#define M_UMTS_DPD_COMMON_CTRL_DATA_TEMP(x,sET) &DPD_CommonCtrlData_##x##_##sET
+#define M_UMTS_DPD_COMMON_CTRL_DATA(x,sET)      M_UMTS_DPD_COMMON_CTRL_DATA_TEMP(x,sET)
+
+/*===============================================================================*/
+#if IS_3G_REMOVE_MIPI
+#define M_UMTS_Band_PDATA_PR1(b)                    PDATA_##b##_PR1_##SetDefault
+#define M_UMTS_PDATA_PR1(b)                         M_UMTS_Band_PDATA_PR1(b)
+
+#define M_UMTS_Band_PDATA_PR2(b)                    PDATA_##b##_PR2_##SetDefault
+#define M_UMTS_PDATA_PR2(b)                         M_UMTS_Band_PDATA_PR2(b)
+
+#define M_UMTS_Band_PDATA_PR3(b)                    PDATA_##b##_PR3_##SetDefault
+#define M_UMTS_PDATA_PR3(b)                         M_UMTS_Band_PDATA_PR3(b)
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define M_UMTS_Band_PDATA2_PR1(b)                   PDATA2_##b##_PR1_##SetDefault
+#define M_UMTS_PDATA2_PR1(b)                        M_UMTS_Band_PDATA2_PR1(b)
+
+#define M_UMTS_Band_PDATA2_PR2(b)                   PDATA2_##b##_PR2_##SetDefault
+#define M_UMTS_PDATA2_PR2(b)                        M_UMTS_Band_PDATA2_PR2(b)
+
+#define M_UMTS_Band_PDATA2_PR3(b)                   PDATA2_##b##_PR3_##SetDefault
+#define M_UMTS_PDATA2_PR3(b)                        M_UMTS_Band_PDATA2_PR3(b)
+#endif
+
+#define M_UMTS_Band_PDATA_PT1(b)                    PDATA_##b##_PT1_##SetDefault
+#define M_UMTS_PDATA_PT1(b)                         M_UMTS_Band_PDATA_PT1(b)
+
+#define M_UMTS_Band_PDATA_PT2(b)                    PDATA_##b##_PT2_##SetDefault
+#define M_UMTS_PDATA_PT2(b)                         M_UMTS_Band_PDATA_PT2(b)
+
+#define M_UMTS_Band_PDATA_PT3(b)                    PDATA_##b##_PT3_##SetDefault
+#define M_UMTS_PDATA_PT3(b)                         M_UMTS_Band_PDATA_PT3(b)
+
+#define M_UMTS_Band_RX_IO(b)                        b##_CHANNEL_SEL_##SetDefault
+#define M_UMTS_RX_IO(b)                             M_UMTS_Band_RX_IO(b)
+
+#define M_UMTS_Band_RXD_IO(b)                       b##_CHANNEL2_SEL_##SetDefault
+#define M_UMTS_RXD_IO(b)                            M_UMTS_Band_RXD_IO(b)
+
+#define M_UMTS_Band_TX_IO(b)                        b##_OUTPUT_SEL_##SetDefault
+#define M_UMTS_TX_IO(b)                             M_UMTS_Band_TX_IO(b)
+
+#define M_UMTS_Band_TX_DET_IO(b)                    b##_OUTPUT_DET_SEL_##SetDefault
+#define M_UMTS_TX_DET_IO(b)                         M_UMTS_Band_TX_DET_IO(b)
+/*===============================================================================*/
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define M_UMTS_RF_RX_PDATABASE(b)                              \
+{  b,                                                        \
+   {M_UMTS_PDATA_PR1(b), M_UMTS_PDATA_PR2(b), M_UMTS_PDATA_PR2(b), M_UMTS_PDATA_PR3(b), M_UMTS_PDATA_PR3(b)\
+   },                                                        \
+   {M_UMTS_PDATA2_PR1(b), M_UMTS_PDATA2_PR2(b), M_UMTS_PDATA2_PR2(b), M_UMTS_PDATA2_PR3(b), M_UMTS_PDATA2_PR3(b)\
+   }                                                         \
+}
+#else
+#define M_UMTS_RF_RX_PDATABASE(b)                              \
+{  b,                                                        \
+   {M_UMTS_PDATA_PR1(b), M_UMTS_PDATA_PR2(b), M_UMTS_PDATA_PR2(b), M_UMTS_PDATA_PR3(b), M_UMTS_PDATA_PR3(b)\
+   }                                                         \
+}
+#endif
+
+#define M_UMTS_RF_TX_PDATABASE(b)                              \
+{  b,                                                        \
+   {M_UMTS_PDATA_PT1(b), M_UMTS_PDATA_PT2(b), M_UMTS_PDATA_PT2(b), M_UMTS_PDATA_PT3(b), M_UMTS_PDATA_PT3(b)\
+   }                                                         \
+}
+
+#define M_UMTS_RF_RXIOBASE(b)                                  \
+{ b, {(M_UMTS_RX_IO(b)), (M_UMTS_RXD_IO(b))}                      \
+}
+
+#define M_UMTS_RF_TXIOBASE(b)                                  \
+{ b, {(M_UMTS_TX_IO(b)), (M_UMTS_TX_DET_IO(b))}                   \
+}
+#else
+//Useless after Gen97
+#endif/*IS_3G_REMOVE_MIPI*/
+
+
+#if IS_3G_REMOVE_MIPI
+/*===============================================================================*/
+#if IS_URF_MT6177L || IS_URF_MT6173 ||IS_URF_TRINITYE1||IS_URF_TRINITY_2L // remove tx det io referenced in ul1d_custom_rf.c
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define UMTS_SB_FE_ROUTE_SETTING(x, y, z)                                           \
+{  x, 1,                                                                         \
+   {  { x,                                                                       \
+         {                                                                       \
+/*RX IO  */ {  x##_CHANNEL_SEL_##z, x##_CHANNEL2_SEL_##z  },                              \
+/*RX BPI */ {  PDATA_##x##_PR1_##z, PDATA_##x##_PR2_##z, PDATA_##x##_PR2_##z, PDATA_##x##_PR3_##z, PDATA_##x##_PR3_##z }, \
+/*RX2 BPI*/ {  PDATA2_##x##_PR1_##z, PDATA2_##x##_PR2_##z, PDATA2_##x##_PR2_##z, PDATA2_##x##_PR3_##z, PDATA2_##x##_PR3_##z }, \
+/*RX MIPI*/    y                                                                  \
+         },                                                                       \
+         {                                                                        \
+/*TX IO  */ {  x##_OUTPUT_SEL_##z, TX_DET_IO_NON_USED_PORT  },                                                  \
+/*TX BPI */ {  PDATA_##x##_PT1_##z, PDATA_##x##_PT2_##z, PDATA_##x##_PT2_##z, PDATA_##x##_PT3_##z, PDATA_##x##_PT3_##z }, \
+/*TX MIPI*/    y                                                                  \
+         },                                                                       \
+      },                                                                          \
+      { UMTSBandNone, { {0,0}, {0,0,0}, {0,0,0}, 0 },                             \
+                      { {0  }, {0,0,0}, 0 }                                       \
+      }                                                                           \
+   }                                                                              \
+}
+#else
+#define UMTS_SB_FE_ROUTE_SETTING(x, y, z)                                           \
+{  x, 1,                                                                         \
+   {  { x,                                                                       \
+         {                                                                       \
+/*RX IO  */ {  x##_CHANNEL_SEL_##z, x##_CHANNEL2_SEL_##z  },                              \
+/*RX BPI */ {  PDATA_##x##_PR1_##z, PDATA_##x##_PR2_##z, PDATA_##x##_PR2_##z, PDATA_##x##_PR3_##z, PDATA_##x##_PR3_##z }, \
+/*RX MIPI*/    y                                                                  \
+         },                                                                       \
+         {                                                                        \
+/*TX IO  */ {  x##_OUTPUT_SEL_##z, TX_DET_IO_NON_USED_PORT  },                                                  \
+/*TX BPI */ {  PDATA_##x##_PT1_##z, PDATA_##x##_PT2_##z, PDATA_##x##_PT2_##z, PDATA_##x##_PT3_##z, PDATA_##x##_PT3_##z }, \
+/*TX MIPI*/    y                                                                  \
+         },                                                                       \
+      },                                                                          \
+      { UMTSBandNone, { {0,0}, {0,0,0}, 0 },                                      \
+                      { {0  }, {0,0,0}, 0 }                                       \
+      }                                                                           \
+   }                                                                              \
+}
+#endif
+
+#endif/*IS_URF_TRINITYE1*/
+
+#define UMTS_SB_FE_PRE_SETTING(x, y, z)                                              \
+        UMTS_SB_FE_ROUTE_SETTING(x, y, z)
+#define UMTS_SB_FE_SETTING(band_ind, sET)                                              \
+        UMTS_SB_FE_PRE_SETTING(band_ind##_##sET, TBL_IDX_FOR_##band_ind, sET )
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define UMTS_CA_FE_ROUTE_SETTING(x, z)                                               \
+{                                                                                 \
+   x, x##_CCNUM_##z,                                                                  \
+   {  {  x##_CC0_##z,                                                                 \
+         {                                                                        \
+/*RX IO  */ {  x##_CC0_CHANNEL_SEL_##z, x##_CC0_CHANNEL2_SEL_##z  },                       \
+/*RX BPI */ {  x##_CC0_PDATA_PR1_##z, x##_CC0_PDATA_PR2_##z, x##_CC0_PDATA_PR2_##z, x##_CC0_PDATA_PR3_##z, x##_CC0_PDATA_PR3_##z }, \
+/*RX2 BPI*/ {  x##_CC0_PDATA2_PR1_##z, x##_CC0_PDATA2_PR2_##z, x##_CC0_PDATA2_PR2_##z, x##_CC0_PDATA2_PR3_##z, x##_CC0_PDATA2_PR3_##z }, \
+/*RX MIPI*/   x##_CC0_RX_MIPI_TBL_IDX_##z                                            \
+         },                                                                       \
+         {                                                                        \
+/*TX IO  */ {  x##_CC0_OUTPUT_SEL_##z, x##_CC0_OUTPUT_DET_SEL_##z  },                                              \
+/*TX BPI */ {  x##_CC0_PDATA_PT1_##z, x##_CC0_PDATA_PT2_##z, x##_CC0_PDATA_PT2_##z, x##_CC0_PDATA_PT3_##z, x##_CC0_PDATA_PT3_##z }, \
+/*TX MIPI*/   x##_CC0_TX_MIPI_TBL_IDX_##z                                            \
+         }                                                                        \
+      },                                                                          \
+      {  x##_CC1_##z,                                                                 \
+         {                                                                        \
+/*RX IO  */ {  x##_CC1_CHANNEL_SEL_##z, x##_CC1_CHANNEL2_SEL_##z  },                       \
+/*RX BPI */ {  x##_CC1_PDATA_PR1_##z, x##_CC1_PDATA_PR2_##z, x##_CC1_PDATA_PR2_##z, x##_CC1_PDATA_PR3_##z, x##_CC1_PDATA_PR3_##z }, \
+/*RX2 BPI*/ {  x##_CC1_PDATA2_PR1_##z, x##_CC1_PDATA2_PR2_##z, x##_CC1_PDATA2_PR2_##z, x##_CC1_PDATA2_PR3_##z, x##_CC1_PDATA2_PR3_##z }, \
+/*RX MIPI*/   x##_CC1_RX_MIPI_TBL_IDX_##z                                             \
+         },                                                                       \
+         {                                                                        \
+/*TX IO  */ {  x##_CC1_OUTPUT_SEL_##z, x##_CC1_OUTPUT_DET_SEL_##z  },                                              \
+/*TX BPI */ {  x##_CC1_PDATA_PT1_##z,  x##_CC1_PDATA_PT2_##z, x##_CC1_PDATA_PT2_##z, x##_CC1_PDATA_PT3_##z, x##_CC1_PDATA_PT3_##z}, \
+/*TX MIPI*/   x##_CC1_TX_MIPI_TBL_IDX_##z                                            \
+         }                                                                        \
+      }                                                                           \
+   }                                                                              \
+}
+#else
+#define UMTS_CA_FE_ROUTE_SETTING(x, z)                                               \
+{                                                                                 \
+   x, x##_CCNUM_##z,                                                                  \
+   {  {  x##_CC0_##z,                                                                 \
+         {                                                                        \
+/*RX IO  */ {  x##_CC0_CHANNEL_SEL_##z, x##_CC0_CHANNEL2_SEL_##z  },                       \
+/*RX BPI */ {  x##_CC0_PDATA_PR1_##z, x##_CC0_PDATA_PR2_##z, x##_CC0_PDATA_PR2_##z, x##_CC0_PDATA_PR3_##z, x##_CC0_PDATA_PR3_##z }, \
+/*RX MIPI*/   x##_CC0_RX_MIPI_TBL_IDX_##z                                            \
+         },                                                                       \
+         {                                                                        \
+/*TX IO  */ {  x##_CC0_OUTPUT_SEL_##z, x##_CC0_OUTPUT_DET_SEL_##z  },                                              \
+/*TX BPI */ {  x##_CC0_PDATA_PT1_##z, x##_CC0_PDATA_PT2_##z, x##_CC0_PDATA_PT2_##z, x##_CC0_PDATA_PT3_##z, x##_CC0_PDATA_PT3_##z }, \
+/*TX MIPI*/   x##_CC0_TX_MIPI_TBL_IDX_##z                                            \
+         }                                                                        \
+      },                                                                          \
+      {  x##_CC1_##z,                                                                 \
+         {                                                                        \
+/*RX IO  */ {  x##_CC1_CHANNEL_SEL_##z, x##_CC1_CHANNEL2_SEL_##z  },                       \
+/*RX BPI */ {  x##_CC1_PDATA_PR1_##z, x##_CC1_PDATA_PR2_##z, x##_CC1_PDATA_PR2_##z, x##_CC1_PDATA_PR3_##z, x##_CC1_PDATA_PR3_##z }, \
+/*RX MIPI*/   x##_CC1_RX_MIPI_TBL_IDX_##z                                             \
+         },                                                                       \
+         {                                                                        \
+/*TX IO  */ {  x##_CC1_OUTPUT_SEL_##z, x##_CC1_OUTPUT_DET_SEL_##z  },                                              \
+/*TX BPI */ {  x##_CC1_PDATA_PT1_##z,  x##_CC1_PDATA_PT2_##z, x##_CC1_PDATA_PT2_##z, x##_CC1_PDATA_PT3_##z, x##_CC1_PDATA_PT3_##z}, \
+/*TX MIPI*/   x##_CC1_TX_MIPI_TBL_IDX_##z                                            \
+         }                                                                        \
+      }                                                                           \
+   }                                                                              \
+}
+#endif
+
+#define UMTS_CA_FE_PRE_SETTING(x, z)                                              \
+        UMTS_CA_FE_ROUTE_SETTING(x, z)
+#define UMTS_CA_FE_SETTING(ca_band_ind, sET)                                              \
+        UMTS_CA_FE_PRE_SETTING(ca_band_ind##_##sET, sET )
+
+#if IS_3G_RXD_FE_CONTROL_SUPPORT
+#define UMTS_CA_COMPARE_RX_FE_SETTING( src, dst )                                  \
+   src->rx_cfg.rxIodata.rxio     == dst->rx_cfg.rxIodata.rxio     &&              \
+   src->rx_cfg.rxIodata.rxdio    == dst->rx_cfg.rxIodata.rxdio    &&              \
+   src->rx_cfg.rxPdata.pr1       == dst->rx_cfg.rxPdata.pr1       &&              \
+   src->rx_cfg.rxPdata.pr2       == dst->rx_cfg.rxPdata.pr2       &&              \
+   src->rx_cfg.rxPdata.pr2b      == dst->rx_cfg.rxPdata.pr2b      &&              \
+   src->rx_cfg.rxPdata.pr3       == dst->rx_cfg.rxPdata.pr3       &&              \
+   src->rx_cfg.rxPdata.pr3a      == dst->rx_cfg.rxPdata.pr3a      &&              \
+   src->rx_cfg.rxPdata2.pr1      == dst->rx_cfg.rxPdata2.pr1      &&              \
+   src->rx_cfg.rxPdata2.pr2      == dst->rx_cfg.rxPdata2.pr2      &&              \
+   src->rx_cfg.rxPdata2.pr2b     == dst->rx_cfg.rxPdata2.pr2b     &&              \
+   src->rx_cfg.rxPdata2.pr3      == dst->rx_cfg.rxPdata2.pr3      &&              \
+   src->rx_cfg.rxPdata2.pr3a     == dst->rx_cfg.rxPdata2.pr3a     &&              \
+   src->rx_cfg.rxMipiTblIdx      == dst->rx_cfg.rxMipiTblIdx
+#else
+#define UMTS_CA_COMPARE_RX_FE_SETTING( src, dst )                                  \
+   src->rx_cfg.rxIodata.rxio     == dst->rx_cfg.rxIodata.rxio     &&              \
+   src->rx_cfg.rxIodata.rxdio    == dst->rx_cfg.rxIodata.rxdio    &&              \
+   src->rx_cfg.rxPdata.pr1       == dst->rx_cfg.rxPdata.pr1       &&              \
+   src->rx_cfg.rxPdata.pr2       == dst->rx_cfg.rxPdata.pr2       &&              \
+   src->rx_cfg.rxPdata.pr2b      == dst->rx_cfg.rxPdata.pr2b      &&              \
+   src->rx_cfg.rxPdata.pr3       == dst->rx_cfg.rxPdata.pr3       &&              \
+   src->rx_cfg.rxPdata.pr3a      == dst->rx_cfg.rxPdata.pr3a      &&              \
+   src->rx_cfg.rxMipiTblIdx      == dst->rx_cfg.rxMipiTblIdx
+#endif
+
+#define UMTS_CA_COMPARE_TX_FE_SETTING( src, dst )                                  \
+   src->tx_cfg.txIodata.txio    == dst->tx_cfg.txIodata.txio    &&                \
+   src->tx_cfg.txPdata.pt1      == dst->tx_cfg.txPdata.pt1      &&                \
+   src->tx_cfg.txPdata.pt2      == dst->tx_cfg.txPdata.pt2      &&                \
+   src->tx_cfg.txPdata.pt2b     == dst->tx_cfg.txPdata.pt2b     &&                \
+   src->tx_cfg.txPdata.pt3      == dst->tx_cfg.txPdata.pt3      &&                \
+   src->tx_cfg.txPdata.pt3a     == dst->tx_cfg.txPdata.pt3a     &&                \
+   src->tx_cfg.txMipiTblIdx     == dst->tx_cfg.txMipiTblIdx
+
+#else 
+//Useless after Gen97
+#endif/*IS_3G_REMOVE_MIPI*/
+
+#if (IS_3G_TAS_SUPPORT)
+#define M_UMTS_TAS_BPI(value, mask, bpiData) (((value)&(mask))|(bpiData))
+
+#define UL1D_TAS_BPI_PIN_GEN(var1, var2, var3, sET)   ( ((UMTS_TAS_BPI_PIN_1_##sET==UMTS_TAS_BPI_PIN_NULL_##sET)?0:((var1)<< UMTS_TAS_BPI_PIN_1_##sET))|\
+                                                   ((UMTS_TAS_BPI_PIN_2_##sET==UMTS_TAS_BPI_PIN_NULL_##sET)?0:((var2)<< UMTS_TAS_BPI_PIN_2_##sET))|\
+                                                   ((UMTS_TAS_BPI_PIN_3_##sET==UMTS_TAS_BPI_PIN_NULL_##sET)?0:((var3)<< UMTS_TAS_BPI_PIN_3_##sET)) )
+
+#endif/*IS_3G_TAS_SUPPORT*/
+
+// Power on CAL
+#define UMTS_Band_PWRON_CAL_DATA(b)        b##_PWRON_CAL_DATA
+#define UMTS_PWRON_CAL_DATA(b)             UMTS_Band_PWRON_CAL_DATA(b)
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+#define SAR_3G_TABLE_NUM  MML1_RF_SAR_TABLE_SCENARIO_NUM
+#define UMTS_Band_SAR_BACKOFF(b, sET)     &SARBackoffData_##b##_##sET
+#define M_UMTS_SAR_BACKOFF(b, sET)        UMTS_Band_SAR_BACKOFF(b, sET)
+    #if IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT
+#define TPO_3G_TABLE_TYPE_NUM                    MML1_CUSTOM_TOTAL_SAR_TABLE_TYPE_NUM
+
+#define UMTS_Band_SAR_BACKOFF_DATA_CONDI(b, t) &SARBackoffData_##b##_##t
+#define M_UMTS_SAR_BACKOFF_DATA_CONDI(b, t)    UMTS_Band_SAR_BACKOFF_DATA_CONDI(b, t)
+
+#define UMTS_Band_SAR_BACKOFF_DATA_TABLE_CONDI(t) {U_SAR_BACKOFF_TABLE_CONDI_##t}
+
+#define M_UMTS_SAR_BACKOFF_DATA_TABLE_CONDI(type)      \
+{                                                        \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBandNone, type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand1,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand2,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand3,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand4,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand5,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand6,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand7,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand8,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand9,    type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand10,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand11,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand12,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand13,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand14,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand15,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand16,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand17,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand18,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand19,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand20,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand21,   type),  \
+   M_UMTS_SAR_BACKOFF_DATA_CONDI(UMTSBand22,   type),  \
+}
+    #endif /* IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT */
+#endif
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT 
+//#define TPO_3G_TABLE_NUM  TPO_MML1_TABLE_NUM
+#define TPO_3G_TABLE_NUM  MML1_RF_SWTP_TABLE_SCENARIO_NUM
+#define UMTS_Band_TX_PWR_OFFSET(b, sET)     &TxPowerOffsetData_##b##_##sET
+#define M_UMTS_TX_PWR_OFFSET(b, sET)        UMTS_Band_TX_PWR_OFFSET(b, sET)
+#endif
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+#define UMTS_Band_TX_NSFT_PWR_OFFSET(b, sET)     &TxNsftPowerOffsetData_##b##_##sET
+#define M_UMTS_TX_NSFT_PWR_OFFSET(b, sET)        UMTS_Band_TX_NSFT_PWR_OFFSET(b, sET)
+#endif
+
+#if (IS_3G_RX_POWER_OFFSET_SUPPORT)
+#define UMTS_Band_RX_PWR_OFFSET(b, sET)     &RxPowerOffsetData_##b##_##sET
+#define M_UMTS_RX_PWR_OFFSET(b, sET)        UMTS_Band_RX_PWR_OFFSET(b,sET)
+#endif
+
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+#define M_UMTS_VPA_SRC_SEL(x,sET)   &UMTS_VPA_SOURCE_##x##_##sET
+#define M_UMTS_VPA_SRC(x,sET)       M_UMTS_VPA_SRC_SEL(x,sET)
+#endif/*IS_3G_VPA_SEL_BY_BAND_SUPPORT*/
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+#define UMTS_Band_RFEQ_COEF(b, sET)     &UMTS_RFEQ_COEF_##b##_##sET
+#define M_UMTS_RFEQ_COEF(b, sET)        UMTS_Band_RFEQ_COEF(b, sET)          
+#endif
+
+#if IS_3G_RFEQ_REAL_COEF_TEST
+#define UMTS_Band_REAL_RFEQ_COEF(b, sET)     &UMTS_RFEQ_REAL_COEF_##b##_##sET
+#define M_UMTS_REAL_RFEQ_COEF(b, sET)        UMTS_Band_REAL_RFEQ_COEF(b, sET)
+#endif
+
+/*******************************************************************************
+** Typedefs
+*******************************************************************************/
+typedef struct {
+   kal_uint32      capability;
+   kal_uint32      band_support;
+   kal_uint32      rxd_band_support;
+   kal_uint32      padrift_band_support;
+   kal_uint32      wcdma_dpd_band_support;
+} UMTS_MsCapabilityEx;
+
+#if IS_URF_COLUMBUS_RX
+typedef  struct
+{
+   kal_uint16 max_uarfcn;
+#if IS_PATHLOSS_EXTENTION
+   kal_int16   path_loss_HPM[UL1_LNA_MODE_NUM];
+   kal_int16   path_loss_LPM[UL1_LNA_MODE_NUM];
+   kal_int16   path_loss_TKM[UL1_LNA_MODE_NUM];
+#else
+   kal_int8   path_loss_H;
+   kal_int8   path_loss_M;
+   kal_int8   path_loss_L;
+   kal_int8   path_loss_LPM_offset;
+#endif
+}  U_sAGCGAINOFFSET;
+
+typedef  struct
+{
+   kal_int16         temper_offset[CAL_TEMP_SECTION];
+   U_sAGCGAINOFFSET  gain_of_uarfcn[CAL_UARFCN_SECTION];
+}  U_sTEMPAGCOFFSET;
+
+#else
+typedef  struct
+{
+   kal_uint16 max_uarfcn;
+#if IS_PATHLOSS_EXTENTION
+   kal_int16   path_loss_HPM[UL1_LNA_MODE_NUM];
+   kal_int16   path_loss_LPM[UL1_LNA_MODE_NUM];
+#else
+   kal_int8   path_loss_H;
+   kal_int8   path_loss_M;
+   kal_int8   path_loss_L;
+   kal_int8   path_loss_LPM_offset;
+#endif
+}  U_sAGCGAINOFFSET;
+
+typedef  struct
+{
+   kal_int8          temper_offset[CAL_TEMP_SECTION];
+   U_sAGCGAINOFFSET  gain_of_uarfcn[CAL_UARFCN_SECTION];
+}  U_sTEMPAGCOFFSET;
+#endif
+
+typedef  struct
+{
+   kal_uint16 level_0;
+   kal_uint16 level_1;
+} U_sDC2DC;
+
+typedef  struct
+{
+   kal_uint16 start;
+   kal_uint16 end;
+} U_sHYSTERESISDATA;
+
+typedef  struct
+{
+   kal_uint16 max_uarfcn;
+   kal_int16  pwr_offset_dB; /* unit: 1/32 dB, range: -8 ~ +7 dB */
+   kal_int16  pwr_offset_txdac;
+}  U_sARFCN_SECTION;
+
+#if IS_3G_FDD_RX_PATH_SELECTION_SUPPORT
+typedef enum
+{
+   ANT_RX_MAIN_ONLY   = 0,
+   ANT_RX_RXD_ONLY    = 1,
+   ANT_RX_BOTH        = 2,
+   ANT_RESUME_DEFAULT = 3
+}ANT_SEL_TYPE;
+
+typedef struct
+{
+   kal_bool       rx_path_selection_enable;
+   ANT_SEL_TYPE   rx_path_type;
+} U_sRxPathSelection;
+#endif
+
+typedef  struct
+{
+   kal_uint8  pwr_dt_thr;
+   kal_uint8  pwr_dt_section;
+   kal_uint16 pwr_dt_dac[ CAL_PWR_DETECTOR_SECTION ];
+   kal_int16  pwr_dt_value[ CAL_PWR_DETECTOR_SECTION ]; //bit0~4 is used for fractions
+   U_sARFCN_SECTION  pwr_dt_comp_by_subband[ CAL_UARFCN_SECTION ];
+   kal_int16  pwr_dt_comp_by_temperature[8][2];  //[0]:slope, [1]:offset
+}  U_sPWTDTDATA;
+
+typedef  struct
+{
+   kal_uint16 dc2dc_level;
+   kal_uint16 vbias_dac;
+   kal_uint8  vm1;
+   kal_uint8  vm2;
+}  U_sPADATA;
+
+typedef  struct
+{
+   U_sPADATA   pa_data;
+   kal_uint16  vga_dac[NUMBER_OF_VGA_DAC];
+   U_sARFCN_SECTION  vga_comp_by_subband[ CAL_UARFCN_SECTION ];
+   kal_int16  vga_comp_by_temperature[8][2];  //[0]:slope, [1]:offset
+} U_sTXPOWERDATA;
+
+typedef struct
+{
+   kal_int16  vga_comp_by_temperature[8][2];  //[0]:slope, [1]:offset
+} U_sRACHCOMP;
+
+
+typedef struct
+{
+   U_sRACHCOMP  power_dac[3];
+} U_sPARACHTMCOMPDATA;
+
+
+typedef struct
+{
+   kal_uint16 initDac;
+   kal_int32 slope;
+} U_sAFCDACDATA;
+
+typedef struct
+{
+   kal_int32 cap_id;
+} U_sAFCCAPDATA;
+
+
+typedef  struct
+{
+   U_sDC2DC pa_dc2dc;
+   U_sTXPOWERDATA  power_dac[3];  //0:PA high mode, 1:PA mid mode, 2:PA low mode (use 0&1 if only 2 mode)
+   U_sHYSTERESISDATA tx_hysteresis[2];
+   U_sPWTDTDATA    pwr_dt_data;
+} U_sRAMPDATA;
+
+typedef  struct
+{
+   kal_uint8  pa_mode;   //  2 bits
+   kal_int8   prf;       //  8 bits
+   kal_uint8  dc2dc_lvl; //  5 bits // MT6589, MT6582: 6 bits
+   kal_uint8  vm1;       //  1 bit
+   kal_uint8  vm2;       //  1 bit
+   kal_uint16 vbias_dac; // 10 bits
+   kal_uint16 pa_gain;   //  9 bits
+} U_sPMULEVHANDLE;
+
+typedef  struct
+{
+   /* octlev_num_section accounts for recording the number of sections that defined by user
+    * To keep the design simple, we only allow user to use consecutive regions
+    *
+    * The two control parameters pa_phase_compensation[] and pmu_level_handle[] belong to BB TX HW
+    * funtionality and all relates to PA, though PA phase compensation only has three modes
+    * PD coupler loss by PA modes stored in power_dac[]->vga_dac[9]
+    */
+   kal_uint8         octlev_num_section;
+   kal_uint8         reserved_byte; // Use ARM compiler padding byte to store power backoff value configured by META user in Factory Mode calibration
+   kal_uint32        pa_phase_compensation[3]; // 0: PA high mode, 1: PA mid mode
+   U_sPMULEVHANDLE   pmu_level_handle[8];
+   kal_uint16        pa_gain_g12a;
+   kal_uint16        pa_gain_g12b;
+} U_sPAOCTLVLSETTING;
+
+typedef struct
+{
+  kal_uint8  lut[UL1_DPD_MAX_AM_LUT_GAIN_NUM][MMDPD_MAX_AM_LUT_PWR_NUM];
+
+} U_sDPD_AMLUT_SUBBAND;
+
+typedef struct
+{
+  MMDPD_AMLUT_SUBBAND_T  am_lut_subband[CAL_UARFCN_SECTION];
+
+} U_sDPD_AMLUT_PERBAND;
+
+typedef struct
+{
+  kal_int8  lut[UL1_DPD_MAX_PM_LUT_GAIN_NUM][MMDPD_MAX_PM_LUT_PWR_NUM];
+
+} U_sDPD_PMLUT_SUBBAND;
+
+typedef struct
+{
+  MMDPD_PMLUT_SUBBAND_T  pm_lut_subband[CAL_UARFCN_SECTION];
+
+} U_sDPD_PMLUT_PERBAND;
+
+typedef struct
+{
+   /*DPD Normal Mode enable Flag*/
+   DPD_ENABLE_E dpd_normal_enable;
+   /* The delta term add to pa_idx_th, value from custom file */
+   kal_int16 d_tar_th_dpd;
+
+} U_sDPD_COMMON_CTRL;
+
+typedef struct
+{
+   kal_uint32        reserved0;
+}U_PCFE_CUSTOM_PARA_T;
+
+typedef struct
+{
+   kal_int16        dpd_apt_temperature_th_by_rfic[2]; // for 2 RFIC
+}U_DPD_OTFC_CUSTOM_PARA_T;
+
+typedef struct
+{
+    U_DPD_OTFC_CUSTOM_PARA_T     dpd_otfc_custom;
+    U_PCFE_CUSTOM_PARA_T         pcfe_custom;
+
+   /* PCFE power threshold form DPD mode to linear mode*/
+   kal_int16 pcfe_mode_th_d2l;
+
+   /* PCFE power threshold form linear mode to DPD mode*/
+   kal_int16 pcfe_mode_th_l2d;
+
+}U_UL1D_PCFE_DPD_OTFC_CUSTOM_PARA_T;
+
+#if IS_URF_TRINITYE1||IS_URF_TRINITY_2L
+#if IS_URF_TRINITY_2L
+typedef enum
+{
+   STX_PATH_0 = 0,//TX0
+   STX_PATH_COUNT,
+}  STX_SEL_T;
+#else
+typedef enum
+{
+#if IS_URF_TRINITY_L
+   STX_PATH_0 = 0,//TX0
+#endif
+   STX_PATH_1 = 1,//TX1 
+   STX_PATH_2,    //TX2
+   STX_PATH_COUNT,
+}  STX_SEL_T;
+#endif
+typedef struct
+{
+   UMTSBand                band;
+   STX_SEL_T               stx_path_idx;
+} UMTS_RF_STX_PATH_TABLE_T;
+
+#endif
+
+typedef enum
+{
+   ET_SW_MODE=0,
+   DPD_SW_MODE=1,
+   APT_SW_MODE=2,
+   PCFE_OP_MODE_CNT
+} SW_MODE_E;
+
+typedef struct
+{
+   kal_bool         op_mode_force_en;
+   SW_MODE_E        op_mode_force_mode;
+}U_PCFE_NONCUSTOM_PARA_T;
+
+typedef struct
+{
+   kal_bool         en_dpd_am_track;
+   kal_bool         en_dpd_pm_track;
+   kal_bool         en_force_dpd_default_lut;
+   kal_bool         en_dpd_coarse_tde;
+   kal_bool         en_dpd_fine_tde;
+}U_DPD_OTFC_NONCUSTOM_PARA_T;
+
+typedef struct
+{
+   U_DPD_OTFC_NONCUSTOM_PARA_T     dpd_otfc;
+   U_PCFE_NONCUSTOM_PARA_T         pcfe;
+}U_Ul1D_PCFE_DPD_OTFC_NONCUSTOM_PARA_T;
+
+typedef struct
+{
+   /* This flag will be set to TRUE if DPD PA and DPD factory cal done */
+   kal_bool  dpd_cal_done;
+
+   /* PA index selction threshold */
+   kal_int16 pa_idx_th[CAL_UARFCN_SECTION][UL1_DPD_MAX_PA_LEVEL_NUM];
+
+   /* From DPD FXP, for gain norm calculation */
+   kal_int16 f_db[CAL_UARFCN_SECTION][UL1_DPD_MAX_PA_LEVEL_NUM];
+
+   /* This value comes from DPD lab calibration */
+   kal_int16 dpd_tr[CAL_UARFCN_SECTION];
+
+   /* The temperature during DPD factory calibration */
+   kal_int8  tempe_fc[CAL_UARFCN_SECTION];
+
+} U_sDPD_COMMON_CAL;
+
+typedef struct
+{
+   U_sRAMPDATA          wcdma_dpd_ramp_data;
+   U_sPAOCTLVLSETTING   wcdma_dpd_pa_oct_lev_tbl;
+   U_sDPD_COMMON_CAL    wcdma_dpd_common_cal;
+   U_sDPD_AMLUT_PERBAND wcdma_dpd_am_lut_perband;
+   U_sDPD_PMLUT_PERBAND wcdma_dpd_pm_lut_perband;
+
+} U_sDPD_GROUP_CAL;
+
+typedef struct
+{
+   U_sDPD_COMMON_CTRL   wcdma_dpd_common_ctrl;
+   U_sDPD_GROUP_CAL     wcdma_dpd_group_cal;
+
+} U_sDPD_GROUP_ALL;
+
+typedef struct
+{
+   U_sRAMPDATA          *p_wcdma_dpd_ramp_data;
+   U_sPAOCTLVLSETTING   *p_wcdma_dpd_pa_oct_lev_tbl;
+   U_sDPD_COMMON_CTRL   *p_wcdma_dpd_common_ctrl;
+   U_sDPD_COMMON_CAL    *p_wcdma_dpd_common_cal;
+   U_sDPD_AMLUT_PERBAND *p_wcdma_dpd_am_lut_perband;
+   U_sDPD_PMLUT_PERBAND *p_wcdma_dpd_pm_lut_perband;
+
+} U_sDPD_GROUP_ADDR;
+
+// Start for ADAPT IOT AMR workaround
+typedef struct
+{
+   kal_bool ADAPT_Customized;
+   kal_bool reserved1;
+   kal_bool reserved2;
+   kal_bool reserved3;
+} U_sUl1IotCustomSupportStruct;
+// End for ADAPT IOT AMR workaround
+
+#if IS_HSPA_HWTPC
+   #ifdef __HSDPA_SUPPORT__
+typedef struct
+{
+   kal_uint8  pseudo_hscch[5];
+   kal_uint8  pseudo_hdsch[5];
+   kal_uint16 beta_hs_p[15];
+   kal_uint16 beta_hs_q[15];
+} META_HWTPC_HSDPA_FRAME_INFO;
+   #endif
+
+   #ifdef __HSUPA_SUPPORT__
+typedef struct
+{
+   kal_uint8  edch_enable[5];
+   kal_uint8  is_new_tx[5];
+   kal_uint8  etfci[5];
+   kal_uint8  beta_ed_num[5];
+   kal_uint16 beta_ed0_sf[5];
+   kal_uint16 beta_ed1_sf[5];
+   kal_uint16 beta_ed2_sf[5];
+   kal_uint16 beta_ed3_sf[5];
+   kal_uint16 beta_ec[5];
+   kal_uint16 beta_ed_x_beta_c_0[5];
+   kal_uint16 beta_ed_x_beta_c_1[5];
+   kal_uint16 beta_ed_x_beta_c_2[5];
+   kal_uint16 beta_ed_x_beta_c_3[5];
+   kal_uint8  delta_harq[5];
+} META_HWTPC_HSUPA_FRAME_INFO;
+   #endif
+#endif // #if IS_HSPA_HWTPC
+
+typedef struct
+{
+   /*input*/
+   kal_uint8 tpc_step;
+   kal_uint8 itp;
+   kal_uint8 rpp;
+   kal_uint8 fmt_idx;
+   kal_uint8 dl_frame_type;
+   kal_uint16 slot_mask;
+   kal_int8   tpc_cmd[15];
+   kal_uint8  beta_c;
+   kal_uint8  beta_d;
+#if IS_HSPA_HWTPC
+   // Above is R99 original used
+   kal_uint32 normcon;
+   kal_int16  net_maxpow;
+   kal_int16  net_minpow;
+
+   #ifdef __HSDPA_SUPPORT__
+   META_HWTPC_HSDPA_FRAME_INFO hsdpa;
+   #endif
+   #ifdef __HSUPA_SUPPORT__
+   META_HWTPC_HSUPA_FRAME_INFO hsupa;
+   #endif
+#endif // #if IS_HSPA_HWTPC
+}  META_HWTPC_FRAME_INFO;
+
+typedef  struct
+{
+   kal_int16 pa_drift_comp_w_table[6][2];
+   kal_int16 pa_drift_comp_h_table[6][4];
+} U_sPADRIFTSETTING;
+
+typedef enum
+{
+   MPRSetting0 = 0,
+   MPRSetting1 = 1,
+   MPRSetting2 = 2,
+   MPRSetting3 = 3,
+   MPRSetting4 = 4,
+   MPRSettingCount
+}  MPR_Setting;
+
+
+#if IS_3G_MPR_EXTEND_SUPPORT
+typedef enum
+{
+   MPRSetting_SUB_0 = 0,
+   MPRSetting_SUB_1 = 1,
+   MPRSetting_SUB_2 = 2,
+   MPRSetting_SUB_3 = 3,
+   MPRSetting_SUB_4 = 4,
+   MPRSetting_SUB_5 = 5,
+   MPRSetting_SUB_6 = 6,
+   MPRSetting_SUB_7 = 7,
+   MPRSetting_SUB_8 = 8,
+   MPRSetting_SUB_Count
+}  MPR_Setting_SUB;
+#endif
+
+typedef enum
+{
+   UL1D_DATABASE_RXIO     = 0,
+   UL1D_DATABASE_TXIO     = 1,
+   UL1D_DATABASE_RX_PDATA = 2,
+   UL1D_DATABASE_TX_PDATA = 3,
+   UL1D_DATABASE_CONUT,
+   UL1D_DATABASE_INVALID = 0xFFFE,
+} UL1D_DATABASE_TYPE_E;
+
+/* CA Band definition */
+typedef enum
+{
+   UMTS_CA_BANDNONE =  M_UMTS_CA_BAND(UMTSBandNone, UMTSBandNone),
+   UMTS_CA_B1_B5    =  M_UMTS_CA_BAND(UMTSBand1, UMTSBand5),
+   UMTS_CA_B1_B8    =  M_UMTS_CA_BAND(UMTSBand1, UMTSBand8),
+   UMTS_CA_B1_B11   =  M_UMTS_CA_BAND(UMTSBand1, UMTSBand11),
+   UMTS_CA_B2_B4    =  M_UMTS_CA_BAND(UMTSBand2, UMTSBand4),
+   UMTS_CA_B2_B5    =  M_UMTS_CA_BAND(UMTSBand2, UMTSBand5),
+   /* Switch PCC and SCC*/
+   UMTS_CA_B5_B1    =  M_UMTS_CA_BAND(UMTSBand5, UMTSBand1),
+   UMTS_CA_B8_B1    =  M_UMTS_CA_BAND(UMTSBand8, UMTSBand1),
+   UMTS_CA_B11_B1   =  M_UMTS_CA_BAND(UMTSBand11, UMTSBand1),
+   UMTS_CA_B4_B2    =  M_UMTS_CA_BAND(UMTSBand4, UMTSBand2),
+   UMTS_CA_B5_B2    =  M_UMTS_CA_BAND(UMTSBand5, UMTSBand2),
+}UMTSCaBand;
+
+typedef enum
+{
+   UMTS_Route0    = 0,
+   UMTS_Route1    = 1,
+   UMTS_Route2    = 2,
+   UMTS_Route3    = 3,
+   UMTS_Route4    = 4,
+   UMTS_Route5    = 5,
+   UMTS_Route6    = 6,
+   UMTS_Route7    = 7,
+   UMTS_Route8    = 8,
+   UMTS_Route9    = 9,
+   UMTS_Route10   = 10,
+   UMTS_Route11   = 11,
+   UMTS_Route12   = 12,
+   UMTS_Route13   = 13,
+   UMTS_Route14   = 14,
+   UMTS_Route15   = 15,
+   UMTS_Route16   = 16,
+   UMTS_Route17   = 17,
+   UMTS_Route18   = 18,
+   UMTS_Route19   = 19,
+   UMTS_Route20   = 20,
+   UMTS_Route21   = 21,
+   UMTS_Route22   = 22,
+   UMTS_Route23   = 23,
+   UMTS_Route24   = 24,
+   UMTS_Routecount,
+   UMTS_RouteMax  = 0xFF,
+}  UMTS_Route;
+
+typedef struct
+{
+   kal_uint32 single_band_ca_list;
+   kal_uint32 dual_band_ca_list;
+} CA_RF_BAND_CAPABILITY_T;
+
+#if IS_3G_RX_POWER_OFFSET_SUPPORT
+typedef struct
+{
+   kal_bool RPO_enable;
+   kal_bool RPO_meta_enable;
+}U_sUl1dMetaRxPowerOffsetSetting;
+
+typedef struct
+{
+   kal_uint16 max_uarfcn;
+   kal_int16  pwr_offset_dB[2]; /*index0:Main, index1:Div*/
+} U_sSUBBAND_SECTION_RPO;
+
+typedef struct
+{
+   U_sSUBBAND_SECTION_RPO   subband_power_offset[CAL_UARFCN_SECTION];
+} U_sRXPOWEROFFSETDATA;
+#endif
+
+
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+/* from mml1_rf_public.h
+#define VPA_SOURCE_NOT_SUPPORTED    0
+#define VPA_SOURCE_HW_VAPC          1
+#define VPA_SOURCE_HW_PMIC          2  //PMIC VPA1
+#define VPA_SOURCE_HW_ETM_SW_APT    3
+#define VPA_SOURCE_HW_ETM_SW_ET     4
+#define VPA_SOURCE_HW_PMIC2         5  //PMIC VPA2
+#define VPA_SOURCE_HW_V_BATTERY     6
+#define VPA_SOURCE_HW_EXT_VPA       7  // external VPA
+#define VPA_SOURCE_HW_PMIC1_ETM0    8
+*/
+
+typedef enum
+{
+    UMTS_VPA_SOURCE_INVALID        = VPA_SOURCE_NOT_SUPPORTED,
+    UMTS_VPA_SOURCE_HW_VAPC        = VPA_SOURCE_HW_VAPC,
+    UMTS_VPA_SOURCE_HW_PMIC        = VPA_SOURCE_HW_PMIC,
+    UMTS_VPA_SOURCE_HW_ETM_0       = VPA_SOURCE_HW_ETM_0,
+    UMTS_VPA_SOURCE_HW_ETM_1       = VPA_SOURCE_HW_ETM_1,
+    UMTS_VPA_SOURCE_HW_PMIC2       = VPA_SOURCE_HW_PMIC2,
+    UMTS_VPA_SOURCE_HW_VBAT        = VPA_SOURCE_HW_V_BATTERY,
+#if IS_3G_HPUE_SUPPORT
+    UMTS_VPA_SOURCE_HW_EXT_VPA     = VPA_SOURCE_HW_EXT_VPA,
+#endif
+    UMTS_VPA_SOURCE_HW_PMIC1_ETM_0 = VPA_SOURCE_HW_PMIC1_ETM_0
+}
+UMTS_VPA_SOURCE_TYPE;
+
+typedef struct
+{
+   UMTS_VPA_SOURCE_TYPE vpaSel;
+}
+ul1vpa_sel_T;
+
+#endif/*IS_3G_VPA_SEL_BY_BAND_SUPPORT*/
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+#define RFEQ_SUBBAND_NUM   15
+#define RFEQ_ANT_NUM       2
+#define RFEQ_MAX_TAP_NUM   7
+
+typedef struct
+{
+   kal_uint16  max_uarfcn;
+   kal_bool    rfeq_enable[RFEQ_ANT_NUM];
+   kal_bool    rfeq_enable_sec_carrier[RFEQ_ANT_NUM];
+   kal_int16   rfeq_coef_real[RFEQ_ANT_NUM][RFEQ_MAX_TAP_NUM];
+   kal_int16   rfeq_coef_imag[RFEQ_ANT_NUM][RFEQ_MAX_TAP_NUM];
+} hs_dsch_rfeq_info_T;
+
+typedef struct
+{
+   hs_dsch_rfeq_info_T rfeq_coef_subband[RFEQ_SUBBAND_NUM];   //16 subband
+} hs_dsch_rfeq_info_band_T;
+#endif
+
+#if IS_3G_RFEQ_REAL_COEF_TEST
+#define REAL_RFEQ_SUBBAND_NUM   15
+#define REAL_RFEQ_ANT_NUM       2
+#define REAL_RFEQ_MAX_TAP_NUM   14
+
+#define COMPLEX_RFEQ_SUBBAND_NUM   15
+#define COMPLEX_RFEQ_ANT_NUM       2
+#define COMPLEX_RFEQ_MAX_TAP_NUM   7
+
+typedef struct
+{
+   kal_uint32  max_center_freq_100khz;   /*100kHz, same to mipi setting*/ 
+   kal_bool    real_rfeq_custom_enable[REAL_RFEQ_ANT_NUM];
+   kal_uint32  filter_taps[REAL_RFEQ_ANT_NUM][REAL_RFEQ_MAX_TAP_NUM];
+} URXDFE_REAL_RFEQ_CUSTOM_T;
+
+typedef struct
+{
+   kal_uint32  max_center_freq_100khz;   /*100kHz, same to mipi setting*/ 
+   kal_bool    complex_rfeq_custom_enable[COMPLEX_RFEQ_ANT_NUM];
+   kal_uint32  complex_coef_i[COMPLEX_RFEQ_ANT_NUM][COMPLEX_RFEQ_MAX_TAP_NUM];
+   kal_uint32  complex_coef_q[COMPLEX_RFEQ_ANT_NUM][COMPLEX_RFEQ_MAX_TAP_NUM];
+} URXDFE_COMPLEX_RFEQ_CUSTOM_T;
+
+typedef struct
+{
+   URXDFE_REAL_RFEQ_CUSTOM_T    real_rfeq_band[REAL_RFEQ_SUBBAND_NUM];
+   URXDFE_COMPLEX_RFEQ_CUSTOM_T complex_rfeq_band[COMPLEX_RFEQ_SUBBAND_NUM];
+} URXDFE_REAL_RFEQ_CUSTOM_BAND_T;
+#endif
+
+/*******************************************************************************
+** RF Customization usage
+*******************************************************************************/
+
+/*******************************************************************************
+** Macros and constants
+*******************************************************************************/
+#if defined(__UMTS_R8__)
+   //For R8 project use internal definition.
+#else
+#define CAL_RX_ACT_DLY                5 //CAL_RX_ACT_DLY*64 samples = CAL_RX_ACT_DLY*38 chips
+#define CAL_RX_DC_LEN                 4 //0~7, 1<<(4+CAL_RX_DC_LEN) samples = (1<<(4+CAL_RX_DC_LEN))*0.6 chips
+#define CAL_RX_DC_STL_TIME            30 //CAL_RX_DC_STL_TIME asmples = CAL_RX_DC_STL_TIME/2 chips
+#define CAL_RX_IQ_LEN                 7 //0~8, 1<<(4+CAL_RX_IQ_LEN) samples = 1<<(3+CAL_RX_IQ_LEN) chips
+
+//Sample to Chip = Samples * (3.84MHz/6.5MHz=0.59077)
+#define CAL_RX_IDLE_IN_CHIP           1      //chips
+#define CAL_RX_ACT_DLY_IN_CHIP        190    //CAL_RX_ACT_DLY*(64)*0.59077 chips
+#define CAL_RX_DC_LEN_IN_CHIP         152    //(1<<(4+CAL_RX_DC_LEN))*0.59077 chips
+#define CAL_RX_DC_STL_TIME_IN_CHIP    18     //CAL_RX_DC_STL_TIME*0.59077 chips
+#define CAL_RX_IQ_LEN_IN_CHIP         1210   //(1<<(4+CAL_RX_IQ_LEN))*0.59077 chips
+
+#define RXCAL_TTG_DIS_GUARD_TIME      30 //Chips ~=7.8us
+#define RXCAL_MODE_CHANGE_GUARD_TIME  20 //Chips ~=5.2us
+#define RXCAL_TOTAL_TIME              (CAL_RX_IDLE_IN_CHIP + CAL_RX_ACT_DLY_IN_CHIP + CAL_RX_DC_LEN_IN_CHIP + CAL_RX_DC_STL_TIME_IN_CHIP + CAL_RX_IQ_LEN_IN_CHIP + RXCAL_TTG_DIS_GUARD_TIME)
+#define RXCAL_EVENT_SHIFT_TIME0       (RXCAL_TOTAL_TIME+RXCAL_MODE_CHANGE_GUARD_TIME+RXCAL_TOTAL_TIME+TC_SR2B)
+#define RXCAL_EVENT_SHIFT_TIME1       (RXCAL_TOTAL_TIME+TC_SR2B)
+
+#define RXCAL_EVENT_SHIFT_TIME       (RXCAL_TOTAL_TIME+RXCAL_MODE_CHANGE_GUARD_TIME+RXCAL_TOTAL_TIME+TC_SR2B)
+#endif //__UMTS_R8__
+
+#if 1//MT6293 format update
+#define  U_PWRRES                   32 // resolution 1/32, 0.03125 dB
+#define  U_GAINLOSS( n )           ((kal_int16)((n)*U_PWRRES))
+#else
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#define  UMTS_TABLE_END             0 // Use this value ater the end of UARFCN weight
+#define  MICROSECOND_TO_CHIP(x)    ((kal_int32)((x)*3.84))
+#define  CHIP_TO_UCNT(x)           ((kal_int32)((x)*81.25))
+
+#if !defined(UMTS_RF_TYPE)
+#define  UMTS_RF_TYPE  2
+#endif
+
+#if defined(__UMTS_R8__)
+#define UMTS_RF_MAX_PA_SECTIONS                (3)
+#define UMTS_RF_RX_START_TIMING_ARRAY_LENGTH   (6)
+#define UMTS_RF_RX_END_TIMING_ARRAY_LENGTH     (3)
+#define UMTS_RF_TX_START_TIMING_ARRAY_LENGTH   (7)
+#define UMTS_RF_TX_END_TIMING_ARRAY_LENGTH     (3)
+#define UMTS_RF_BPI_DATA_TABLE_NUM_OF_BANDS   (11)
+#define UMTS_RF_BPI_DATA_TABLE_NUM_OF_WINDOWS  (2)
+#define UMTS_RF_BPI_DATA_TABLE_NUM_OF_EVENTS   (5)
+#define UMTS_RF_BPI_DATA2_TABLE_NUM_OF_EVENTS  (5)
+#else
+#define UMTS_RF_MAX_PA_SECTIONS                (3)
+#define UMTS_RF_RX_START_TIMING_ARRAY_LENGTH   (6)
+#define UMTS_RF_RX_END_TIMING_ARRAY_LENGTH     (3)
+#define UMTS_RF_TX_START_TIMING_ARRAY_LENGTH   (8)
+#define UMTS_RF_TX_END_TIMING_ARRAY_LENGTH     (5)
+#define UMTS_RF_BPI_DATA_TABLE_NUM_OF_BANDS   (11)
+#define UMTS_RF_BPI_DATA_TABLE_NUM_OF_WINDOWS  (2)
+#define UMTS_RF_BPI_DATA_TABLE_NUM_OF_EVENTS   (5)
+#endif
+
+/*******************************************************************************
+** Typedefs
+*******************************************************************************/
+typedef struct
+{
+   kal_uint16 maxOffset;
+   kal_uint16 vmOffset;
+   kal_uint16 vbiasOffset;
+   kal_uint16 dc2dcOffset;
+   kal_uint16 vgaOffset;
+}U_sUl1dRfPaControlTiming;
+
+typedef struct
+{
+   /* RX window start timing */
+   kal_int16 xTC_PR1;
+   kal_int16 xTC_PR2;
+   kal_int16 xTC_PR2B;
+
+   /* RX window end timing */
+   kal_int16 xTC_PR3;
+   kal_int16 xTC_PR3A;
+
+   /* TX window start timing */
+   kal_int16 xTC_PT1;
+   kal_int16 xTC_PT2;
+   kal_int16 xTC_PT2B;
+
+   /* TX window end timing */
+   kal_int16 xTC_PT3;
+   kal_int16 xTC_PT3A;
+}U_sUl1dRfBsiBpiTiming;
+
+typedef struct
+{
+   UL1_RF_RX_IO_E  rxio;
+   UL1_RF_RXD_IO_E rxdio;
+}UMTS_RX_IODATA_T;
+
+typedef struct
+{
+   BPI_data_type pr1;
+   BPI_data_type pr2;
+   BPI_data_type pr2b;
+   BPI_data_type pr3;
+   BPI_data_type pr3a;
+}UMTS_RX_PDATA_T;
+
+typedef struct
+{
+   UL1_RF_TX_IO_E txio;
+   UL1_RF_TX_DET_IO_E txdetio;
+}UMTS_TX_IODATA_T;
+
+typedef struct
+{
+   BPI_data_type pt1;
+   BPI_data_type pt2;
+   BPI_data_type pt2b;
+   BPI_data_type pt3;
+   BPI_data_type pt3a;
+}UMTS_TX_PDATA_T;
+
+typedef struct
+{
+   UMTSBand bandIdx;
+   UMTS_RX_PDATA_T rxPdata;
+   #if IS_3G_RXD_FE_CONTROL_SUPPORT
+   UMTS_RX_PDATA_T rxPdata2;
+   #endif
+}UMTS_RX_PDATABASE_T;
+
+typedef struct
+{
+   UMTSBand bandIdx;
+   UMTS_TX_PDATA_T txPdata;
+}UMTS_TX_PDATABASE_T;
+
+typedef struct
+{
+   UMTSBand bandIdx;
+   UMTS_RX_IODATA_T rxIodata;
+}UMTS_RXIOBASE_T;
+
+typedef struct
+{
+   UMTSBand bandIdx;
+   UMTS_TX_IODATA_T txIodata;
+}UMTS_TXIOBASE_T;
+
+typedef struct
+{
+   UMTS_RX_PDATABASE_T rxBpi[UMTS_FE_RXBASE_TBL_SIZE_MAX];
+   UMTS_TX_PDATABASE_T txBpi[UMTS_FE_TXBASE_TBL_SIZE_MAX];
+}U_sUl1dRfBpiData;
+
+#if IS_3G_GEN97_TAS_SUPPORT || IS_3G_GEN97_DAT_SUPPORT
+typedef struct
+{
+   MMRFD_ANT_FE_SWITCH_DATA_T        ant_switch_setting;
+   MMRFD_ANT_FE_TUNER_DATA_T         ant_tuner_setting;
+}UMTS_RF_ANT_FE_SETTING_T;
+
+typedef struct
+{
+   MMRFD_ANT_HW_SETTING_VALID_T      *ant_config_valid[MMRFD_ANT_DIE_NUM];
+   MMRFD_CUSTOM_ANT_BPI_SETTING_T    *ant_bpi_setting[MMRFD_ANT_DIE_NUM];
+   MMRFD_ANT_FE_MIPI_CONFIG_TBL_T    **ant_mipi_config;
+   kal_int32                         utime;
+}UMTS_RF_ANT_NODE_CALC_INPUT_T;
+#endif
+
+typedef enum
+{
+   UL1_ANTENNA_0,     /* Main antenna */
+   UL1_ANTENNA_1,     /* Diversity antenna */
+   UL1_ANTENNA_2,     /* Auxiliary antenna */
+   #if IS_3G_UTAS_SUPPORT
+   UL1_ANTENNA_3,
+   UL1_ANTENNA_4,
+   UL1_ANTENNA_5,
+   UL1_ANTENNA_6,
+   UL1_ANTENNA_7,
+   UL1_ANTENNA_8,
+   UL1_ANTENNA_9,
+   UL1_ANTENNA_10,
+   UL1_ANTENNA_11,
+   #endif
+   UL1_ANTENNA_NUM
+}
+ul1_antenna_idx_E;
+
+#if IS_3G_TAS_SUPPORT
+typedef struct
+{
+   /* Band 1 TAS BPI data */
+   BPI_data_type xPDATA_BAND1_TAS1;
+   BPI_data_type xPDATA_BAND1_TAS2;
+   BPI_data_type xPDATA_BAND1_TAS3;
+
+   /* Band 2 TAS BPI data */
+   BPI_data_type xPDATA_BAND2_TAS1;
+   BPI_data_type xPDATA_BAND2_TAS2;
+   BPI_data_type xPDATA_BAND2_TAS3;
+
+   /* Band 3 TAS BPI data */
+   BPI_data_type xPDATA_BAND3_TAS1;
+   BPI_data_type xPDATA_BAND3_TAS2;
+   BPI_data_type xPDATA_BAND3_TAS3;
+
+   /* Band 4 TAS BPI data */
+   BPI_data_type xPDATA_BAND4_TAS1;
+   BPI_data_type xPDATA_BAND4_TAS2;
+   BPI_data_type xPDATA_BAND4_TAS3;
+
+   /* Band 5 TAS BPI data */
+   BPI_data_type xPDATA_BAND5_TAS1;
+   BPI_data_type xPDATA_BAND5_TAS2;
+   BPI_data_type xPDATA_BAND5_TAS3;
+
+   /* Band 6 TAS BPI data */
+   BPI_data_type xPDATA_BAND6_TAS1;
+   BPI_data_type xPDATA_BAND6_TAS2;
+   BPI_data_type xPDATA_BAND6_TAS3;
+
+   /* Band 7 TAS BPI data */
+   BPI_data_type xPDATA_BAND7_TAS1;
+   BPI_data_type xPDATA_BAND7_TAS2;
+   BPI_data_type xPDATA_BAND7_TAS3;
+
+   /* Band 8 TAS BPI data */
+   BPI_data_type xPDATA_BAND8_TAS1;
+   BPI_data_type xPDATA_BAND8_TAS2;
+   BPI_data_type xPDATA_BAND8_TAS3;
+
+   /* Band 9 TAS BPI data */
+   BPI_data_type xPDATA_BAND9_TAS1;
+   BPI_data_type xPDATA_BAND9_TAS2;
+   BPI_data_type xPDATA_BAND9_TAS3;
+
+   /* Band 10 TAS BPI data */
+   BPI_data_type xPDATA_BAND10_TAS1;
+   BPI_data_type xPDATA_BAND10_TAS2;
+   BPI_data_type xPDATA_BAND10_TAS3;
+
+   /* Band 11 TAS BPI data */
+   BPI_data_type xPDATA_BAND11_TAS1;
+   BPI_data_type xPDATA_BAND11_TAS2;
+   BPI_data_type xPDATA_BAND11_TAS3;
+
+   /* Band 19 TAS BPI data */
+   BPI_data_type xPDATA_BAND19_TAS1;
+   BPI_data_type xPDATA_BAND19_TAS2;
+   BPI_data_type xPDATA_BAND19_TAS3;
+}U_sUl1dRfTasBpiData;
+
+typedef struct
+{
+   BPI_data_type       umtsTasMask;
+   U_sUl1dRfTasBpiData umtsTasPdata;
+}U_sUl1dRfTasData;
+
+typedef enum
+{
+   TAS_TYPE_0,    /* TAS Disable */
+   TAS_TYPE_1,    /* TAS with Rx Diversity support */
+   TAS_TYPE_2,    /* TAS WITHOUT Rx Diversity support */
+} ul1_tas_type_E;
+
+typedef enum
+{
+   BY_BAND_TAS_TYPE_0 = TAS_TYPE_0,/* TAS Disable */
+   BY_BAND_TAS_TYPE_1 = TAS_TYPE_1,/* TAS with Rx Diversity support */
+   BY_BAND_TAS_TYPE_2 = TAS_TYPE_2,/* TAS WITHOUT Rx Diversity support */
+   BY_BAND_TAS_TYPE_Default        /* Set TAS type as tas_default_type for each band */
+} ul1_tas_type_by_band_E;
+
+typedef struct
+{
+   kal_int16           rscp_diff_thd_po;           /* RSCP difference threshold */
+   kal_int16           rscp_diff_thd_cb;           /* Diversity to main RSCP difference threshold J2 (RSCP CB)  */
+   kal_int16           rscp_diff_thd_txp;          /* Diversity to main RSCP difference threshold J3 (TXP)  */
+   kal_int16           rscp_cb_thd;                /* RSCP drop threshold */
+   kal_int8            txp_cb_thd;                 /* Transmit power increase threshold during check-back */
+   kal_uint8           n_ms_cb;                    /* Check-back period for RSCP, TXP (in measurement slots, MS) */
+   kal_int8            u_htp;                      /* High transmit power offset */
+   kal_uint8           htp_thd;                    /* High transmit power ratio threshold (in percentage, %) */
+   kal_int8            tpc_inc_thd;                /* Transmit power increase threshold */
+   kal_uint8           n_ms_sb;                    /* Monitoring duration for switch-back check (in measurement slots, MS) */
+   kal_int16           rscp_inc_thd;               /* Increase received power threshold after CAS performed */
+   kal_int16           rscp_sda_thd;               /* The increased amount for RSCP check-back threshold duer to user sda */
+   kal_int8            txp_sda_thd;                /* The increased amount for TXP check-back threshold duer to user sda */
+   kal_int16           rscp_periodic_cb_thd;       /* RSCP threshold for counting the active timer under worse channel */
+} UMTS_TAS_Type1_Params_T;
+
+typedef struct
+{
+   //kal_uint16          t_thd1_j;                   /* Periodic check timer threshold (in frames) */
+   kal_int16           rscp_abs_thd_cb;            /* RSCP abs cb threshold */
+   kal_int16           rscp_abs_thd_txp;           /* RSCP abs txp threshold */
+   kal_int16           rscp_cb_thd;                /* RSCP drop threshold */
+   kal_int8            txp_cb_thd;                 /* Transmit power increase threshold during check-back */
+   kal_uint8           n_ms_cb;                    /* Check-back period for RSCP, TXP (in measurement slots, MS) */
+   kal_int8            u_htp;                      /* High transmit power offset */
+   kal_uint8           htp_thd;                    /* High transmit power ratio threshold (in percentage, %) */
+   kal_int16           rscp_inc_thd;               /* RSCP inc  threshold for dedicated mode */
+   kal_int8            tpc_inc_thd;                /* Transmit power increase threshold */
+   kal_uint8           n_ms_sb;                    /* Monitoring duration for switch-back check (in measurement slots, MS) */
+   kal_int16           rscp_thd_idle;              /* RSCP threshold for IDLE mode */
+   kal_int16           rscp_inc_thd_idle;          /* RSCP inc  threshold for IDLE mode */
+   kal_int16           ecno_thd;                   /* EcNo threshold */
+} UMTS_TAS_Type2_Params_T;
+
+typedef struct {
+   ul1_tas_type_by_band_E      xBand1_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand2_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand3_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand4_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand5_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand6_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand8_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand9_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand10_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand11_TAS_TYPE;
+   ul1_tas_type_by_band_E      xBand19_TAS_TYPE;
+} UMTS_TAS_Type_By_Band_T;
+
+typedef struct
+{
+   kal_bool                   umts_tas_enable;
+   kal_bool                   umts_tas_support_on_test_sim;
+   ul1_antenna_idx_E          umts_tas_default_main_antenna;
+   ul1_tas_type_E             umts_tas_default_type;
+   UMTS_TAS_Type_By_Band_T    umts_tas_type_by_band;
+#if IS_3G_FORCE_TX_ANT_SUPPORT
+   kal_bool                   umts_tas_force_tx_ant_enable;
+   ul1_antenna_idx_E          umts_tas_force_tx_ant_index;
+#endif/* IS_3G_FORCE_TX_ANT_SUPPORT */
+} UMTS_TAS_Configuration_T;
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+typedef struct
+{
+   kal_uint16 TASEna;
+   kal_uint16 TASWithTestSimEna;
+   kal_uint32 TASMask;  //0~31
+   kal_uint16 TASInitAnt;
+   kal_uint16 ForceAntEna;
+   kal_uint16 ForceAntIndex;
+   UMTSBand   TASBand[UMTS_RF_TAS_BAND_NUM];
+}UMTS_RF_TAS_BAND_IND_T;
+
+//TAS feature
+typedef struct
+{
+   kal_int16 ENB_SM;                  //  Enable of antenna-switch metric function
+   kal_int16 N_MS_j_hys;              //      MS,   Hysteresis duration control for leaving normal state
+   kal_int16 N_MS_SM_fadeout;         //      MS,   The timer duration for antenna-switching metric fadeout protection
+   kal_int16 PHI_bound;               //      dB,   Up/low bound for applying antenna-switching metric as threshold
+   kal_int16 PHI_01_default;          //      dB,   Antenna-switching metric default value from ant. 0 to ant. 1
+   kal_int16 PHI_10_default;          //      dB,   Antenna-switching metric default value from ant. 1 to ant. 0
+   kal_int16 ENB_DB;                  // Enable of dynamic barrier control function
+   kal_int16 DELTA_DB_fail_step_RSRP; //      dB,   The increased amount for RSRP barrier for a fail pre-switch
+   kal_int16 DELTA_DB_fail_step_TXP;  //      dB,   The increased amount for TX power barrier for a fail pre-switch
+   kal_int16 N_MS_DB_relax;           //      MS,   The timer duration to relax the dynamic barrier
+   kal_int16 DELTA_DB_TO_step;        //      dB,   RSRP/TXP: The decreased barrier when per timer is reached
+   kal_int16 DELTA_DB_bound_RSRP;     //      dB,   The upper bound of the extra-threshold Delta_RSRP_DB
+   kal_int16 DELTA_DB_bound_TXP;      //      dB,   The upper bound of the extra-threshold Delta_TXP_DB
+   //        Naming for customer,       Naming for MTK internal, Unit, Description
+   kal_int16 RSRP_diff_thd;           //RSRP_diff_thd_PO,        dB,   RSRP difference threshold to trigger TAS, defined as the RSRP value difference from diversity to main antennas
+   kal_int16 RSRP_diff_thd_TXP;
+   kal_int16 RSRP_diff_thd_CB;
+   kal_int16 RSRP_thd_connect_EN;     // RSRP_diff_thd_xxx are connected or not
+   kal_int16 RSRP_cb_drop_thd;        // RSRP_CB_thd,       dB,   RSRP drop threshold to trigger TAS when check back, defined as the RSRP value difference from current value to its previous one
+   kal_int16 TXP_cb_inc_thd;          // TXP_CB_thd,         dB,   Transmit power (TXP) increase threshold to trigger TAS when check back, defined as the TXP value difference from current value to its previous one
+   kal_int16 nMS_cb;                  // N_MS_CB,             MS,   The look/check back period (for RSRP and TXP change monitoring), using measurement slot (MS) as the unit
+   kal_int16 HTP_level;               // M_THP,                 dB,   The high transmit power (HTP) level, defined as the ratio (in dB) to UE's maximum transmit power
+   kal_int16 HTP_ratio_thd;           // HTP_thd,              %,    A HTP is recognized when the percentage using TXP (within a measurement slot) greater than HTP_level is higher than the ratio threshold
+   kal_int16 TXP_inc_thd_sb;          // TPC_inc_thd1,      dB,   TXP increase threshold when switch to the diversity antenna, for which exceeding the threshold would be recognized as a fail antenna switch
+   kal_int16 nMS_sb;                  // N_MS_SB,             MS,   The monitoring duration for switch-back check, using measurement slot (MS) as the unit
+
+}UMTS_RF_TAS_OTHER;
+
+typedef struct
+{
+   UMTS_RF_TAS_BAND_IND_T TASBandInd;
+   kal_uint32             TASRfDatabase[UMTS_RF_TAS_TOTAL_NUM];
+}UMTS_RF_TAS_PARAMETER;
+
+typedef enum
+{
+   UMTS_TAS_VER_1_0 = 0,
+   UMTS_TAS_VER_1_5 = 1,
+   UMTS_TAS_VER_2_0 = 2,
+   UMTS_MAX_TAS_VER_NUM,
+}UMTS_CUSTOM_TAS_VER_E;
+
+typedef enum
+{
+   UMTS_TAS_ANT_NA  = 0,
+   UMTS_TAS_ANT1    = 1,
+   UMTS_TAS_ANT2    = 2,
+   UMTS_TAS_ANT3    = 3,
+   UMTS_TAS_ANT4    = 4,
+   UMTS_MAX_TAS_ANT_NUM,
+}UMTS_CUSTOM_TAS_ANT_E;
+
+typedef enum
+{
+   UMTS_TAS_DPDT_NA  = 0,
+   UMTS_TAS_DPDT1    = 1,
+   UMTS_TAS_DPDT2    = 2,
+   UMTS_MAX_TAS_DPDT_NUM,
+}UMTS_CUSTOM_TAS_DPDT_E;
+
+typedef enum
+{
+   UMTS_TAS_MIPI_TABLE_ROUTE0,
+   UMTS_TAS_MIPI_TABLE_ROUTE1,
+   UMTS_TAS_MIPI_TABLE_ROUTE2,
+   UMTS_TAS_MIPI_TABLE_ROUTE3,
+   UMTS_TAS_MIPI_TABLE_ROUTE4,
+   UMTS_TAS_MIPI_TABLE_ROUTE5,
+   UMTS_TAS_MIPI_TABLE_ROUTE6,
+   UMTS_TAS_MIPI_TABLE_ROUTE7,
+   UMTS_TAS_MIPI_TABLE_ROUTE8,
+   UMTS_TAS_MIPI_TABLE_ROUTE9,
+   UMTS_TAS_MIPI_TABLE_NULL,
+}UMTS_CUSTOM_TAS_MIPI_TBL_IDX_E;
+
+typedef enum
+{
+   UMTS_TAS_FE_ROUTE0,
+   UMTS_TAS_FE_ROUTE1,
+   UMTS_TAS_FE_ROUTE2,
+   UMTS_TAS_FE_ROUTE3,
+   UMTS_TAS_FE_ROUTE4,
+   UMTS_TAS_FE_ROUTE5,
+   UMTS_TAS_FE_ROUTE6,
+   UMTS_TAS_FE_ROUTE7,
+   UMTS_TAS_FE_ROUTE8,
+   UMTS_TAS_FE_ROUTE9,
+   UMTS_TAS_FE_NULL,
+}UMTS_CUSTOM_TAS_FE_ROUTE_IDX_E;
+
+typedef enum
+{
+   UMTS_TAS_DISABLE,
+   UMTS_TAS_ENABLE,
+}UMTS_CUSTOM_TAS_SWITCH_E;
+
+#if IS_3G_UTAS_SUPPORT
+typedef enum
+{
+   UMTS_TAS_STATE0 = MMRFD_TAS_STATE0,
+   UMTS_TAS_STATE1,
+   UMTS_TAS_STATE2,
+   UMTS_TAS_STATE3,
+   UMTS_TAS_STATE4,
+   UMTS_TAS_STATE5,
+   UMTS_TAS_STATE6,
+   UMTS_TAS_STATE7,
+   UMTS_TAS_STATE8,
+   UMTS_TAS_STATE9,
+   UMTS_TAS_STATE10,
+   UMTS_TAS_STATE11,
+   UMTS_TAS_STATE12,
+   UMTS_TAS_STATE13,
+   UMTS_TAS_STATE14,
+   UMTS_TAS_STATE15,
+   UMTS_TAS_STATE16,
+   UMTS_TAS_STATE17,
+   UMTS_TAS_STATE18,
+   UMTS_TAS_STATE19,
+   UMTS_TAS_STATE20,
+   UMTS_TAS_STATE21,
+   UMTS_TAS_STATE22,
+   UMTS_TAS_STATE23,
+   UMTS_TAS_STATE_NUM  = MMRFD_TAS_STATE_NUM,   //24
+   UMTS_TAS_STATE_NULL = MMRFD_ANT_INVALID_PATTERN
+}UMTS_CUSTOM_TAS_STATE_E;
+#else
+typedef enum
+{
+   UMTS_TAS_STATE0,
+   UMTS_TAS_STATE1,
+   UMTS_TAS_STATE2,
+   UMTS_TAS_STATE3,
+   UMTS_TAS_STATE4,
+   UMTS_TAS_STATE5,
+   UMTS_TAS_STATE6,
+   UMTS_TAS_STATE7,
+   UMTS_TAS_STATE_NULL,
+}UMTS_CUSTOM_TAS_STATE_E;
+#endif
+
+#if IS_3G_TAS_INHERIT_4G_ANT
+typedef struct
+{
+   LTE_Band inherit_lte_band;
+}UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_T;
+
+typedef struct
+{
+   kal_uint32 inherit_lte_band_bitmap[UMTS_TAS_INHERIT_LTE_BAND_BITMAP_NUM];
+}UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_T inherit_lte_band_bitmap_route[UMTS_TAS_MAX_FE_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_T;
+#endif
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_SWITCH_E  tas_enable;
+   UMTS_CUSTOM_TAS_STATE_E   tas_state;
+}UMTS_CUSTOM_TAS_FEATURE_OPTION_T;
+
+typedef struct
+{
+   kal_uint32   cat_a_route_num;
+   kal_uint32   cat_b_route_num;
+   kal_uint32   cat_c_route_num;
+}UMTS_CUSTOM_TAS_FE_ROUTE_MAP_T;
+
+#if IS_3G_UTAS_SUPPORT
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FEATURE_OPTION_T   force_mode_tas_feature;
+   UMTS_CUSTOM_TAS_STATE_E            tas_ics_init_ant_state;
+   UMTS_CUSTOM_TAS_SWITCH_E           tas_enable_on_real_sim;
+   UMTS_CUSTOM_TAS_SWITCH_E           tas_enable_on_test_sim;
+}UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T;
+#else
+typedef struct
+{
+   UMTS_CUSTOM_TAS_VER_E              tas_version;
+   UMTS_CUSTOM_TAS_FEATURE_OPTION_T   force_mode_tas_feature;
+   UMTS_CUSTOM_TAS_STATE_E            tas_ics_init_ant_state;
+   UMTS_CUSTOM_TAS_SWITCH_E           tas_enable_on_real_sim;
+   UMTS_CUSTOM_TAS_SWITCH_E           tas_enable_on_test_sim;
+}UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T;
+#endif
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FEATURE_OPTION_T   real_sim_tas_feature;
+   UMTS_CUSTOM_TAS_FEATURE_OPTION_T   test_sim_tas_feature;
+}UMTS_CUSTOM_TAS_FEATURE_ENABLE_T;
+
+
+#if IS_3G_UTAS_SUPPORT
+typedef enum
+{
+   UMTS_TAS_LAYOUT_GROUP_INDEX0 = 0,
+   UMTS_TAS_LAYOUT_GROUP_INDEX1,
+   UMTS_TAS_LAYOUT_GROUP_INDEX2,
+   UMTS_TAS_LAYOUT_GROUP_INDEX3,
+   UMTS_TAS_LAYOUT_GROUP_INDEX4,
+   UMTS_TAS_LAYOUT_GROUP_INDEX5,
+   UMTS_TAS_LAYOUT_GROUP_INDEX6,
+   UMTS_TAS_LAYOUT_GROUP_INDEX7,
+   UMTS_TAS_LAYOUT_GROUP_INDEX8,
+   UMTS_TAS_LAYOUT_GROUP_INDEX9,   
+   UMTS_TAS_LAYOUT_GROUP_NUM  = MMRFD_TAS_MAX_HW_GROUP_NUM,  //10
+   UMTS_TAS_LAYOUT_GROUP_NULL = MMRFD_ANT_INVALID_PATTERN
+}UMTS_RF_UTAS_LAYOUT_GROUP_INDEX_E;
+
+#if IS_3G_GEN97_TAS_SUPPORT
+typedef struct
+{
+   UMTSBand                           usage;
+   UMTS_CUSTOM_TAS_FEATURE_ENABLE_T   tas_feature_enable;
+   UMTS_CUSTOM_TAS_STATE_E            tas_cal_init_state;
+   kal_int8                           rscp_bias[UL1_ANTENNA_NUM];
+}UMTS_CUSTOM_SPLIT_TAS_SETTING_T;
+
+typedef struct
+{
+   UMTSBand                           usage;
+   UMTS_CUSTOM_TAS_STATE_E            tas_cal_init_state;
+   kal_int8                           rscp_bias[UL1_ANTENNA_NUM];
+}UMTS_CUSTOM_SPLIT_TAS_SETTING_DATA_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_SPLIT_TAS_SETTING_DATA_T    UMTS_tas_fe_route_db[UMTS_TAS_MAX_FE_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T;
+
+
+#else /*Gen95*/
+typedef struct
+{
+   kal_uint16                             mipi_subband_freq;
+   MMRFD_ANT_TUNER_CONFIG_SETTING_IDX_E   tuner_control_setting_idx;
+}UMTS_CUSTOM_SPLIT_ANT_FE_T;
+
+typedef struct
+{
+   kal_uint8                    tas_split_band_num;
+   UMTS_CUSTOM_SPLIT_ANT_FE_T   split_ant_setting[UMTS_RF_UTAS_MAX_SPLIT_BAND_NUM];
+}UMTS_CUSTOM_SPLIT_PART_SETTING_T;
+
+typedef struct
+{
+   UMTSBand                           usage;
+   UMTS_CUSTOM_TAS_FEATURE_ENABLE_T   tas_feature_enable;
+   UMTS_CUSTOM_TAS_STATE_E            tas_cal_init_state;
+   UMTS_RF_UTAS_LAYOUT_GROUP_INDEX_E  tas_ant_layout_group;
+   kal_int8                           rscp_bias[UL1_ANTENNA_NUM];
+   UMTS_CUSTOM_SPLIT_PART_SETTING_T   tas_split_part_setting;
+}UMTS_CUSTOM_SPLIT_TAS_SETTING_T;
+#endif
+
+#else /*IS_3G_UTAS_SUPPORT*/
+typedef struct
+{
+   UMTSBand                           usage;
+   kal_uint32                         tas_state_num;
+   UMTS_CUSTOM_TAS_FEATURE_ENABLE_T   tas_feature_enable;
+   UMTS_CUSTOM_TAS_FE_ROUTE_MAP_T     tas_fe_setting[UMTS_TAS_MAX_STATE_NUM];
+}UMTS_CUSTOM_SPLIT_TAS_SETTING_T;
+#endif
+
+typedef struct
+{
+   kal_bool                           is_tas_real_sim_en;
+   kal_bool                           is_tas_test_sim_en;
+}UMTS_CUSTOM_TAS_SIM_EN_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_SPLIT_TAS_SETTING_T    UMTS_tas_fe_route_db[UMTS_TAS_MAX_FE_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T;
+
+typedef struct
+{
+   kal_uint32                     bpi_mask;
+   kal_uint32                     bpi_value;
+   UMTS_CUSTOM_TAS_MIPI_TBL_IDX_E tas_mipi_table_index;
+}UMTS_CUSTOM_TAS_FE_SETTING_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FE_SETTING_T   tas_cat_a_fe_route[UMTS_TAS_MAX_CAT_A_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_FE_CAT_A_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FE_SETTING_T   tas_cat_b_fe_route[UMTS_TAS_MAX_CAT_B_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_FE_CAT_B_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FE_SETTING_T   tas_cat_c_fe_route[UMTS_TAS_MAX_CAT_C_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_FE_CAT_C_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_FE_CAT_A_T   tas_cat_a_fe_db;
+   UMTS_CUSTOM_TAS_FE_CAT_B_T   tas_cat_b_fe_db;
+   UMTS_CUSTOM_TAS_FE_CAT_C_T   tas_cat_c_fe_db;
+}UMTS_CUSTOM_TAS_FE_DATABASE_T;
+
+#endif
+
+#if IS_3G_TAS_TST_SUPPORT
+typedef enum
+{
+   UMTS_TAS_VER_1_0_STATE_MAX = 2,  // only DPDT swap for non UL-CA case
+   UMTS_TAS_VER_1_5_STATE_MAX = 4,  // only DPDT swap(take dual DPDT into consideration for UL-CA case)
+   UMTS_TAS_VER_2_0_STATE_MAX = 4,  // DPDT swap and M/M' swap for non UL-CA case
+   UMTS_TAS_VER_2_5_STATE_MAX = 8,  // DPDT swap and M/M' swap for UL-CA case
+}UMTS_CUSTOM_TAS_STATE_MAX_E;
+
+typedef enum
+{
+   UMTS_TAS_TST_DISABLE,
+   UMTS_TAS_TST_ENABLE,
+}UMTS_CUSTOM_TAS_ST_SWITCH_E;
+
+#if IS_3G_UTAS_SUPPORT
+typedef struct
+{
+   UMTSBand                           usage;
+   UMTS_CUSTOM_TAS_ST_SWITCH_E        tas_tst_enable_by_route;
+   UMTS_CUSTOM_TAS_ST_SWITCH_E        tas_tst_state_status[UMTS_TAS_STATE_NUM];
+}UMTS_CUSTOM_SPLIT_TAS_TST_SETTING_T;
+
+#else
+typedef struct
+{
+   UMTSBand                           usage;
+   UMTS_CUSTOM_TAS_ST_SWITCH_E        tas_tst_enable_by_route;
+   kal_uint16                         tas_tst_state_status;
+}UMTS_CUSTOM_SPLIT_TAS_TST_SETTING_T;
+#endif/*IS_3G_UTAS_SUPPORT*/
+
+typedef struct
+{
+   UMTS_CUSTOM_TAS_ST_SWITCH_E            tas_tst_enable;
+   UMTS_CUSTOM_SPLIT_TAS_TST_SETTING_T    UMTS_tas_tst_fe_route_db[UMTS_TAS_MAX_FE_ROUTE_NUM];
+}UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T;
+#endif/*IS_3G_TAS_TST_SUPPORT*/
+#endif/*IS_3G_TAS_SUPPORT*/
+
+#if IS_3G_UTAS_SUPPORT
+
+#if IS_3G_GEN97_TAS_SUPPORT
+typedef struct
+{
+   const kal_uint32   *schemeTable_p;      //Ant scheme table start address
+   kal_uint8          antStateNum;         //number of state in scheme table
+}UMTS_RF_UTAS_SCHEME_INFO_T;
+
+typedef struct
+{
+   kal_uint8          rxPathValidCnt;                          //number of RX path.
+   MMRFD_ANT_PORT_E   rxPathMap[UMTS_RF_UTAS_RF_PATH_NUM];     //mapping between RX path and ANT_port. [0]:ANT_Port of PRX. [1]:ANT_Port of DRX1.
+   MMRFD_ANT_PORT_E   txPathMap;                               //mapping between TX path and ANT_port. ANT_Port of TX.
+   kal_uint16         antCapability;                           //bit_0: ANT_0, bit_1: ANT_1, bit_2: ANT_2, bit_3: ANT_3. 1=this ANT can be use for serving band.
+}UMTS_RF_UTAS_RF_PATH_MAP_T;
+
+#else
+typedef struct
+{
+   kal_uint16                    *schemeTable_p;      //Ant scheme table start address
+   kal_uint8                     antStateNum;         //number of state in scheme table
+   MMRFD_ANT_INDEX_TYPE_E        co_structure_type;   //Co-structure antenna identification
+}UMTS_RF_UTAS_SCHEME_INFO_T;
+
+typedef struct
+{
+   kal_uint8          rxPathValidCnt;                          //number of RX path.
+   MMRFD_ANT_PORT_E   rxPathMap[UMTS_RF_UTAS_RF_PATH_NUM];     //mapping between RX path and ANT_port. [0]:ANT_Port of PRX. [1]:ANT_Port of DRX1.
+   MMRFD_ANT_PORT_E   txPathMap;                               //mapping between TX path and ANT_port. ANT_Port of TX.
+   kal_uint8          antCapability;                           //bit_0: ANT_0, bit_1: ANT_1, bit_2: ANT_2, bit_3: ANT_3. 1=this ANT can be use for serving band.
+}UMTS_RF_UTAS_RF_PATH_MAP_T;
+#endif
+
+typedef struct
+{
+   UMTS_RF_UTAS_SCHEME_INFO_T schemeTable;   //Antenna scheme table
+   UMTS_RF_UTAS_RF_PATH_MAP_T rfPathMap;     //RF path mapping
+}UMTS_RF_UTAS_ANT_HW_STRUCTURE_T;
+
+typedef struct
+{
+   kal_bool                 rat_enable;
+   kal_bool                 band_enable;
+   UMTS_CUSTOM_TAS_STATE_E  init_state;    
+}UMTS_RF_UTAS_SIM_CONTROL_T;
+
+typedef struct
+{
+   kal_bool                   force_tas_enable;
+   UMTS_CUSTOM_TAS_STATE_E    force_tas_state;    
+}UMTS_RF_UTAS_FORCE_TAS_CONTROL_T;
+
+typedef struct
+{
+   UMTS_RF_UTAS_SIM_CONTROL_T         test_sim_parameter;
+   UMTS_RF_UTAS_SIM_CONTROL_T         real_sim_parameter;
+   UMTS_RF_UTAS_FORCE_TAS_CONTROL_T   force_tas_parameter;
+}UMTS_RF_UTAS_CONTROL_PARAMETER_T;
+
+typedef struct
+{
+   UMTS_RF_UTAS_ANT_HW_STRUCTURE_T    antHwStruct;
+   UMTS_RF_UTAS_CONTROL_PARAMETER_T   controlParameter;
+}UMTS_RF_UTAS_CUSTOM_INFO_T;
+#endif
+
+
+#if (IS_3G_TX_POWER_OFFSET_SUPPORT || IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT || IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT)
+typedef  struct
+{
+   kal_uint16 max_uarfcn;
+   kal_int16  pwr_offset_dB[UL1_ANTENNA_NUM][3];    /* [Ant Dimension][Mode 0/1/2 R99/HSDPA/HSUPA] ; unit: 1/8 dB, range: -8 ~ +7 dB */
+}  U_sSUBBAND_SECTION;
+#endif
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+typedef struct
+{
+   U_sSUBBAND_SECTION  subband_power_offset;
+} U_sSARBackoffTABLE;
+
+typedef struct
+{
+   U_sSARBackoffTABLE  table[SAR_3G_TABLE_NUM];
+} U_sSARBackoffDATA;
+#endif /* IS_3G_TX_POWER_OFFSET_SUPPORT */
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT 
+typedef struct
+{
+   U_sSUBBAND_SECTION  subband_power_offset[CAL_UARFCN_SECTION];
+} U_sTXPOWEROFFSETTABLE;
+
+typedef struct
+{
+   U_sTXPOWEROFFSETTABLE  table[TPO_3G_TABLE_NUM];
+} U_sTXPOWEROFFSETDATA;
+#endif /* IS_3G_TX_POWER_OFFSET_SUPPORT */
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+typedef struct
+{
+   kal_int16  nsft_pwr_offset;
+} U_sTXNSFTPOWEROFFSETDATA;
+
+typedef struct
+{
+   U_sTXNSFTPOWEROFFSETDATA nsftTpoTable[UL1D_RF_CUSTOM_BAND];
+} U_sTXNSFTPOWEROFFSETDATA_ALLBAND;
+#endif
+
+#if (IS_3G_TAS_ANTENNA_IDX_ON_TEST_SIM)
+typedef struct {
+   ul1_antenna_idx_E         xBand1_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand2_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand3_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand4_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand5_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand6_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand8_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand9_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand10_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand11_TAS_ANT_IDX;
+   ul1_antenna_idx_E         xBand19_TAS_ANT_IDX;
+} UMTS_TAS_ANT_IDX_T;
+#endif
+
+#if (IS_3G_DAT_UL1_CUSTOM_SUPPORT || IS_3G_TAS_UL1_CUSTOM_SUPPORT)
+typedef enum
+{
+   CAT_A = 0,
+   CAT_B = 1,
+   #if !IS_3G_UTAS_SUPPORT
+   CAT_C = 2,
+   #endif
+   CAT_CNT,
+}UMTS_CUSTOM_TAS_CAT_E;
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+typedef enum
+{
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX0,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX1,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX2,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX3,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX4,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX5,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX6,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX7,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX8,
+   UMTS_DAT_CAT_A_MIPI_TABLE_CONFIG_IDX9,
+   UMTS_DAT_CAT_A_MIPI_TABLE_NULL = UMTS_DAT_MIPI_TABLE_NULL,
+}UMTS_CUSTOM_DAT_CAT_A_MIPI_TBL_IDX_E;
+
+
+typedef enum
+{
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX0,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX1,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX2,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX3,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX4,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX5,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX6,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX7,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX8,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX9,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX10,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX11,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX12,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX13,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX14,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX15,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX16,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX17,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX18,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX19,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX20,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX21,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX22,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX23,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX24,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX25,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX26,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX27,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX28,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX29,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX30,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX31,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX32,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX33,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX34,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX35,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX36,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX37,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX38,
+   UMTS_DAT_CAT_B_MIPI_TABLE_CONFIG_IDX39,
+   UMTS_DAT_CAT_B_MIPI_TABLE_NULL = UMTS_DAT_MIPI_TABLE_NULL,
+}UMTS_CUSTOM_DAT_CAT_B_MIPI_TBL_IDX_E;
+
+typedef enum
+{
+   UMTS_DAT_CAT_A_CONFIG_IDX0,
+   UMTS_DAT_CAT_A_CONFIG_IDX1,
+   UMTS_DAT_CAT_A_CONFIG_IDX2,
+   UMTS_DAT_CAT_A_CONFIG_IDX3,
+   UMTS_DAT_CAT_A_CONFIG_IDX4,
+   UMTS_DAT_CAT_A_CONFIG_IDX5,
+   UMTS_DAT_CAT_A_CONFIG_IDX6,
+   UMTS_DAT_CAT_A_CONFIG_IDX7,
+   UMTS_DAT_CAT_A_CONFIG_IDX8,
+   UMTS_DAT_CAT_A_CONFIG_IDX9,
+   UMTS_DAT_CAT_A_NULL = UMTS_DAT_FE_NULL,
+}UMTS_CUSTOM_DAT_CAT_A_IDX_E;
+
+typedef enum
+{
+   UMTS_DAT_CAT_B_CONFIG_IDX0,
+   UMTS_DAT_CAT_B_CONFIG_IDX1,
+   UMTS_DAT_CAT_B_CONFIG_IDX2,
+   UMTS_DAT_CAT_B_CONFIG_IDX3,
+   UMTS_DAT_CAT_B_CONFIG_IDX4,
+   UMTS_DAT_CAT_B_CONFIG_IDX5,
+   UMTS_DAT_CAT_B_CONFIG_IDX6,
+   UMTS_DAT_CAT_B_CONFIG_IDX7,
+   UMTS_DAT_CAT_B_CONFIG_IDX8,
+   UMTS_DAT_CAT_B_CONFIG_IDX9,
+   UMTS_DAT_CAT_B_CONFIG_IDX10,
+   UMTS_DAT_CAT_B_CONFIG_IDX11,
+   UMTS_DAT_CAT_B_CONFIG_IDX12,
+   UMTS_DAT_CAT_B_CONFIG_IDX13,
+   UMTS_DAT_CAT_B_CONFIG_IDX14,
+   UMTS_DAT_CAT_B_CONFIG_IDX15,
+   UMTS_DAT_CAT_B_CONFIG_IDX16,
+   UMTS_DAT_CAT_B_CONFIG_IDX17,
+   UMTS_DAT_CAT_B_CONFIG_IDX18,
+   UMTS_DAT_CAT_B_CONFIG_IDX19,
+   UMTS_DAT_CAT_B_CONFIG_IDX20,
+   UMTS_DAT_CAT_B_CONFIG_IDX21,
+   UMTS_DAT_CAT_B_CONFIG_IDX22,
+   UMTS_DAT_CAT_B_CONFIG_IDX23,
+   UMTS_DAT_CAT_B_CONFIG_IDX24,
+   UMTS_DAT_CAT_B_CONFIG_IDX25,
+   UMTS_DAT_CAT_B_CONFIG_IDX26,
+   UMTS_DAT_CAT_B_CONFIG_IDX27,
+   UMTS_DAT_CAT_B_CONFIG_IDX28,
+   UMTS_DAT_CAT_B_CONFIG_IDX29,
+   UMTS_DAT_CAT_B_CONFIG_IDX30,
+   UMTS_DAT_CAT_B_CONFIG_IDX31,
+   UMTS_DAT_CAT_B_CONFIG_IDX32,
+   UMTS_DAT_CAT_B_CONFIG_IDX33,
+   UMTS_DAT_CAT_B_CONFIG_IDX34,
+   UMTS_DAT_CAT_B_CONFIG_IDX35,
+   UMTS_DAT_CAT_B_CONFIG_IDX36,
+   UMTS_DAT_CAT_B_CONFIG_IDX37,
+   UMTS_DAT_CAT_B_CONFIG_IDX38,
+   UMTS_DAT_CAT_B_CONFIG_IDX39,
+   UMTS_DAT_CAT_B_NULL = UMTS_DAT_FE_NULL,
+}UMTS_CUSTOM_DAT_CAT_B_IDX_E;
+
+
+typedef enum
+{
+   UMTS_DAT_STATE0,
+   UMTS_DAT_STATE1,
+   UMTS_DAT_STATE2,
+   UMTS_DAT_STATE3,
+   UMTS_DAT_STATE4,
+   UMTS_DAT_STATE5,
+   UMTS_DAT_STATE6,
+   UMTS_DAT_STATE7,
+   UMTS_DAT_STATE_NULL,
+}UMTS_CUSTOM_DAT_STATE_E;
+
+
+typedef struct
+{
+   kal_bool   feature_enable;
+   kal_int16  ap_scenario;
+}UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T;
+
+#if IS_3G_UDAT_SUPPORT
+
+#if !IS_3G_GEN97_DAT_SUPPORT
+typedef struct
+{
+   kal_uint16                      mipi_subband_freq;
+   MMRFD_CUSTOM_ANT_SWITCH_IDX_E   switch_config_idx;
+   MMRFD_CUSTOM_ANT_TUNER_IDX_E    tuner_config_idx;
+}UMTS_CUSTOM_DAT_SPLIT_ANT_FE_T;
+
+typedef struct
+{
+   kal_uint8                        dat_split_band_num;
+   UMTS_CUSTOM_DAT_SPLIT_ANT_FE_T   split_ant_setting[UMTS_RF_UDAT_MAX_SPLIT_BAND_NUM];
+}UMTS_CUSTOM_DAT_FE_ROUTE_MAP_T;
+#endif
+
+#else
+typedef struct
+{
+   kal_uint32   cat_a_route_num;
+   kal_uint32   cat_b_route_num;
+}UMTS_CUSTOM_DAT_FE_ROUTE_MAP_T;
+#endif
+
+#if !IS_3G_GEN97_DAT_SUPPORT
+typedef struct
+{
+   UMTSBand                           usage;
+   UMTS_CUSTOM_DAT_FE_ROUTE_MAP_T     dat_fe_setting[UMTS_DAT_MAX_STATE_NUM];
+}UMTS_CUSTOM_DAT_ROUTE_SETTING_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_DAT_ROUTE_SETTING_T    UMTS_dat_fe_route_db[UMTS_DAT_MAX_FE_ROUTE_NUM];
+}UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T;
+#endif
+
+typedef struct
+{
+   kal_uint32                     bpi_mask;
+   kal_uint32                     bpi_value;
+   UMTS_CUSTOM_DAT_CAT_A_MIPI_TBL_IDX_E dat_mipi_table_index;
+}UMTS_CUSTOM_DAT_CAT_A_FE_SETTING_T;
+
+typedef struct
+{
+   kal_uint32                     bpi_mask;
+   kal_uint32                     bpi_value;
+   UMTS_CUSTOM_DAT_CAT_B_MIPI_TBL_IDX_E dat_mipi_table_index;
+}UMTS_CUSTOM_DAT_CAT_B_FE_SETTING_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_DAT_CAT_A_FE_SETTING_T   dat_cat_a_fe_route[UMTS_DAT_MAX_CAT_A_ROUTE_NUM];
+}UMTS_CUSTOM_DAT_FE_CAT_A_T;
+
+typedef struct
+{
+   UMTS_CUSTOM_DAT_CAT_B_FE_SETTING_T   dat_cat_b_fe_route[UMTS_DAT_MAX_CAT_B_ROUTE_NUM];
+}UMTS_CUSTOM_DAT_FE_CAT_B_T;
+
+
+typedef struct
+{
+   UMTS_CUSTOM_DAT_FE_CAT_A_T   dat_cat_a_fe_db;
+   UMTS_CUSTOM_DAT_FE_CAT_B_T   dat_cat_b_fe_db;
+}UMTS_CUSTOM_DAT_FE_DATABASE_T;
+#endif
+
+#if IS_3G_SUPPORT_8_BANDINDICATOR 
+typedef struct
+{
+   UMTSBand BandIndicator[MAX_SUPPORTED_BAND_INDEX];  
+}U_sUl1dRfBandIndicator;
+#else
+typedef struct
+{
+   UMTSBand HB1;
+   UMTSBand HB2;
+   UMTSBand HB3;
+   UMTSBand LB1;
+   UMTSBand LB2;
+}U_sUl1dRfBandIndicator;
+#endif
+
+typedef struct
+{
+   UMTS_RXIOBASE_T rxLnaSel[UMTS_FE_RXBASE_TBL_SIZE_MAX];
+}U_sUl1dRfRxLnaPortSel;
+
+typedef struct
+{
+   UMTS_TXIOBASE_T txPathSel[UMTS_FE_TXBASE_TBL_SIZE_MAX];
+}U_sUl1dRfTxPathSel;
+
+typedef struct
+{
+   kal_uint32 Rx_Main_Path_Onoff;
+   kal_uint32 Rx_Diversity_Path_Onoff;
+}U_sUl1dRxdPathSetting;
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+typedef struct
+{
+   MPR_Setting HSDPA_MprBackOff[20];
+   MPR_Setting HSUPA_MprBackOff[20];
+   #if IS_3G_MPR_EXTEND_SUPPORT
+   MPR_Setting_SUB HSUPA_MprBackOff_SUB[20][5];
+   kal_bool        isR6MprSubEn;
+   #endif
+}U_sUl1dMprBackOff;
+#endif
+
+#if IS_3G_MIPI_SUPPORT
+typedef struct
+{
+   kal_bool   is3gMipiEn;
+   kal_uint16 mipiOffset;
+}U_sUl1dRfMipiSetting;
+#endif
+
+typedef struct
+{
+   /* PCFE and DPD OTFC non-custom parameters  */
+   U_Ul1D_PCFE_DPD_OTFC_NONCUSTOM_PARA_T pcfe_dpdotfc_noncustom_para;
+
+   /* PCFE and DPD OTFC custom parameters  */
+   U_UL1D_PCFE_DPD_OTFC_CUSTOM_PARA_T  pcfe_dpdotfc_custom_para;
+
+} U_sUl1dDpdCustomInputData;
+
+#if IS_3G_ELNA_IDX_SUPPORT
+typedef struct
+{
+   MML1_FE_ELNA_ROUTE_E RxElnaIdx[20];
+   MML1_FE_ELNA_ROUTE_E RxdElnaIdx[20];
+}UMTS_CUSTOM_ELNA_IDX_T;
+
+typedef struct
+{
+   MML1_FE_ELNA_ROUTE_E elna_idx_main;
+   MML1_FE_ELNA_ROUTE_E elna_idx_div;
+}UMTS_ELNA_IDX_T;
+
+#endif
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+#define UMTS_RF_INTERFERE_FREQ_SET_NUM   8 // the maximum number of frequency intervals supported per group
+#define UMTS_RF_INTERFERE_FREQ_TABLE_NUM 8 // the maximum number of HW components supported
+
+typedef enum
+{
+   UMTS_RF_INTERFERE_CHECK_DISABLE,
+   UMTS_RF_INTERFERE_CHECK_ENABLE,
+}UMTS_CUSTOM_INTERFERE_CHECK_SWITCH_E;
+
+typedef struct
+{
+   kal_uint16 freq_start;
+   kal_uint16 freq_end;
+}UMTS_RF_INTERFERENCE_FREQUENCY_SET_T;
+
+typedef struct
+{
+   UMTS_RF_INTERFERENCE_FREQUENCY_SET_T  freq_groupA[UMTS_RF_INTERFERE_FREQ_SET_NUM];
+   UMTS_RF_INTERFERENCE_FREQUENCY_SET_T  freq_groupB[UMTS_RF_INTERFERE_FREQ_SET_NUM];
+}UMTS_RF_INTERFERENCE_FREQUENCY_TABLE_T;
+
+typedef struct
+{
+   UMTS_RF_INTERFERENCE_FREQUENCY_TABLE_T  freq_table[UMTS_RF_INTERFERE_FREQ_TABLE_NUM];
+   kal_uint8                               bitmap;
+}UMTS_RF_INTERFERENCE_FREQUENCY_T;
+#endif
+
+/********************************************************************
+**       CA structure declaration
+*********************************************************************/
+
+typedef struct
+{
+   UMTSCaBand CA_IND_0;
+   UMTSCaBand CA_IND_1;
+   UMTSCaBand CA_IND_2;
+   UMTSCaBand CA_IND_3;
+   UMTSCaBand CA_IND_4;
+}U_sUl1dRfCaBandIndicator;
+
+typedef struct
+{
+   kal_uint16           cc_cnt;
+   UMTSBand             cc_band[MAX_NUMBER_OF_RX_SUBBLOCK];
+}UMTS_CA_CFG_T;
+
+typedef struct
+{
+   UMTS_RX_IODATA_T    rxIodata;
+   UMTS_RX_PDATA_T     rxPdata;
+   #if IS_3G_RXD_FE_CONTROL_SUPPORT
+   UMTS_RX_PDATA_T     rxPdata2;
+   #endif
+   UMTS_Route          rxMipiTblIdx;
+}UMTS_FE_RX_ROUTE_T;
+
+typedef struct
+{
+   UMTS_TX_IODATA_T     txIodata;
+   UMTS_TX_PDATA_T      txPdata;
+   UMTS_Route           txMipiTblIdx;
+}UMTS_FE_TX_ROUTE_T;
+
+typedef struct
+{
+   UMTSBand            band;
+   UMTS_FE_RX_ROUTE_T  rx_cfg;
+   UMTS_FE_TX_ROUTE_T  tx_cfg;
+}U_sUl1dRfFeRouteSetting;
+
+typedef struct
+{
+   kal_uint32 band; //TBD: how about CA_BAND_IND?
+   kal_uint8  cc_cnt;
+   U_sUl1dRfFeRouteSetting  cc_fe_route[MAX_NUMBER_OF_RX_SUBBLOCK];
+}UMTS_FE_ROUTE_TABLE_T;
+
+typedef struct
+{
+   UMTS_Route         rx_tbl_idx[MAX_NUMBER_OF_RX_SUBBLOCK];
+   UMTS_Route         tx_tbl_idx[MAX_NUMBER_OF_TX_SUBBLOCK];
+}UMTS_USAGE_ELM_T;
+
+typedef union
+{
+   UMTS_RXIOBASE_T  rxio;
+   UMTS_TXIOBASE_T  txio;
+   UMTS_RX_PDATABASE_T  rxbpi;
+   UMTS_TX_PDATABASE_T  txbpi;
+}UMTS_DATABASE_U;
+
+typedef struct
+{
+   UMTS_CA_CFG_T      usage;
+   UMTS_USAGE_ELM_T   iobase;
+   UMTS_USAGE_ELM_T   pdatabase;
+   UMTS_USAGE_ELM_T   mipibase;
+}UMTS_FE_USAGE_T;
+
+typedef struct
+{
+   void        *database_ptr;
+   kal_uint16   database_elm_size;
+   kal_uint16   database_ttl_size;
+   kal_uint16 (*database_handler)( kal_uint16 handle, void *src, void *dst );
+} UL1D_DATABASE_HANDLER_T;
+
+
+#if IS_3G_REMOVE_MIPI
+typedef struct
+{
+   /* Start pattern to be recognized by Modem Bin Update Tool */
+   kal_uint32 startPattern;
+
+   /* RF and parameter structure version */
+   kal_uint8 structVersion; // record structure version for tool once we add more parameters to be customized in the future
+   kal_uint8 rfType; // needed? To distinguish O3, OH and furhter 3G RF chips
+   kal_uint8 isDataUpdate; // default FALSE, will be update to be TRUE after tool update parameters
+   #if defined (__UL1_HS_PLUS_PLATFORM__)
+   kal_bool  umtsRfSettingByNVRAM; // default True. if the value is False, than Single SW for Multiple HW scheme will be applied.
+   #endif
+
+   /* Timing of PA control */
+   U_sUl1dRfPaControlTiming umtsRfPaControlTimingOffset;
+
+   /* RF T/RX timing offset */
+   U_sUl1dRfBsiBpiTiming umtsBsiBpiTiming;
+
+   /* BPI data allocation */
+   U_sUl1dRfBpiData umtsPdata;
+
+   /* RF Hign-band and Low-band indicator */
+   U_sUl1dRfBandIndicator umtsBandIndicator;
+
+   /* RX LNA port selection */
+   U_sUl1dRfRxLnaPortSel umtsRxLnaPortSel;
+
+   /* TX output path selection */
+   U_sUl1dRfTxPathSel umtsTxPathSel;
+
+   /* PMU VPA control disable/enable */
+   kal_bool xPMU_PA_CONTROL;
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   /* PMU VPA control disable/enable */
+   U_sUl1dMprBackOff umtsMprBackOff;
+#endif
+
+   /* RxD support bit map*/
+   kal_bool umtsRxDAlwaysOn;
+
+   /* Tx PA dirft compensation bit map*/
+   kal_uint32 umtsPADriftCompensation;
+
+   /*MT6320, Vrf18 Bulk=>LOD solution*/
+   kal_bool ultra_low_cost_solution;
+
+   /*MT6167, temperature measurement enable*/
+   kal_bool customer_TM_enable;
+
+   /* Baseband Idle Mode RXD Feature enable */
+   kal_bool umtsIdleModeRxDOn;
+
+   /* End pattern to be recognized by Modem Bin Update Tool */
+
+   /* VPA Mode Setting */
+   kal_bool vpa_fpwm_mode;
+
+   /* PA Section */
+   kal_uint8 pa_section;
+
+#if IS_3G_MIPI_SUPPORT
+   U_sUl1dRfMipiSetting umtsRfMipiSetting;
+#endif
+
+   /* RF CA Band indicator */
+   U_sUl1dRfCaBandIndicator umtsCaBandIndicator;
+
+   /* CA RF FE usage table */
+   UMTS_FE_USAGE_T umtsCaFrontEndUsageLut[UMTS_RF_FRONT_END_NUM_MAX];
+
+#if IS_3G_FDD_RX_PATH_SELECTION_SUPPORT
+   U_sRxPathSelection umtsRxPathSelection;
+#endif
+   kal_bool band5_and_band6_indicator;
+#if  IS_3G_B5_AND_B19_INDICATOR_SUPPORT     
+   kal_bool band5_and_band19_indicator;
+   kal_bool disable_band5_indicator;
+#endif
+
+#if IS_3G_RX_POWER_OFFSET_SUPPORT
+        U_sUl1dMetaRxPowerOffsetSetting umtsRxPowerOffsetSetting;
+#endif
+
+   /* End pattern to be recognized by Modem Bin Update Tool */
+   kal_uint32 endPattern;
+
+}U_sUl1dRfCustomInputData;
+#else
+typedef struct
+{
+   /* Start pattern to be recognized by Modem Bin Update Tool */
+   kal_uint32 startPattern;
+
+   /* RF and parameter structure version */
+   kal_uint8 structVersion; // record structure version for tool once we add more parameters to be customized in the future
+   kal_uint8 rfType; // needed? To distinguish O3, OH and furhter 3G RF chips
+   kal_uint8 isDataUpdate; // default FALSE, will be update to be TRUE after tool update parameters
+   #if defined (__UL1_HS_PLUS_PLATFORM__)
+   kal_bool  umtsRfSettingByNVRAM; // default True. if the value is False, than Single SW for Multiple HW scheme will be applied.
+   #endif
+
+   /* Timing of PA control */
+   U_sUl1dRfPaControlTiming umtsRfPaControlTimingOffset;
+
+   /* RF T/RX timing offset */
+   U_sUl1dRfBsiBpiTiming umtsBsiBpiTiming;
+
+   /* BPI data allocation */
+   //U_sUl1dRfBpiData umtsPdata;
+
+   /* RF Hign-band and Low-band indicator */
+   U_sUl1dRfBandIndicator umtsBandIndicator;
+
+   /* RX LNA port selection */
+   //U_sUl1dRfRxLnaPortSel umtsRxLnaPortSel;
+
+   /* TX output path selection */
+   //U_sUl1dRfTxPathSel umtsTxPathSel;
+
+   /* PMU VPA control disable/enable */
+   kal_bool xPMU_PA_CONTROL;
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   /* PMU VPA control disable/enable */
+   U_sUl1dMprBackOff umtsMprBackOff;
+#endif
+
+   /* RxD support bit map*/
+   kal_bool umtsRxDAlwaysOn;
+
+   /* Tx PA dirft compensation bit map*/
+   kal_uint32 umtsPADriftCompensation;
+
+   /*MT6320, Vrf18 Bulk=>LOD solution*/
+   kal_bool ultra_low_cost_solution;
+
+   /*MT6167, temperature measurement enable*/
+   kal_bool customer_TM_enable;
+
+   /* Baseband Idle Mode RXD Feature enable */
+   kal_bool umtsIdleModeRxDOn;
+
+   /* End pattern to be recognized by Modem Bin Update Tool */
+
+   /* VPA Mode Setting */
+   kal_bool vpa_fpwm_mode;
+
+   /* PA Section */
+   kal_uint8 pa_section;
+
+#if IS_3G_MIPI_SUPPORT
+  // U_sUl1dRfMipiSetting umtsRfMipiSetting;
+#endif
+
+   /* RF CA Band indicator */
+   U_sUl1dRfCaBandIndicator umtsCaBandIndicator;
+
+   /* CA RF FE usage table */
+   //UMTS_FE_USAGE_T umtsCaFrontEndUsageLut[UMTS_RF_FRONT_END_NUM_MAX];
+
+#if IS_3G_FDD_RX_PATH_SELECTION_SUPPORT
+   U_sRxPathSelection umtsRxPathSelection;
+#endif
+
+   kal_bool band5_and_band6_indicator;
+#if  IS_3G_B5_AND_B19_INDICATOR_SUPPORT     
+   kal_bool band5_and_band19_indicator;
+   kal_bool disable_band5_indicator;
+#endif
+
+#if IS_3G_RX_POWER_OFFSET_SUPPORT
+        U_sUl1dMetaRxPowerOffsetSetting umtsRxPowerOffsetSetting;
+#endif
+
+   /* End pattern to be recognized by Modem Bin Update Tool */
+   kal_uint32 endPattern;
+
+}U_sUl1dRfCustomInputData;
+
+
+#endif
+
+/*=========================================================*/
+//
+//   CA Route Table SETTING
+//
+/*=========================================================*/
+/** UMTS RF Rx VCO-Divider set element template */
+typedef struct
+{
+   kal_uint8 vco;          ///< VCO index: 1: VCO1; 2: VCO2; 3: VCO31 or VCO32, and NULL (0xFF). DCO index: 0:DCOH, 1:DCOL
+   kal_uint8 div;          ///< Divider: 2, 4, 6, 8, 10, 3, and NULL (0xFF)
+} UMTS_RF_VCO_DIV_SEL_T;
+
+/** UMTS RF Rx VCO-Divider selection table */
+typedef struct
+{
+   UMTSBand                band;
+   UMTS_RF_VCO_DIV_SEL_T   vco_div_set[UMTS_RF_RX_VCO_DIV_SET_NUM];
+} UMTS_RF_RX_VCO_DIV_TABLE_T;
+
+/** UMTS RF Tx VCO-Divider selection table
+ */
+typedef struct
+{
+   UMTSBand                band;
+   UMTS_RF_VCO_DIV_SEL_T   vco_div_set[UMTS_RF_TX_VCO_DIV_SET_NUM];
+} UMTS_RF_TX_VCO_DIV_TABLE_T;
+
+/** UMTS RF CA VCO-Divider selection table
+ */
+typedef struct
+{
+   UMTSBand                band[UMTS_RF_CA_MAX_CC_NUM];              // 0:   PCC, 1: SCC
+   UMTS_RF_VCO_DIV_SEL_T   vco_div_set[UMTS_RF_CA_VCO_DIV_SET_NUM];  // 0: RxPCC, 1: RxSCC, 2: TxPCC
+} UMTS_RF_CA_VCO_DIV_TABLE_T;
+
+typedef struct
+{
+   UMTSBand              band;
+   UMTS_FE_RX_ROUTE_T    rx_cfg;
+   UMTS_RF_VCO_DIV_SEL_T rx_vco_div;
+   kal_uint8             srx;
+   UMTS_Route            comp_rroute;
+   kal_uint8             rx_irr_comp_idx;
+   kal_uint8             rx_dc_comp_idx;
+   kal_uint8             rx_rfic_sel;
+}UMTS_RX_ROUTE_TABLE_T;
+
+typedef struct
+{
+   UMTSBand              band;
+   UMTS_FE_TX_ROUTE_T    tx_cfg;
+   UMTS_RF_VCO_DIV_SEL_T tx_vco_div;
+   kal_uint8             stx;
+   UMTS_Route            comp_troute;
+   kal_uint8             tx_rfic_sel;
+}UMTS_TX_ROUTE_TABLE_T;
+
+typedef struct
+{
+   UMTS_CA_CFG_T        usage;
+   UMTS_Route           rx_cc_route_idx[MAX_NUMBER_OF_RX_SUBBLOCK];
+   UMTS_Route           tx_cc_route_idx;
+   kal_uint8            rx_iip2_comp_idx[MAX_NUMBER_OF_RX_SUBBLOCK];
+}UMTS_USAGE_DES_T;
+
+typedef  UMTS_Route     UMTS_RX_COMP_ROUTE_TABLE_T;
+typedef  UMTS_Route     UMTS_TX_COMP_ROUTE_TABLE_T;
+
+typedef struct
+{
+   UMTS_FE_ROUTE_TABLE_T       *fe_rt;
+   UMTS_RX_ROUTE_TABLE_T       *rx_rt;
+   UMTS_TX_ROUTE_TABLE_T       *tx_rt;
+   UMTS_RX_COMP_ROUTE_TABLE_T  *rcmp_rt;
+   UMTS_TX_COMP_ROUTE_TABLE_T  *tcmp_rt;
+   UMTS_USAGE_DES_T            *ug_rt;
+}UMTS_TBL_MAP_T;
+
+#if UMTS_POC_RECAL_ENABLE
+typedef struct
+{
+   UMTS_RF_POC_RECAL_DATA_T umts_debug_result_recal[MAX_SUPPORTED_BAND_INDEX];
+}UMTS_RECAL_DEBUG_T;
+
+typedef struct
+{
+   kal_bool   isTxDetRecal;
+   kal_uint32 txDetRecalIdx;
+}UMTS_RECAL_TXDET_INFO_T;
+#endif
+/******************************
+* R/Tx/DET POC cal data
+*******************************/
+typedef struct
+{
+   kal_uint32 verno[MAX_SUPPORTED_BAND_INDEX];
+   UMTS_RF_POC_RX_COMP_DATA_T   umts_rx_comp[MAX_SUPPORTED_BAND_INDEX];
+   UMTS_RF_POC_DET_COMP_DATA_T  umts_det_comp[MAX_SUPPORTED_BAND_INDEX];
+   UMTS_RF_POC_TX_COMP_DATA_T   umts_tx_comp[MAX_SUPPORTED_BAND_INDEX];
+} UMTS_RF_POWER_ON_CAL_DATA_T;
+
+/** FEC AGC DC Table
+ */
+#define SRAM_BYTE_128_ALIGN                    (128)
+#define SRAM_PADDIND_TO_128_ALIGN(x)           ((((x)%SRAM_BYTE_128_ALIGN)==0)?SRAM_BYTE_128_ALIGN:(SRAM_BYTE_128_ALIGN - ((x)%SRAM_BYTE_128_ALIGN)))
+
+typedef struct
+{
+   UMTS_RF_POC_RX_DC_HPM_COMP_T  rx_rf_dc_hpm[UL1D_ANT_NUM]; //RF DC for HPM
+   UMTS_RF_POC_RX_DC_LPM_COMP_T  rx_rf_dc_lpm[UL1D_ANT_NUM]; //RF DC for LPM
+   UMTS_RF_POC_RX_DC_HPM_COMP_T  rx_dig_dc_hpm[UL1D_ANT_NUM]; //Digital DC for HPM
+   UMTS_RF_POC_RX_DC_LPM_COMP_T  rx_dig_dc_lpm[UL1D_ANT_NUM]; //Digital DC for LPM
+}UL1D_RXAGC_RF_POC_RX_DC_COMP_PER_ROUTE_T;
+
+typedef struct
+{
+   UL1D_RXAGC_RF_POC_RX_DC_COMP_PER_ROUTE_T dc_part;
+   kal_uint8 ready_bit; // for FEC/L1core do checksum
+}UL1D_RF_RXAGC_DC_TABLE_T;
+
+//calibration data for a CC
+typedef struct
+{
+   UL1D_RF_RXAGC_DC_TABLE_T dc_table;
+   kal_uint8 padding_to_128_bytes[SRAM_PADDIND_TO_128_ALIGN(sizeof(UL1D_RF_RXAGC_DC_TABLE_T))];
+}UL1D_RF_RXAGC_DC_TABLE_L1_EMI_T;
+
+/*******************************************************************************
+** Global data for RF customization and META Factory Calibration
+*******************************************************************************/
+extern U_sUl1dRfCustomInputData *UMTS_RF_CUSTOM_INPUT_DATA_ptr;
+extern U_sAFCDACDATA            *U_AFC_DAC_ptr;
+extern U_sAFCCAPDATA            *U_AFC_CAP_ptr;
+extern kal_uint16               *U_TEMP_DAC_ptr;
+
+#if IS_3G_ELNA_IDX_SUPPORT
+extern UMTS_CUSTOM_ELNA_IDX_T *UMTS_ELNA_IDX_LUT_ptr;
+extern UMTS_CUSTOM_ELNA_IDX_T UMTS_ELNA_IDX_LUT_PCORE;
+#endif
+
+#if (IS_3G_TAS_ANTENNA_IDX_ON_TEST_SIM)
+extern UMTS_TAS_ANT_IDX_T* UMTS_TAS_ANT_IDX_ptr;
+extern UMTS_TAS_ANT_IDX_T  UMTS_TAS_ANT_IDX_by_band;
+#endif
+
+#ifdef __MTK_TARGET__
+#if IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT
+extern U_sSARBackoffDATA UMTS_SAR_BACKOFF_TABLE_BACKUP[UL1D_RF_CUSTOM_BAND];
+#endif
+#endif
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+extern U_sSARBackoffDATA* UMTS_SAR_BACKOFF_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT
+extern U_sTXPOWEROFFSETDATA* UMTS_TX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+extern U_sTXNSFTPOWEROFFSETDATA_ALLBAND* UMTS_TX_NSFT_POWER_OFFSET_ptr;
+#endif
+
+#if (IS_3G_RX_POWER_OFFSET_SUPPORT)
+extern U_sRXPOWEROFFSETDATA* UMTS_RX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+extern UMTS_VPA_SOURCE_TYPE* UMTS_VPA_SRC_SEL_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+extern hs_dsch_rfeq_info_band_T* UMTS_RFEQ_COEF_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_RFEQ_REAL_COEF_TEST
+extern URXDFE_REAL_RFEQ_CUSTOM_BAND_T* UMTS_RFEQ_REAL_COEF_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_RF_NCCA_SUPPORT
+extern U_sTEMPAGCOFFSET         *U_AGC_PATHLOSS_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE];
+#else
+extern U_sTEMPAGCOFFSET         *U_AGC_PATHLOSS_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+extern U_sRAMPDATA              *UMTS_RampData[UL1D_RF_CUSTOM_BAND];
+extern U_sPAOCTLVLSETTING       *U_PA_OCTLEV_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sPARACHTMCOMPDATA      *U_PA_RACH_COMP_TABLE[UL1D_RF_CUSTOM_BAND];
+#if IS_3G_RF_NCCA_SUPPORT
+extern U_sTEMPAGCOFFSET         *U_AGC_PATHLOSS_RXD_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE]; //RXD path loss
+#else
+extern U_sTEMPAGCOFFSET         *U_AGC_PATHLOSS_RXD_TABLE[UL1D_RF_CUSTOM_BAND]; //RXD path loss
+#endif
+extern U_sPADRIFTSETTING        *U_PA_DRIFT_TABLE[];
+
+extern UMTS_RF_POWER_ON_CAL_DATA_T   *U_POC_CAL_DATA_ptr;
+
+#if __IS_UL1D_DPD_SUPPORT__
+extern U_sDPD_GROUP_ALL          *p_U_DPD_GROUP_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sDPD_GROUP_ALL*          U_DPD_GROUP_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sUl1dDpdCustomInputData *UMTS_DPD_CUSTOM_INPUT_DATA_ptr;
+extern U_sUl1dDpdCustomInputData *UMTS_DPD_CUSTOM_INPUT_DATA_PCORE_ptr;
+extern U_sUl1dDpdCustomInputData  UMTS_DPD_CUSTOM_INPUT_DATA_PCORE;
+extern DPD_ENABLE_E              *UMTS_DPD_ENABLE_ptr;
+extern DPD_ENABLE_E              *UMTS_DPD_ENABLE_PCORE_ptr;
+extern DPD_ENABLE_E               UMTS_DPD_ENABLE_PCORE;
+#endif
+
+extern const U_sDPD_COMMON_CTRL*  UMTS_DPD_CommonCtrlData_SetDefault[UL1D_RF_CUSTOM_BAND];
+extern const U_UL1D_PCFE_DPD_OTFC_CUSTOM_PARA_T  ul1d_pcfe_dpd_otfc_custom_para_SetDefault;
+
+#if IS_URF_PCORE
+extern kal_bool is_band5_and_band6_indicator;
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT
+extern kal_bool is_band5_and_band19_indicator;
+extern kal_bool is_disable_band5_indicator;
+#endif
+extern kal_uint8 ul1d_BandInfo[MAX_SUPPORTED_BAND_INDEX];
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+extern kal_uint32 band_info_debug;
+#endif
+extern kal_uint32 ul1d_CaBandInfo[UMTS_RF_CA_FE_NUM_MAX];
+extern UMTS_FE_ROUTE_TABLE_T UMTS_FE_ROUTE_TBL[UMTS_RF_FRONT_END_NUM_MAX];
+
+/*this may move to Pcore interface head file*/
+extern U_sUl1dRfCustomInputData *UMTS_RF_CUSTOM_INPUT_DATA_PCORE_ptr;
+extern U_sUl1dRfCustomInputData UMTS_RF_CUSTOM_INPUT_DATA_PCORE;
+
+/* const variable as default calibration data in Pcore */
+#if IS_3G_RF_NCCA_SUPPORT
+extern const U_sTEMPAGCOFFSET*      const U_AGC_PATHLOSS_TABLE_SetDefault[UMTS_AGC_PATHLOSS_TBL_SIZE];
+#else
+extern const U_sTEMPAGCOFFSET*      const U_AGC_PATHLOSS_TABLE_SetDefault[UL1D_RF_CUSTOM_BAND];
+#endif
+extern const U_sRAMPDATA*           const UMTS_RampData_SetDefault[UL1D_RF_CUSTOM_BAND];
+extern const U_sPAOCTLVLSETTING*    const U_PA_OCTLEV_TABLE_SetDefault[UL1D_RF_CUSTOM_BAND];
+extern const U_sPARACHTMCOMPDATA*   const U_PA_RACH_COMP_TABLE_SetDefault[UL1D_RF_CUSTOM_BAND];
+#if IS_3G_RF_NCCA_SUPPORT
+extern const U_sTEMPAGCOFFSET*      const U_AGC_PATHLOSS_RXD_TABLE_SetDefault[UMTS_AGC_PATHLOSS_TBL_SIZE]; //RXD path loss
+#else
+extern const U_sTEMPAGCOFFSET*      const U_AGC_PATHLOSS_RXD_TABLE_SetDefault[UL1D_RF_CUSTOM_BAND]; //RXD path loss
+#endif
+extern const U_sPADRIFTSETTING*     const U_PA_DRIFT_TABLE_SetDefault[];
+extern const U_sAFCDACDATA        U_AFC_DAC_SetDefault;
+extern const U_sAFCCAPDATA        U_AFC_CAP_SetDefault;
+extern const kal_uint16           U_TEMP_DAC_SetDefault[CAL_TEMP_SECTION];
+extern const UMTS_FE_ROUTE_TABLE_T      UMTS_FE_ROUTE_TBL_SetDefault[UMTS_RF_FRONT_END_NUM_MAX];
+#if IS_3G_TAS_SUPPORT
+extern UMTS_TAS_Configuration_T UMTS_TAS_Configuration_Table_SetDefault;
+#endif/*IS_3G_TAS_SUPPORT*/
+
+#if (IS_3G_TAS_ANTENNA_IDX_ON_TEST_SIM)
+extern UMTS_TAS_ANT_IDX_T       *UMTS_TAS_ANT_IDX_PCORE_ptr;
+#endif
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+extern const U_sSARBackoffDATA* const U_SAR_BACKOFF_TABLE_SetDefault[];
+extern U_sSARBackoffDATA* UMTS_SAR_BACKOFF_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT 
+extern const U_sTXPOWEROFFSETDATA* const U_TX_POWER_OFFSET_TABLE_SetDefault[];
+extern U_sTXPOWEROFFSETDATA* UMTS_TX_POWER_OFFSET_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+extern const U_sTXNSFTPOWEROFFSETDATA* const U_TX_NSFT_POWER_OFFSET_TABLE_SetDefault[];
+extern U_sTXNSFTPOWEROFFSETDATA_ALLBAND* UMTS_TX_NSFT_POWER_OFFSET_PCORE_ptr;
+#endif
+
+#if(IS_3G_RX_POWER_OFFSET_SUPPORT)
+extern const U_sRXPOWEROFFSETDATA* const U_RX_POWER_OFFSET_TABLE_SetDefault[];
+extern U_sRXPOWEROFFSETDATA* UMTS_RX_POWER_OFFSET_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+extern const UMTS_VPA_SOURCE_TYPE* const UMTS_VPA_SRC_SEL_TABLE_SetDefault[];
+extern UMTS_VPA_SOURCE_TYPE* UMTS_VPA_SRC_SEL_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+extern const hs_dsch_rfeq_info_band_T* const UMTS_RFEQ_COEF_TABLE_SetDefault[];
+extern hs_dsch_rfeq_info_band_T* UMTS_RFEQ_COEF_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_RFEQ_REAL_COEF_TEST
+extern const URXDFE_REAL_RFEQ_CUSTOM_BAND_T* const UMTS_RFEQ_REAL_COEF_TABLE_SetDefault[];
+extern URXDFE_REAL_RFEQ_CUSTOM_BAND_T* UMTS_RFEQ_REAL_COEF_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_URF_PCORE_REMOVE_SUPPORT
+#else
+
+/* Pcore global table pointer extern */
+#if IS_3G_RF_NCCA_SUPPORT
+extern U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_PCORE_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE];
+extern U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_RXD_PCORE_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE];
+#else
+extern U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_RXD_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+extern U_sRAMPDATA         *UMTS_RampData_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sPAOCTLVLSETTING  *U_PA_OCTLEV_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sPARACHTMCOMPDATA *U_PA_RACH_COMP_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sPADRIFTSETTING   *U_PA_DRIFT_PCORE_TABLE[UL1D_RF_CUSTOM_BAND];
+extern U_sAFCDACDATA       *U_AFC_DAC_PCORE_ptr;
+extern U_sAFCCAPDATA       *U_AFC_CAP_PCORE_ptr;
+extern kal_uint16          *U_TEMP_DAC_PCORE_TABLE;
+extern UMTS_RF_POWER_ON_CAL_DATA_T  *U_POC_CAL_DATA_PCORE_ptr;
+#endif /*IS_URF_PCORE_REMOVE_SUPPORT*/
+
+extern const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T *UMTS_PWRON_CAL_DATA_PTR[UL1D_RF_CUSTOM_BAND];
+#endif //IS_URF_PCORE
+
+// Start for ADAPT IOT AMR workaround
+//extern kal_bool UL1_IS_ADAPT_IOT_CUSTOMIZATION; //remove for gcc build error
+// End for ADAPT IOT AMR workaround
+extern kal_uint32 UL1D_DCXO_CAPID;
+extern kal_bool   UL1D_Set_CAPID;
+
+/*******************************************************************************
+** Global Function Prototypes for RF customization and META Factory Calibration
+*******************************************************************************/
+// for RAC and L4 to recognize this FDD HW band support query API
+extern void UL1D_UeBandCapability(kal_uint16 *ue_cap);
+extern void UL1D_UeBandCapabilityEx(kal_uint32 *ue_cap);
+extern void UL1D_UeCaBandCapability(CA_RF_BAND_CAPABILITY_T *ue_cap, kal_uint8 report_index);
+extern void UL1TST_MsCapability(UMTS_MsCapabilityEx *ms_cap);
+extern void UL1D_RF_SetTempDac(void* table);
+extern void UL1D_RF_SetPathLossTable(UMTSBand rf_band, void* table);
+extern void UL1D_RF_SetTxDacData(UMTSBand rf_band, void* table );
+#if (defined __MD97__) || (defined __MD97P__)
+extern void UL1D_RF_SetPaApcDac(UMTSBand rf_band, kal_int16 prf, kal_uint8 pa_mode, kal_uint8 vm1, kal_uint8 vm2, kal_uint16 dc2dc_level, kal_uint16 vbias_dac, kal_uint16 apc_dac);
+#elif (defined __MD95__)
+extern void UL1D_RF_SetPaApcDac(UMTSBand rf_band, kal_uint16 idx, kal_uint8 pa_mode, kal_uint8 vm1, kal_uint8 vm2, kal_uint16 dc2dc_level, kal_uint16 vbias_dac, kal_uint16 apc_dac);
+#else
+#error "[ERROR] Invalid MD generation"
+#endif
+extern void UL1D_RF_GetImmediateBSI(kal_uint32 bsi_isb_port, kal_uint32 bsi_addr, kal_uint32 *bsi_data);
+extern void UL1D_RF_SetTxPaOctLevData(UMTSBand rf_band, void* table);
+extern void UL1D_RF_GetPwrDetMeas(kal_uint16 txpwr_set_idx, kal_int16 *txpwr_meas);
+extern void UL1D_RF_SetTxPrachTmCompData(UMTSBand rf_band, void* table);
+extern void UL1D_RF_SetAfcDac(void* table);
+extern void UL1D_RF_SetAfcCap(void* table);
+extern UMTSBand L1_RxUARFCNToFrequencyBand( kal_uint16 uarfcn, kal_bool is_band6_considered );
+extern kal_bool FDD_UL1D_RxMultiCarrier_Check(kal_uint16 *uarfcn_list, kal_uint8 num_uarfcn);
+extern kal_bool FDD_UL1D_TxMultiCarrier_Check(kal_uint16 *uarfcn_list, kal_uint8 num_uarfcn);
+extern kal_uint8 UL1D_RF_CalDataGetBand(UMTSBand rf_band_in_question, kal_bool nvram_init);
+extern kal_uint8 UL1D_RF_UMTSBandToHLB(UMTSBand rf_band);
+extern kal_uint16 UL1D_RF_UL_UARFCN_To_DL_UARFCN(UMTSBand band, kal_uint16 ul_uarfcn);
+
+#if __IS_UL1D_DPD_SUPPORT__
+extern kal_uint32 UL1D_RF_GET_DPD_SUPPORT_BAND( void );
+#endif
+
+#if defined(__UMTS_R8__)
+
+extern void UL1D_RF_SetPathLossRxdTable( UMTSBand rf_band, void* table );
+extern kal_uint8 UL1D_RF_GetCurrRxDLnaStatus(void);
+extern void UL1D_RF_SetTxPaDriftData(UMTSBand rf_band, void* table);
+extern void UL1D_RF_SetRxBandwidth(kal_bool is_5mhz);
+
+//just for META link, UL1 define this function as dummy macro
+#define UL1D_RF_SetPwrCtrlMode(x)
+#else
+extern void UL1D_RF_SetPwrCtrlMode(kal_uint8 mode);
+#endif
+
+#if !IS_HSPA_HWTPC
+extern void UL1D_Meta_HWTPC_Config(kal_uint8 pc_algo, kal_uint8 tpc_used_frame, kal_int16 pini, META_HWTPC_FRAME_INFO* info);
+#else
+extern void UL1D_Meta_HWTPC_Config(META_HWTPC_INFO *info, META_HWTPC_FRAME_INFO* f_info);
+#endif
+extern kal_bool UL1TST_GET_BIT_COUNT(kal_uint32* total_bits, kal_uint32* error_bits);
+extern kal_int8 UL1D_RF_Replace_Gain_Table_for_Cal(kal_uint32 action);
+extern kal_uint8 UL1D_RF_GetCurrRxLnaStatus(void);
+extern kal_uint32 UL1D_RF_GetID(void);
+extern kal_uint32 UL1TST_CAPID_MAX(void);
+extern void UL1D_RF_SetCrystalCap(kal_uint32 cap_no);
+
+extern void UL1T_InitCustomInputData(void);
+extern void UL1T_InitPowerOnCalData(void);
+extern unsigned long UL1D_RF_GetRxDCOC_CW151(void);
+
+extern void UL1D_RF_UpdateNVRAMToSHM(UMTS_RF_POWER_ON_CAL_DATA_T* p_poc_shm,kal_uint8 band_idx,UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T* table);
+
+extern void UL1D_RF_CA_CustomData_Update( U_sUl1dRfCustomInputData *dst );
+extern void UL1D_RF_DynamicSetRfBandSupport( U_sUl1dRfCustomInputData *dst );
+extern void UL1D_RF_UpdateDatabaseTable( void );
+extern void UL1T_InitCalibrationData( void );
+extern void nvram_init_uL1_mipiData(void);
+extern void UL1D_RF_SetPowerOnCalData_ByDefaultCustom( UMTSBand rf_band, const void* table );
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+extern void UL1D_RF_Get_Interference_Freq_Table(UMTS_RF_INTERFERENCE_FREQUENCY_T *ul1d_interference_frequency_table);
+#endif
+
+#if IS_3G_FDD_RX_PATH_SELECTION_SUPPORT
+extern U_sUl1dRfCustomInputData* UL1D_RF_ANT_SEL(ANT_SEL_TYPE antsel );
+extern ANT_SEL_TYPE UL1D_RF_ANT_QUERY(void);
+#endif
+
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+extern void nvram_init_uL1_SARBackoffData(void);
+#endif
+
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT
+extern void UL1D_RF_SetTpoData(kal_uint32 LID, kal_uint8 *buffer );
+extern void nvram_init_uL1_TpoData(void);
+#endif
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+extern void UL1D_RF_SetNsftTpoData(kal_uint32 LID, kal_uint8 *buffer );
+extern void nvram_init_uL1_nsftTpoData(void);
+#endif
+
+#if IS_3G_RX_POWER_OFFSET_SUPPORT
+extern void nvram_init_uL1_RpoData(void);
+#endif
+
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+extern void nvram_init_uL1_vpaSrcSel(void);
+#endif/*IS_3G_VPA_SEL_BY_BAND_SUPPORT*/
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+extern void nvram_init_uL1_datFeatureByRat(void);
+#if !IS_3G_GEN97_DAT_SUPPORT
+extern void nvram_init_uL1_datFeatureByRoute(void);
+extern void nvram_init_uL1_datFeDb(void);
+extern void nvram_init_uL1_mipiDatAEvent(void);
+extern void nvram_init_uL1_mipiDatAData(void);
+extern void nvram_init_uL1_mipiDatBEvent(void);
+extern void nvram_init_uL1_mipiDatBData(void);
+#endif
+#if !IS_3G_UDAT_SUPPORT
+extern const UMTS_CUSTOM_DAT_FE_CAT_A_T UMTS_DAT_CAT_A_DATABASE_SetDefault;
+extern const UMTS_CUSTOM_DAT_FE_CAT_B_T UMTS_DAT_CAT_B_DATABASE_SetDefault;
+extern UMTS_CUSTOM_DAT_FE_DATABASE_T UMTS_DAT_FE_DATABASE_SetDefault;
+#endif
+#if !IS_3G_GEN97_DAT_SUPPORT
+extern const UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T UMTS_DAT_FE_ROUTE_DATABASE_SetDefault;
+#endif
+extern UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T UMTS_DAT_FEATURE_BY_RAT_SetDefault;
+
+#if !IS_3G_UDAT_SUPPORT
+extern UMTS_CUSTOM_DAT_FE_DATABASE_T       *UMTS_DAT_FE_DATABASE_TABLE_ptr;
+#endif
+#if !IS_3G_GEN97_DAT_SUPPORT
+extern UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T *UMTS_DAT_FE_ROUTE_TABLE_ptr;
+#endif
+extern UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T    *UMTS_DAT_FEATURE_BY_RAT_ptr;
+
+#if !IS_3G_UDAT_SUPPORT
+extern UMTS_CUSTOM_DAT_FE_DATABASE_T       *UMTS_DAT_FE_DATABASE_PCORE_ptr;
+#endif
+#if !IS_3G_GEN97_DAT_SUPPORT
+extern UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T *UMTS_DAT_FE_ROUTE_DATABASE_PCORE_ptr;
+#endif
+extern UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T    *UMTS_DAT_FEATURE_BY_RAT_PCORE_ptr;
+#endif
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+extern void nvram_init_uL1_tasFeatureByRat(void);
+extern void nvram_init_uL1_tasFeatureByRoute(void);
+extern void nvram_init_uL1_tasFeDb(void);
+extern void nvram_init_uL1_mipiTasAEvent(void);
+extern void nvram_init_uL1_mipiTasAData(void);
+extern void nvram_init_uL1_mipiTasBEvent(void);
+extern void nvram_init_uL1_mipiTasBData(void);
+extern void nvram_init_uL1_mipiTasCEvent(void);
+extern void nvram_init_uL1_mipiTasCData(void);
+#if !IS_3G_UTAS_SUPPORT
+extern const UMTS_CUSTOM_TAS_FE_CAT_A_T UMTS_TAS_CAT_A_DATABASE_SetDefault;
+extern const UMTS_CUSTOM_TAS_FE_CAT_B_T UMTS_TAS_CAT_B_DATABASE_SetDefault;
+extern const UMTS_CUSTOM_TAS_FE_CAT_C_T UMTS_TAS_CAT_C_DATABASE_SetDefault;
+extern UMTS_CUSTOM_TAS_FE_DATABASE_T UMTS_TAS_FE_DATABASE_SetDefault;
+#endif
+
+#if IS_3G_GEN97_TAS_SUPPORT
+extern const UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T     UMTS_TAS_FE_ROUTE_DATABASE_SetDefault;
+#else
+extern const UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T UMTS_TAS_FE_ROUTE_DATABASE_SetDefault;
+#endif
+
+extern UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T UMTS_TAS_FEATURE_BY_RAT_SetDefault;
+#if !IS_3G_UTAS_SUPPORT
+extern UMTS_CUSTOM_TAS_FE_DATABASE_T       *UMTS_TAS_FE_DATABASE_TABLE_ptr;
+#endif
+extern UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T *UMTS_TAS_FE_ROUTE_TABLE_ptr;
+extern UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T    *UMTS_TAS_FEATURE_BY_RAT_ptr;
+#if !IS_3G_UTAS_SUPPORT
+extern UMTS_CUSTOM_TAS_FE_DATABASE_T       *UMTS_TAS_FE_DATABASE_PCORE_ptr;
+#endif
+
+#if IS_3G_GEN97_TAS_SUPPORT
+   extern UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T     *UMTS_TAS_FE_ROUTE_DATABASE_PCORE_ptr;
+   extern UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T     *UMTS_TAS_FE_ROUTE_DATA_TABLE_ptr;
+   extern UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T UMTS_TAS_FE_ROUTE_TABLE;
+#else
+   extern UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T *UMTS_TAS_FE_ROUTE_DATABASE_PCORE_ptr;
+#endif
+
+extern UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T    *UMTS_TAS_FEATURE_BY_RAT_PCORE_ptr;
+#if IS_3G_TAS_TST_SUPPORT
+extern const UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T UMTS_TAS_TST_FE_ROUTE_DATABASE_SetDefault;
+extern UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T UMTS_TAS_TST_FE_ROUTE_DATABASE_PCORE;
+extern UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T *UMTS_TAS_TST_FE_ROUTE_DATABASE_PCORE_ptr;
+extern UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T *UMTS_TAS_TST_FE_ROUTE_DATABASE_ptr;
+#endif
+#if IS_3G_TAS_INHERIT_4G_ANT
+kal_bool UL1D_RF_TAS_QUERY_INHERIT_LTE_ANT(LTE_Band lteBand, UMTSBand wcdmaBand, UMTS_CUSTOM_TAS_STATE_E tasState);
+
+extern void nvram_init_uL1_tasInheritLteAnt(void);
+extern void ul1d_rf_tas_inherit_lte_transform_bitmap(const UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_T *src_p, UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_T *dst_p);
+
+extern const UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_T* const UMTS_TAS_INHERIT_LTE_ANT_TABLE_SetDefault[];
+extern UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_T *UMTS_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_PCORE_ptr;
+
+extern UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_T *UMTS_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_ptr;
+#endif
+#endif
+
+#if IS_3G_UTAS_SUPPORT
+void UL1D_RF_UTAS_Get_Custom_Information(UMTSBand band, UMTS_RF_UTAS_CUSTOM_INFO_T *customInfo_p);
+kal_int8 UL1D_Query_RSCP_Bias_By_Band_and_Ant( MMRFD_ANT_INDEX_TYPE_E ant_idx , UMTSBand band);
+#endif
+
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBandNone_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand1_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand2_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand3_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand4_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand5_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand6_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand7_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand8_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand9_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand10_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand11_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_UMTSBand19_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBandNone_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand1_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand2_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand3_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand4_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand5_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand6_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand7_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand8_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand9_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand10_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand11_SetDefault;
+extern const U_sTEMPAGCOFFSET AGC_PATHLOSS_RXD_UMTSBand19_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBandNone_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand1_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand2_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand3_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand4_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand5_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand6_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand7_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand8_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand9_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand10_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand11_SetDefault;
+extern const U_sRAMPDATA  RampData_UMTSBand19_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBandNone_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand1_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand2_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand3_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand4_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand5_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand6_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand7_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand8_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand9_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand10_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand11_SetDefault;
+extern const U_sPAOCTLVLSETTING  PaOctLevData_UMTSBand19_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBandNone_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand1_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand2_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand3_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand4_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand5_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand6_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand7_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand8_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand9_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand10_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand11_SetDefault;
+extern const U_sPADRIFTSETTING  PaDriftCompData_UMTSBand19_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBandNone_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand1_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand2_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand3_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand4_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand5_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand6_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand7_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand8_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand9_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand10_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand11_SetDefault;
+extern const U_sPARACHTMCOMPDATA RACH_temperature_compensation_UMTSBand19_SetDefault;
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+extern UMTS_RF_INTERFERENCE_FREQUENCY_T UMTS_RF_INTERFERENCE_FREQUENCY_PCORE;
+extern UMTS_RF_INTERFERENCE_FREQUENCY_T *UMTS_RF_INTERFERENCE_FREQUENCY_PCORE_ptr;
+extern UMTS_RF_INTERFERENCE_FREQUENCY_T *UMTS_RF_INTERFERENCE_FREQUENCY_ptr;
+#endif
+
+#if IS_3G_RF_FPGA_L1S_BRINGUP
+extern void UL1D_MMRF_PcoreUpdate2SHM_ByDefaultCustom(void);
+extern void UL1D_MMRF_PCoreSHMDataInit(void);
+#endif
+
+extern const U_sRAMPDATA  DPD_RampData_UMTSBandNone_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand1_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand2_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand3_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand4_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand5_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand6_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand7_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand8_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand9_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand10_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand11_SetDefault;
+extern const U_sRAMPDATA  DPD_RampData_UMTSBand19_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBandNone_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand1_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand2_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand3_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand4_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand5_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand6_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand7_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand8_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand9_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand10_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand11_SetDefault;
+extern const U_sPAOCTLVLSETTING  DPD_PaOctLevData_UMTSBand19_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBandNone_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand1_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand2_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand3_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand4_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand5_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand6_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand7_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand8_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand9_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand10_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand11_SetDefault;
+extern const U_sDPD_COMMON_CTRL DPD_CommonCtrlData_UMTSBand19_SetDefault;
+#if __IS_UL1D_DPD_SUPPORT__
+void nvram_init_uL1_dpdData(void);
+#endif
+
+#if __IS_UL1D_ETM_SUPPORT__
+extern void nvram_init_uL1_mipiEtmData(void);
+#endif   // #if __IS_UL1D_ETM_SUPPORT__
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+extern void nvram_init_uL1_rfeqCoefData(void);
+#endif
+
+#if (IS_3G_RFEQ_REAL_COEF_TEST)
+extern void nvram_init_uL1_rfeqRealCoefCustom(void);
+#endif
+
+#endif /* End of #ifndef UL1D_RF_PUBLIC_H */
+
diff --git a/mcu/interface/l1/ul1/external/wdata.c b/mcu/interface/l1/ul1/external/wdata.c
new file mode 100644
index 0000000..7fe043d
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/wdata.c
@@ -0,0 +1,1145 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * wdata.c
+ *
+ * Project:
+ * --------
+ * MT6268
+ *
+ * Description:
+ * ------------
+ * Variables/Arrays for customer to make their own configurations.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *----------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *----------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/*===============================================================================*/
+#include "kal_general_types.h"
+
+#include "ul1d_rf_public.h"
+#include "ul1d_rf_common.h"
+#include "ul1d_rf_cid.h"
+#include "ul1cal.h"
+#include "mml1_dpd_def.h"
+/*===============================================================================*/
+
+#if defined(__MTK_TARGET__)
+
+#define __ATTRIBUTE_SECTION__(_s) __attribute__ ((section(#_s)))
+#define __ATTRIBUTE_ALIGNED__(_a) __attribute__ ((aligned((_a))))
+#define __ATTRIBUTE_ZI__          __attribute__ ((zero_init))
+
+#else
+
+#define __ATTRIBUTE_SECTION__(_s)
+#define __ATTRIBUTE_ALIGNED__(_a) 
+#define __ATTRIBUTE_ZI__  
+
+#endif 
+
+#define __SECTION_INTSRAM_RODATA__   //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_RODATA)
+/* #define __SECTION_INTSRAM_ROCODE__   //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_ROCODE) */ /* remove after tk6291 */
+#define __SECTION_INTSRAM_ZI__       //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_ZI)
+#define __SECTION_INTSRAM_RW__       //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_RW)
+
+#define __SECTION_NONCACHEDZI__      __ATTRIBUTE_SECTION__(NONCACHEDZI) __ATTRIBUTE_ZI__
+#define __SECTION_NONCACHEDRW__      __ATTRIBUTE_SECTION__(NONCACHEDRW) 
+
+#define __SECTION_DYNAMICCACHEABLEZI_C__   __ATTRIBUTE_SECTION__(DYNAMICCACHEABLEZI_C) __ATTRIBUTE_ZI__
+
+
+#define MAX_DIST(m,n) (((m)>(n))?(m):(n))
+#define MIN_DIST(m,n) (((m)<(n))?(m):(n))
+
+//BPI timing default invalid zero definition for l1core. MUST to be defined in ul1d_custom_rf.h in pcore
+#ifndef TC_PR1
+#define  TC_PR1     0
+#endif
+#ifndef TC_PR2
+#define  TC_PR2     0
+#endif
+#ifndef TC_PR3
+#define  TC_PR3     0
+#endif
+#ifndef TC_PT1
+#define  TC_PT1     0
+#endif
+#ifndef TC_PT2
+#define  TC_PT2     0
+#endif
+#ifndef TC_PT3
+#define  TC_PT3     0
+#endif
+
+kal_uint16 max_offset   =  0; /*MAX_OFFSET*/
+__SECTION_INTSRAM_RW__
+kal_uint16 vm_offset    =  0; /*(MAX_OFFSET - VM_OFFSET)*/
+kal_uint16 vbias_offset =  0; /*(MAX_OFFSET - VBIAS_OFFSET)*/
+kal_uint16 dc2dc_offset =  0; /*(MAX_OFFSET - DC2DC_OFFSET)*/
+kal_uint16 vga_offset   =  0; /*(MAX_OFFSET - VGA_OFFSET)*/
+
+#ifdef __GNUC__ //These are GCC specific pragmas
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtautological-compare"
+#endif
+/*Notes: due to use SR(T)1,PR(T)1,SR(T)3,PR(T)3 for max and min distance calculating, which is
+         used for the RF timer setting, so must make sure the SR1,PR1 must larger than other
+         event timing, and PT1,ST1 is smaller than other event timing, even in ul1d_custom_rf.h
+         you can set like SR2>SR1 */
+#define MAX_RX_START_OFFSET MAX_DIST(TC_SR1, TC_PR1)
+#define MAX_TX_START_OFFSET MAX_DIST(TC_ST1, TC_PT1)
+#define MAX_RX_END_OFFSET MAX_DIST(TC_SR3, TC_PR3A)
+#define MAX_TX_END_OFFSET MAX_DIST(TC_ST3, TC_PT3A)
+#define MIN_RX_END_OFFSET MIN_DIST(TC_SR3, TC_PR3)
+#define MIN_TX_END_OFFSET MIN_DIST(TC_ST3, TC_PT3)
+
+#define MAX_MODE_START_OFFSET MAX_DIST(TC_SR2B, TC_ST2C)
+
+kal_int16 max_rx_start_offset = MAX_RX_START_OFFSET;
+kal_int16 max_tx_start_offset = MAX_TX_START_OFFSET;
+
+kal_int16 max_txcal_start_offset = TC_ST_CAL;
+
+kal_int16 max_rx_end_offset = MAX_RX_END_OFFSET;
+kal_int16 max_tx_end_offset = MAX_TX_END_OFFSET;
+
+kal_int16 min_rx_end_offset = MIN_RX_END_OFFSET;
+
+kal_int16 min_tx_end_offset = MIN_TX_END_OFFSET;
+
+kal_uint8 max_rx_end_reg_idx;
+kal_int16 min_rx_off_evt_cancel_margin;
+
+//Add for R8 to support RXD and Dual cell
+kal_int16 max_rx_dc_reconfig_offset = TC_DC_SR1;
+kal_int16 max_rxd_start_offset = MAX_DIST(TC_RXD_SR1, TC_PR1_2); 
+kal_int16 min_rxd_end_offset = MIN_DIST(TC_RXD_SR3, TC_PR3_2);
+//kal_int16 max_rxd_start_offset = MAX_DIST(TC_RXD_SR1, TC_PR1); 
+//kal_int16 min_rxd_end_offset = MIN_DIST(TC_RXD_SR3, TC_PR3)
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
+
+#if IS_3G_MIPI_SUPPORT
+kal_uint16 ul1_mipi_offset  =  0; /*(MAX_OFFSET - MIPI_OFFSET)*/
+kal_bool is_3g_mipi_enable = KAL_TRUE;
+#endif
+
+kal_bool is_3g_pga_ab_k_enable = KAL_TRUE;
+
+kal_uint8  pa_section = 3;
+
+#if IS_URF_COLUMBUS
+kal_int32  UMTS_RX_TQ_UCNT_TABLE[3] =
+{
+   -TC_SR1_UCNT,
+   -TC_SR2_UCNT,
+   TC_SR3_UCNT
+};
+
+kal_int32  UMTS_TX_TQ_UCNT_TABLE[3] =
+{
+   -TC_ST1_UCNT,
+   -TC_ST2_UCNT,
+   TC_ST3_UCNT
+};
+
+kal_int32  UMTS_RX_OFF2ON_TQ_UCNT_TABLE[3] =
+{
+   -TC_DC_SR1_UCNT,
+   -TC_DC_SR2_UCNT,
+   -TC_DC_SR2B_UCNT,
+};
+#endif
+
+kal_int16  UMTS_RX_START_TQ_TABLE[6] =
+{
+   /* TQ_SLOT_BEGIN(i) + */ -TC_SR1,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_SR2,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_SR2B,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_PR1,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_PR2,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_PR2B
+};
+
+
+kal_int16  UMTS_RX_END_TQ_TABLE[3] =
+{
+   /* TQ_SLOT_BEGIN(i) + */ TC_SR3,
+   /* TQ_SLOT_BEGIN(i) + */ TC_PR3,
+   /* TQ_SLOT_BEGIN(i) + */ TC_PR3A
+};
+
+
+kal_int16  UMTS_TX_START_TQ_TABLE[7] =
+{
+   /* TQ_SLOT_BEGIN(i) + */ -TC_ST1,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_ST2,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_ST2B,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_ST2C,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_PT1,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_PT2,
+   /* TQ_SLOT_BEGIN(i) + */ -TC_PT2B
+};
+
+kal_int16  UMTS_TX_END_TQ_TABLE[3] =
+{
+   /* TQ_SLOT_BEGIN(i) + */ TC_ST3,
+   /* TQ_SLOT_BEGIN(i) + */ TC_PT3,
+   /* TQ_SLOT_BEGIN(i) + */ TC_PT3A
+};
+
+//Add following table to support RXD and Dual Cell
+kal_int16  UMTS_RX_OFF2ON_TQ_TABLE[3] =
+{
+   -TC_DC_SR1,
+   -TC_DC_SR2,
+   -TC_DC_SR2B,
+};
+
+#if IS_RF_RXD_SUPPORT
+kal_int16  UMTS_RXD_START_TQ_TABLE[7] =
+{
+   -TC_RXD_SR1,
+   -TC_PR1,
+   -TC_PR2,
+   -TC_PR2B,
+   -TC_PR1_2,
+   -TC_PR2_2,
+   -TC_PR2B_2
+};
+
+kal_int16  UMTS_RXD_END_TQ_TABLE[5] =
+{
+   TC_RXD_SR3,
+   TC_PR3,
+   TC_PR3A,
+   TC_PR3_2,
+   TC_PR3A_2
+};
+#endif
+
+
+#if IS_3G_REMOVE_MIPI
+//Notes: UMTS_PDATA_TABLE is used to determine which pin is for Rx and which pin is for Tx
+//       so can't put other data except BPI here
+BPI_data_type  UMTS_PDATA_TABLE[UL1D_RF_CUSTOM_BAND][2][5] =
+{     /* FrequencyBand0  */
+   {  {  PDATA_BAND1_PR1, PDATA_BAND1_PR2, PDATA_BAND1_PR2B, PDATA_BAND1_PR3, PDATA_BAND1_PR3A  } ,   /* RX */
+      {  PDATA_BAND1_PT1, PDATA_BAND1_PT2, PDATA_BAND1_PT2B, PDATA_BAND1_PT3, PDATA_BAND1_PT3A  } ,   /* TX */
+   }, /* FrequencyBand1  */
+   {  {  PDATA_BAND1_PR1, PDATA_BAND1_PR2, PDATA_BAND1_PR2B, PDATA_BAND1_PR3, PDATA_BAND1_PR3A  } ,   /* RX */
+      {  PDATA_BAND1_PT1, PDATA_BAND1_PT2, PDATA_BAND1_PT2B, PDATA_BAND1_PT3, PDATA_BAND1_PT3A  } ,   /* TX */
+   }, /* FrequencyBand2  */
+   {  {  PDATA_BAND2_PR1, PDATA_BAND2_PR2, PDATA_BAND2_PR2B, PDATA_BAND2_PR3, PDATA_BAND2_PR3A  } ,   /* RX */
+      {  PDATA_BAND2_PT1, PDATA_BAND2_PT2, PDATA_BAND2_PT2B, PDATA_BAND2_PT3, PDATA_BAND2_PT3A  } ,   /* TX */
+   }, /* FrequencyBand4 */
+   {  {  PDATA_BAND4_PR1, PDATA_BAND4_PR2, PDATA_BAND4_PR2B, PDATA_BAND4_PR3, PDATA_BAND4_PR3A  } ,   /* RX */
+      {  PDATA_BAND4_PT1, PDATA_BAND4_PT2, PDATA_BAND4_PT2B, PDATA_BAND4_PT3, PDATA_BAND4_PT3A  } ,   /* TX */
+   }, /* FrequencyBand5  */
+   {  {  PDATA_BAND5_PR1, PDATA_BAND5_PR2, PDATA_BAND5_PR2B, PDATA_BAND5_PR3, PDATA_BAND5_PR3A  } ,   /* RX */
+      {  PDATA_BAND5_PT1, PDATA_BAND5_PT2, PDATA_BAND5_PT2B, PDATA_BAND5_PT3, PDATA_BAND5_PT3A  } ,   /* TX */
+   }, /* FrequencyBand8  */                                                                                
+   {  {  PDATA_BAND8_PR1, PDATA_BAND8_PR2, PDATA_BAND8_PR2B, PDATA_BAND8_PR3, PDATA_BAND8_PR3A  } ,   /* RX */
+      {  PDATA_BAND8_PT1, PDATA_BAND8_PT2, PDATA_BAND8_PT2B, PDATA_BAND8_PT3, PDATA_BAND8_PT3A  } ,   /* TX */
+   },
+#if IS_3G_SUPPORT_8_BANDINDICATOR  
+   {  {  PDATA_BAND6_PR1, PDATA_BAND6_PR2, PDATA_BAND6_PR2B, PDATA_BAND6_PR3, PDATA_BAND6_PR3A  } ,   /* RX */
+      {  PDATA_BAND6_PT1, PDATA_BAND6_PT2, PDATA_BAND6_PT2B, PDATA_BAND6_PT3, PDATA_BAND6_PT3A  } ,   /* TX */
+   },   
+   {  {  PDATA_BAND11_PR1, PDATA_BAND11_PR2, PDATA_BAND11_PR2B, PDATA_BAND11_PR3, PDATA_BAND11_PR3A  } ,   /* RX */
+      {  PDATA_BAND11_PT1, PDATA_BAND11_PT2, PDATA_BAND11_PT2B, PDATA_BAND11_PT3, PDATA_BAND11_PT3A  } ,   /* TX */
+   },   
+   {  {  PDATA_BAND19_PR1, PDATA_BAND19_PR2, PDATA_BAND19_PR2B, PDATA_BAND19_PR3, PDATA_BAND19_PR3A  } ,   /* RX */
+      {  PDATA_BAND19_PT1, PDATA_BAND19_PT2, PDATA_BAND19_PT2B, PDATA_BAND19_PT3, PDATA_BAND19_PT3A  } ,   /* TX */
+   },
+#endif   
+};
+
+BPI_data_type  UMTS_PDATA_TABLE_H[UL1D_RF_CUSTOM_BAND][2][5] =
+{     /* FrequencyBand0  */
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   }, /* FrequencyBand1  */
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   }, /* FrequencyBand2  */
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   }, /* FrequencyBand4 */
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   }, /* FrequencyBand5  */
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   }, /* FrequencyBand8  */                                                                                
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   },
+#if IS_3G_SUPPORT_8_BANDINDICATOR 
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   },
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   },
+   {  {  0, 0, 0, 0, 0  } ,   /* RX */
+      {  0, 0, 0, 0, 0  } ,   /* TX */
+   },    
+#endif   
+};
+
+
+//Notes: UMTS_PDATA2_TABLE is used to determine which pin is for RXD
+//       so can't put other data except BPI here
+
+BPI_data_type  UMTS_PDATA2_RX_TABLE[UL1D_RF_CUSTOM_BAND][5] =
+{  /* FrequencyBand0  */
+   {  PDATA2_BAND1_PR1, PDATA2_BAND1_PR2, PDATA2_BAND1_PR2B, PDATA2_BAND1_PR3, PDATA2_BAND1_PR3A  } ,   /* RX */
+   /* FrequencyBand1  */
+   {  PDATA2_BAND1_PR1, PDATA2_BAND1_PR2, PDATA2_BAND1_PR2B, PDATA2_BAND1_PR3, PDATA2_BAND1_PR3A  } ,   /* RX */
+   /* FrequencyBand2  */
+   {  PDATA2_BAND2_PR1, PDATA2_BAND2_PR2, PDATA2_BAND2_PR2B, PDATA2_BAND2_PR3, PDATA2_BAND2_PR3A  } ,   /* RX */
+   /* FrequencyBand4 */
+   {  PDATA2_BAND4_PR1, PDATA2_BAND4_PR2, PDATA2_BAND4_PR2B, PDATA2_BAND4_PR3, PDATA2_BAND4_PR3A  } ,   /* RX */
+   /* FrequencyBand5  */
+   {  PDATA2_BAND5_PR1, PDATA2_BAND5_PR2, PDATA2_BAND5_PR2B, PDATA2_BAND5_PR3, PDATA2_BAND5_PR3A  } ,   /* RX */
+   /* FrequencyBand8  */                                                                                
+   {  PDATA2_BAND8_PR1, PDATA2_BAND8_PR2, PDATA2_BAND8_PR2B, PDATA2_BAND8_PR3, PDATA2_BAND8_PR3A  } ,   /* RX */
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+   {  PDATA2_BAND6_PR1, PDATA2_BAND6_PR2, PDATA2_BAND6_PR2B, PDATA2_BAND6_PR3, PDATA2_BAND6_PR3A  } ,	 /* RX */
+   {  PDATA2_BAND11_PR1, PDATA2_BAND11_PR2, PDATA2_BAND11_PR2B, PDATA2_BAND11_PR3, PDATA2_BAND11_PR3A  } ,	 /* RX */
+   {  PDATA2_BAND19_PR1, PDATA2_BAND19_PR2, PDATA2_BAND19_PR2B, PDATA2_BAND19_PR3, PDATA2_BAND19_PR3A  } ,	 /* RX */         
+#endif   
+};
+
+BPI_data_type  UMTS_PDATA2_RX_TABLE_H[UL1D_RF_CUSTOM_BAND][5] =
+{  /* FrequencyBand0  */
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+   /* FrequencyBand1  */
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+   /* FrequencyBand2  */
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+   /* FrequencyBand4 */
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+   /* FrequencyBand5  */
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+   /* FrequencyBand8  */                                                                                
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+#if IS_3G_SUPPORT_8_BANDINDICATOR 
+   /* FrequencyBand8  */                                                                                
+   {  0, 0, 0, 0, 0  } ,   /* RX */   
+   /* FrequencyBand8  */                                                                                
+   {  0, 0, 0, 0, 0  } ,   /* RX */   
+   /* FrequencyBand8  */                                                                                
+   {  0, 0, 0, 0, 0  } ,   /* RX */
+#endif/*IS_3G_SUPPORT_8_BANDINDICATOR*/   
+};
+#else
+//Useless after Gen97
+#endif
+
+#if (IS_3G_TAS_ANTENNA_IDX_ON_TEST_SIM)
+UMTS_TAS_ANT_IDX_T UMTS_TAS_ANT_IDX_by_band;
+#endif
+
+kal_uint8 DC2DC[3/*pa_mode*/] = 
+{
+   DC2DC_H,
+   DC2DC_M,
+   DC2DC_L
+};
+
+kal_uint8 VM_data[3/*pa_mode*/] = 
+{
+   VM_H,
+   VM_M,
+   VM_L
+};
+
+#if IS_3G_REMOVE_MIPI
+/* mtk02653: For checking the notch tuning scenario (cases) */
+/* and also checking whether wrong customer setting exists. */
+UL1_RF_RX_IO_E band1_ch_sel =  BAND1_CHANNEL_SEL;
+UL1_RF_RX_IO_E band2_ch_sel =  BAND2_CHANNEL_SEL;
+UL1_RF_RX_IO_E band3_ch_sel =  BAND3_CHANNEL_SEL;
+UL1_RF_RX_IO_E band4_ch_sel =  BAND4_CHANNEL_SEL;
+
+UL1_RF_RX_IO_E band5_ch_sel =  BAND5_CHANNEL_SEL;
+UL1_RF_RX_IO_E band6_ch_sel =  BAND6_CHANNEL_SEL;
+UL1_RF_RX_IO_E band8_ch_sel =  BAND8_CHANNEL_SEL;
+UL1_RF_RX_IO_E band9_ch_sel =  BAND9_CHANNEL_SEL;
+UL1_RF_RX_IO_E band10_ch_sel = BAND10_CHANNEL_SEL;
+UL1_RF_RX_IO_E band11_ch_sel = BAND10_CHANNEL_SEL;
+UL1_RF_RX_IO_E band19_ch_sel = BAND19_CHANNEL_SEL;
+
+#if IS_RF_RXD_SUPPORT
+UL1_RF_RXD_IO_E band1_ch2_sel =  BAND1_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band2_ch2_sel =  BAND2_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band3_ch2_sel =  BAND3_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band4_ch2_sel =  BAND4_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band5_ch2_sel =  BAND5_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band6_ch2_sel =  BAND6_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band8_ch2_sel =  BAND8_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band9_ch2_sel =  BAND9_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band10_ch2_sel = BAND10_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band11_ch2_sel = BAND11_CHANNEL2_SEL;
+UL1_RF_RXD_IO_E band19_ch2_sel = BAND19_CHANNEL2_SEL;
+#endif
+#else
+//Useless after Gen97
+#endif 
+
+kal_bool pmu_pasetting = KAL_TRUE;
+kal_bool ultra_low_cost= KAL_FALSE;
+kal_bool TM_enable = TEAMPERATURE_MEAS_EN;
+kal_bool VPA_mode_setting = KAL_FALSE;
+
+#if defined (__UMTS_R8__) 
+/** [20130429 LY] replace 0xFFFFFFFF by custom setting to avoid false alarm of cal. data download */
+//Should be quered by Band, customize in rf_custim.h to indicate support of RXD
+kal_uint32 rxd_support_mask = 0x0;
+
+kal_uint32 rx_diversity_always_on = KAL_FALSE;
+kal_uint32 pa_dirft_bitmap        = 0x0;
+#endif
+
+kal_bool is_band5_and_band6_indicator = KAL_FALSE;
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT
+kal_bool is_band5_and_band19_indicator = KAL_FALSE;
+kal_bool is_disable_band5_indicator = KAL_FALSE;
+#endif
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+kal_uint8 ul1d_BandInfo[MAX_SUPPORTED_BAND_INDEX] ={ UMTSBand1,
+                                                     UMTSBand2,
+                                                     UMTSBand4,
+                                                     UMTSBand5,
+                                                     UMTSBand8,
+                                                     UMTSBandNone,
+                                                     UMTSBandNone,
+                                                     UMTSBandNone};
+kal_uint32 band_info_debug = 0;
+#else
+kal_uint8 ul1d_BandInfo[5] ={ UMTSBand1,
+                              UMTSBand2,
+                              UMTSBand4,
+                              UMTSBand5,
+                              UMTSBand8};
+#endif // IS_3G_SUPPORT_8_BANDINDICATOR
+
+kal_uint32 ul1d_CaBandInfo[UMTS_RF_CA_FE_NUM_MAX] = {0};
+UMTS_FE_ROUTE_TABLE_T  UMTS_FE_ROUTE_TBL[UMTS_RF_FRONT_END_NUM_MAX] = 
+{
+   {0, 0, {{0}}}
+};
+
+UMTS_RX_ROUTE_TABLE_T        UMTS_RX_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = 
+{
+   {0, {{0}}, {0}, 0, 0, 0, 0}
+};
+
+UMTS_TX_ROUTE_TABLE_T        UMTS_TX_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] =
+{
+   {0, {{0}}, {0}, 0, 0}
+};
+
+UMTS_RX_COMP_ROUTE_TABLE_T   UMTS_RX_COMP_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = {0};
+UMTS_TX_COMP_ROUTE_TABLE_T   UMTS_TX_COMP_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = {0};
+
+UMTS_USAGE_DES_T             UMTS_USAGE_TBL[UMTS_USAGE_TBL_SIZE_MAX] = 
+{
+   {{0}, {0}, 0, {0}}
+};
+
+#if IS_3G_REMOVE_MIPI
+UL1_RF_TX_IO_E band_output_sel[20]={TX_NULL_BAND,
+                                    BAND1_OUTPUT_SEL,
+                                    BAND2_OUTPUT_SEL,
+                                    BAND3_OUTPUT_SEL,
+                                    BAND4_OUTPUT_SEL,
+                                    BAND5_OUTPUT_SEL,
+                                    BAND6_OUTPUT_SEL,
+                                    TX_NULL_BAND,
+                                    BAND8_OUTPUT_SEL,
+                                    BAND9_OUTPUT_SEL,
+                                    BAND10_OUTPUT_SEL,
+                                    BAND11_OUTPUT_SEL,
+                                    TX_NULL_BAND,
+                                    TX_NULL_BAND,
+                                    TX_NULL_BAND,
+                                    TX_NULL_BAND,
+                                    TX_NULL_BAND,
+                                    TX_NULL_BAND,
+                                    TX_NULL_BAND,
+                                    BAND19_OUTPUT_SEL};
+
+UL1_RF_TX_DET_IO_E band_output_det_sel[20]={TX_NULL_BAND,
+                                            BAND1_OUTPUT_DET_SEL,
+                                            BAND2_OUTPUT_DET_SEL,
+                                            BAND3_OUTPUT_DET_SEL,
+                                            BAND4_OUTPUT_DET_SEL,
+                                            BAND5_OUTPUT_DET_SEL,
+                                            BAND6_OUTPUT_DET_SEL,
+                                            TX_NULL_BAND,
+                                            BAND8_OUTPUT_DET_SEL,
+                                            BAND9_OUTPUT_DET_SEL,
+                                            BAND10_OUTPUT_DET_SEL,
+                                            BAND11_OUTPUT_DET_SEL,
+                                            TX_NULL_BAND,
+                                            TX_NULL_BAND,
+                                            TX_NULL_BAND,
+                                            TX_NULL_BAND,
+                                            TX_NULL_BAND,
+                                            TX_NULL_BAND,
+                                            TX_NULL_BAND,
+                                            BAND19_OUTPUT_DET_SEL};
+
+#else
+//Useless after Gen97
+#endif
+
+kal_bool is_rf_setting_by_nvram = KAL_TRUE;
+kal_bool is_rfic_bsi_port_swap = KAL_FALSE;
+
+#if IS_3G_GEN97_TAS_SUPPORT
+UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T UMTS_TAS_FE_ROUTE_TABLE = {{{0}}};
+#endif
+
+/* mtk02653: */
+/* Pre-processing compiler option concerning to supported RF band mode  */
+/* to see if there is any wrong customer configurations.                */
+
+#if IS_PCORE_HANDLE
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+kal_uint8 ul1custom_debug_enable = UL1CUSTOM_DEBUG_ENABLE;
+kal_uint8 ul1custom_gpio_set_nums = UL1CUSTOM_GPIO_SET_NUMS;
+kal_uint8 ul1custom_adc_set_nums = UL1CUSTOM_ADC_SET_NUMS;
+kal_uint8 ul1custom_nvram_barcode_set_nums = UL1CUSTOM_NVRAM_BARCODE_SET_NUMS;
+kal_uint8 ul1custom_gpio_nums_in_calc = UL1CUSTOM_GPIO_NUMS_IN_CALC;
+kal_uint8 ul1custom_ADC_nums_in_calc = UL1CUSTOM_ADC_NUMS_IN_CALC;
+kal_uint8 ul1custom_nvram_barcode_nums_in_calc = UL1CUSTOM_NVRAM_BARCODE_NUMS_IN_CALC;
+kal_uint8 ul1custom_first_index = UL1CUSTOM_FIRST_INDEX;
+kal_uint8 ul1custom_second_index = UL1CUSTOM_SECOND_INDEX;
+kal_uint8 ul1custom_third_index = UL1CUSTOM_THIRD_INDEX;
+kal_uint8 ul1custom_first_index_base = UL1CUSTOM_FIRST_INDEX_BASE;
+kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use = UL1CUSTOM_GPIO_NUM_OF_DETECT_PINS_IN_USE;
+kal_uint8 ul1custom_adc_level_total = UL1CUSTOM_ADC_LEVEL_TOTAL;
+kal_uint8 ul1custom_barcode_read_digit_num = UL1CUSTOM_BARCODE_READ_DIGIT_NUM;
+kal_uint8 ul1custom_barcode_digit_value_1 = UL1CUSTOM_BARCODE_DIGIT_VALUE_1;
+kal_uint8 ul1custom_barcode_digit_value_2 = UL1CUSTOM_BARCODE_DIGIT_VALUE_2;
+kal_uint8 ul1custom_barcode_digit_value_3 = UL1CUSTOM_BARCODE_DIGIT_VALUE_3;
+kal_uint8 ul1custom_max_rf_support_band_num = UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM;
+kal_uint8 ul1custom_adc_calibrate_enable = UL1CUSTOM_ADC_CALIBARTE_ENABLE;
+kal_uint8 ul1custom_adc_bits = UL1CUSTOM_ADC_BITS;
+kal_uint16 ul1custom_adc_meas_count_2_order = UL1CUSTOM_ADC_MEAS_COUNT_2_ORDER;
+kal_uint16 ul1custom_total_set_nums = UL1CUSTOM_TOTAL_SET_NUMS;
+kal_uint32 ul1custom_adc_max_input_voltage = UL1CUSTOM_ADC_MAX_INPUT_VOLTAGE;
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+#else
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+kal_uint8 ul1custom_debug_enable = 0;
+kal_uint8 ul1custom_gpio_set_nums = 0;
+kal_uint8 ul1custom_adc_set_nums = 0;
+kal_uint8 ul1custom_nvram_barcode_set_nums = 0;
+kal_uint8 ul1custom_gpio_nums_in_calc = 0;
+kal_uint8 ul1custom_ADC_nums_in_calc = 0;
+kal_uint8 ul1custom_nvram_barcode_nums_in_calc = 0;
+kal_uint8 ul1custom_first_index = 0;
+kal_uint8 ul1custom_second_index = 0;
+kal_uint8 ul1custom_third_index = 0;
+kal_uint8 ul1custom_first_index_base = 0;
+kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use = 0;
+kal_uint8 ul1custom_adc_level_total = 0;
+kal_uint8 ul1custom_barcode_read_digit_num = 0;
+kal_uint8 ul1custom_barcode_digit_value_1 = 0;
+kal_uint8 ul1custom_barcode_digit_value_2 = 0;
+kal_uint8 ul1custom_barcode_digit_value_3 = 0;
+kal_uint8 ul1custom_max_rf_support_band_num = 0;
+kal_uint8 ul1custom_adc_calibrate_enable = 0;
+kal_uint8 ul1custom_adc_bits = 0;
+kal_uint16 ul1custom_adc_meas_count_2_order = 0;
+kal_uint16 ul1custom_total_set_nums = 0;
+kal_uint32 ul1custom_adc_max_input_voltage = 0;
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+#endif
+
+kal_int32 pd_threshold = ((-5)<<5); // Power detection threshold
+
+/** DCXO/VCTCXO switch by difinition of AFC_VCXO, but need to be updated by MMRF API query*/
+#if defined (AFC_VCXO)
+kal_bool ul1d_afc_vcxo_support = KAL_TRUE;
+#else
+kal_bool ul1d_afc_vcxo_support = KAL_FALSE;
+#endif
+
+
+/*********************************************************************/
+/**                        Custom RF Timing                         **/
+/*********************************************************************/
+
+kal_int16  ddpc_trigger_offset    = (-7);
+kal_int16  meas_sample_offset_5M  = (-9);
+kal_int16  wait_sample_offset_5M  = (34);
+kal_int16  meas_sample_offset_10M = (0); 
+kal_int16  wait_sample_offset_10M = (0);
+kal_int16  adc_off_offset_0 = (3);
+kal_int16  adc_off_offset_1 = (2);
+kal_int16  adc_off_offset_2 = (2);
+
+kal_uint32  tri_sw_lm1 = 50;    
+kal_uint32  tri_sw_et1 = 50;    
+kal_uint32  tri_sw_dpd = 50;    
+kal_uint32  tri_sw_lm2 = 50;    
+kal_uint32  tri_sw_et2 = 50;    
+
+/*********************************************************************/
+/**                        Custom RF Data Pointer Structure Declare **/
+/*********************************************************************/
+U_sUl1dRfCustomInputData *UMTS_RF_CUSTOM_INPUT_DATA_ptr;
+
+#if IS_3G_ELNA_IDX_SUPPORT
+UMTS_CUSTOM_ELNA_IDX_T *UMTS_ELNA_IDX_LUT_ptr;
+#endif/*IS_3G_ELNA_IDX_SUPPORT*/
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+UMTS_RF_INTERFERENCE_FREQUENCY_T *UMTS_RF_INTERFERENCE_FREQUENCY_ptr;
+#endif/*IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT*/
+
+#if IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT
+U_sSARBackoffDATA UMTS_SAR_BACKOFF_TABLE_BACKUP[UL1D_RF_CUSTOM_BAND];
+kal_uint32 TPO_3G_TOTAL_TYPE_NUM = TPO_3G_TABLE_TYPE_NUM;
+#endif
+
+#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
+U_sSARBackoffDATA *UMTS_SAR_BACKOFF_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_TX_POWER_OFFSET_SUPPORT
+U_sTXPOWEROFFSETDATA *UMTS_TX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
+U_sTXNSFTPOWEROFFSETDATA_ALLBAND *UMTS_TX_NSFT_POWER_OFFSET_ptr;
+#endif
+
+#if(IS_3G_RX_POWER_OFFSET_SUPPORT)
+U_sRXPOWEROFFSETDATA *UMTS_RX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
+UMTS_VPA_SOURCE_TYPE            * UMTS_VPA_SRC_SEL_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+/*********************************************************************/
+/**                        Calibration Data Pointer Structure Declare**/
+/*********************************************************************/
+#if IS_3G_RF_NCCA_SUPPORT
+U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE];
+U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_RXD_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE]; //RXD path loss
+#else
+U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_TABLE[UL1D_RF_CUSTOM_BAND];
+U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_RXD_TABLE[UL1D_RF_CUSTOM_BAND]; //RXD path loss
+#endif
+U_sRAMPDATA         *UMTS_RampData[UL1D_RF_CUSTOM_BAND];
+U_sPAOCTLVLSETTING  *U_PA_OCTLEV_TABLE[UL1D_RF_CUSTOM_BAND];
+U_sPARACHTMCOMPDATA *U_PA_RACH_COMP_TABLE[UL1D_RF_CUSTOM_BAND];
+U_sPADRIFTSETTING   *U_PA_DRIFT_TABLE[UL1D_RF_CUSTOM_BAND];
+
+#if __IS_UL1D_DPD_SUPPORT__
+U_sDPD_GROUP_ALL          *p_U_DPD_GROUP_TABLE[UL1D_RF_CUSTOM_BAND];
+U_sUl1dDpdCustomInputData *UMTS_DPD_CUSTOM_INPUT_DATA_ptr;
+DPD_ENABLE_E              *UMTS_DPD_ENABLE_ptr;
+#endif
+
+U_sAFCDACDATA       *U_AFC_DAC_ptr;
+U_sAFCCAPDATA       *U_AFC_CAP_ptr;
+kal_uint16          *U_TEMP_DAC_ptr;
+
+UMTS_RF_POWER_ON_CAL_DATA_T   *U_POC_CAL_DATA_ptr = NULL;
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+#if !IS_3G_UTAS_SUPPORT
+UMTS_CUSTOM_TAS_FE_DATABASE_T       *UMTS_TAS_FE_DATABASE_TABLE_ptr = NULL;
+#endif
+UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T *UMTS_TAS_FE_ROUTE_TABLE_ptr = &UMTS_TAS_FE_ROUTE_TABLE;
+UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T    *UMTS_TAS_FEATURE_BY_RAT_ptr = NULL;
+
+#if IS_3G_GEN97_TAS_SUPPORT
+UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T     *UMTS_TAS_FE_ROUTE_DATA_TABLE_ptr = NULL; //Gen97 NVRAM+Custom
+#endif
+
+#if IS_3G_TAS_TST_SUPPORT
+UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T *UMTS_TAS_TST_FE_ROUTE_DATABASE_ptr = NULL;
+#endif
+#if IS_3G_TAS_INHERIT_4G_ANT
+UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_T *UMTS_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_ptr=NULL;
+#endif
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+#if !IS_3G_UDAT_SUPPORT
+UMTS_CUSTOM_DAT_FE_DATABASE_T       *UMTS_DAT_FE_DATABASE_TABLE_ptr = NULL;
+#endif
+#if !IS_3G_GEN97_DAT_SUPPORT
+UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T *UMTS_DAT_FE_ROUTE_TABLE_ptr = NULL;
+#endif
+UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T    *UMTS_DAT_FEATURE_BY_RAT_ptr = NULL;
+#endif
+
+#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
+hs_dsch_rfeq_info_band_T *UMTS_RFEQ_COEF_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
+#if IS_3G_RFEQ_REAL_COEF_TEST
+URXDFE_REAL_RFEQ_CUSTOM_BAND_T *UMTS_RFEQ_REAL_COEF_TABLE[UL1D_RF_CUSTOM_BAND];
+#endif
+
diff --git a/mcu/interface/l1/ul1/external/wdata.h b/mcu/interface/l1/ul1/external/wdata.h
new file mode 100644
index 0000000..9a1e4a6
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/wdata.h
@@ -0,0 +1,377 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ *	wdata.h
+ *
+ * Project:
+ * --------
+ * MT6268
+ *
+ * Description:
+ * ------------
+ *   
+ *
+ * Author:
+ * -------
+ *
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *----------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *----------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef  _UL1D_DATA_H_
+#define  _UL1D_DATA_H_
+
+/*===============================================================================*/
+#include "kal_general_types.h"
+#include "ul1d_cid.h"
+#include "ul1d_rf_public.h"
+/*===============================================================================*/
+extern kal_int16 max_rx_start_offset;
+extern kal_int16 max_tx_start_offset;
+extern kal_int16 max_txcal_start_offset;
+extern kal_int16 min_rx_end_offset;
+extern kal_int16 min_tx_end_offset;
+
+extern kal_int16 max_rx_end_offset;
+extern kal_int16 max_tx_end_offset;
+
+extern kal_uint8 max_rx_end_reg_idx;
+extern kal_int16 min_rx_off_evt_cancel_margin;
+
+//Add for Support RXD and Dual Cell
+extern kal_int16 max_rx_dc_reconfig_offset;
+extern kal_int16 UMTS_RX_OFF2ON_TQ_TABLE[3];
+
+extern kal_int16  max_rxd_start_offset;
+extern kal_int16  min_rxd_end_offset;
+extern kal_int16  UMTS_RXD_START_TQ_TABLE[7];
+extern kal_int16  UMTS_RXD_END_TQ_TABLE[5];
+extern kal_uint32 rxd_support_mask;
+extern kal_uint32 rx_diversity_always_on;
+extern kal_uint32 pa_dirft_bitmap;
+extern kal_uint16 mpr_backoff_by_service[2];
+extern kal_bool is_rf_setting_by_nvram;
+extern kal_bool is_rfic_bsi_port_swap;
+
+extern kal_uint16 max_offset;
+extern kal_uint16 vm_offset;
+extern kal_uint16 vbias_offset;
+extern kal_uint16 dc2dc_offset;
+extern kal_uint16 vga_offset;
+#if IS_3G_MIPI_SUPPORT
+extern kal_uint16 ul1_mipi_offset;
+extern kal_bool is_3g_mipi_enable;
+#endif
+
+extern kal_bool is_3g_pga_ab_k_enable;
+
+extern kal_bool   VPA_mode_setting;
+extern kal_uint8  pa_section;
+extern kal_uint8  DC2DC[3/*pa_mode*/];
+extern kal_uint8  VM_data[3/*pa_mode*/] ;
+
+extern kal_int16  UMTS_RX_START_TQ_TABLE[6];
+extern kal_int16  UMTS_RX_END_TQ_TABLE[3];
+
+extern kal_int16  UMTS_TX_START_TQ_TABLE[7];
+extern kal_int16  UMTS_TX_END_TQ_TABLE[3];
+
+
+extern BPI_data_type  UMTS_PDATA_TABLE[UL1D_RF_CUSTOM_BAND][2][5];
+extern BPI_data_type  UMTS_PDATA_TABLE_H[UL1D_RF_CUSTOM_BAND][2][5];
+extern BPI_data_type  UMTS_PDATA2_RX_TABLE[UL1D_RF_CUSTOM_BAND][5];
+extern BPI_data_type  UMTS_PDATA2_RX_TABLE_H[UL1D_RF_CUSTOM_BAND][5];
+
+#if IS_URF_COLUMBUS
+extern kal_int32  UMTS_RX_TQ_UCNT_TABLE[3];
+extern kal_int32  UMTS_TX_TQ_UCNT_TABLE[3];
+extern kal_int32  UMTS_RX_OFF2ON_TQ_UCNT_TABLE[3];
+#endif
+
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+extern kal_uint8 ul1custom_debug_enable;
+extern kal_uint8 ul1custom_gpio_set_nums;
+extern kal_uint8 ul1custom_adc_set_nums;
+extern kal_uint8 ul1custom_nvram_barcode_set_nums;
+extern kal_uint8 ul1custom_gpio_nums_in_calc;
+extern kal_uint8 ul1custom_ADC_nums_in_calc;
+extern kal_uint8 ul1custom_nvram_barcode_nums_in_calc;
+extern kal_uint8 ul1custom_first_index;
+extern kal_uint8 ul1custom_second_index;
+extern kal_uint8 ul1custom_third_index;
+extern kal_uint8 ul1custom_first_index_base;
+extern kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use;
+extern kal_uint8 ul1custom_adc_level_total;
+extern kal_uint8 ul1custom_barcode_read_digit_num;
+extern kal_uint8 ul1custom_barcode_digit_value_1;
+extern kal_uint8 ul1custom_barcode_digit_value_2;
+extern kal_uint8 ul1custom_barcode_digit_value_3;
+extern kal_uint8 ul1custom_max_rf_support_band_num;
+extern kal_uint8 ul1custom_adc_calibrate_enable;
+extern kal_uint8 ul1custom_adc_bits;
+extern kal_uint16 ul1custom_adc_meas_count_2_order;
+extern kal_uint16 ul1custom_total_set_nums;
+extern kal_uint32 ul1custom_adc_max_input_voltage;
+/*------------- Single Software Load for Multiple Components Compatible -------------*/
+
+extern kal_bool ul1d_afc_vcxo_support;
+extern kal_int32  pd_threshold;
+
+extern kal_int16  ddpc_trigger_offset;
+extern kal_int16  meas_sample_offset_5M;
+extern kal_int16  wait_sample_offset_5M;
+extern kal_int16  meas_sample_offset_10M; 
+extern kal_int16  wait_sample_offset_10M;
+extern kal_int16  adc_off_offset_0;
+extern kal_int16  adc_off_offset_1;
+extern kal_int16  adc_off_offset_2;
+
+extern kal_uint32  tri_sw_lm1;    
+extern kal_uint32  tri_sw_et1;    
+extern kal_uint32  tri_sw_dpd;    
+extern kal_uint32  tri_sw_lm2;    
+extern kal_uint32  tri_sw_et2;    
+
+#endif /* End of #ifndef _UL1D_DATA_H_ */
+
diff --git a/mcu/interface/l1/ul1/external/wdata_pcore.c b/mcu/interface/l1/ul1/external/wdata_pcore.c
new file mode 100644
index 0000000..51b6a09
--- /dev/null
+++ b/mcu/interface/l1/ul1/external/wdata_pcore.c
@@ -0,0 +1,1872 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * wdata.c
+ *
+ * Project:
+ * --------
+ * MT6268
+ *
+ * Description:
+ * ------------
+ * Variables/Arrays for customer to make their own configurations.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ *             HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *----------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *----------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/*===============================================================================*/
+
+#include "kal_general_types.h"
+
+#include "mml1_dpd_def.h"
+#include "ul1d_rf_public.h"
+#include "ul1d_rf_common.h"
+#include "ul1d_rf_cid.h"
+#include "ul1cal.h"
+
+#if defined(L1_SIM)
+#include "SymWrap.h"
+#endif
+
+#if defined (UMTS_RF_L1SIM)
+#include "umts_custom_rf_sim.h"
+#else
+#if (IS_3G_MIPI_SUPPORT)
+#include "ul1d_custom_mipi.h"
+#endif
+
+#include "ul1d_custom_rf.h"
+#include "wcustomdata.h"
+#include "ul1d_custom_rf_ca.h"
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+#include "ul1d_custom_rf_tas.h"
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+#include "ul1d_custom_rf_dat.h"
+#endif
+#include "ul1d_rf_cal_poc_data.h"
+
+#if __IS_UL1D_DPD_SUPPORT__
+#include "ul1d_custom_rf_dpd.h"
+#endif
+#endif/*defined(L1_SIM)*/
+
+/*===============================================================================*/
+
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#if IS_3G_REMOVE_MIPI 
+UMTS_FE_ROUTE_TABLE_T UMTS_FRONT_END_ROUTE_TABLE_PCORE[] =
+{
+   /* Single Band FE Route Table */
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_0, SetDefault),
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_1, SetDefault),
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_2, SetDefault),
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_3, SetDefault),
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_4, SetDefault),
+#if IS_3G_SUPPORT_8_BANDINDICATOR   
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_5, SetDefault),
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_6, SetDefault),
+   UMTS_SB_FE_SETTING(RX_BAND_INDICATOR_7, SetDefault),
+#endif
+   /* CA Band FE Route Table*/
+   UMTS_CA_FE_SETTING(RX_CABAND_IND_00, SetDefault),
+   UMTS_CA_FE_SETTING(RX_CABAND_IND_01, SetDefault),
+   UMTS_CA_FE_SETTING(RX_CABAND_IND_02, SetDefault),
+   UMTS_CA_FE_SETTING(RX_CABAND_IND_03, SetDefault),
+   UMTS_CA_FE_SETTING(RX_CABAND_IND_04, SetDefault),
+};
+#else
+//Useless after Gen97
+#endif/*IS_3G_REMOVE_MIPI*/
+
+//kevin phase3 for COSIM RF
+/* To fit the case once user who does not use Modem Bin Update tool but modifies makefile/ul1d_custom_rf.h band setting and rebuild */
+#if IS_3G_REMOVE_MIPI 
+U_sUl1dRfCustomInputData UMTS_RF_CUSTOM_INPUT_DATA_PCORE =
+{
+   /* Start Pattern */
+   0x1234ABCD,
+
+   /* Structure Version */
+   1,
+
+   /* RF Type */
+   UMTS_RF_TYPE,
+
+   /* isDataUpdate */
+   1,
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   /* proityOfNvramInCustomization */
+   RF_SETTING_BY_NVRAM,
+#endif
+
+   /* umtsRfPaControlTimingOffset */
+   {
+      MAX_OFFSET,
+      VM_OFFSET,
+      VBIAS_OFFSET,
+      DC2DC_OFFSET,
+      VGA_OFFSET
+   },
+
+   /* umtsBsiBpiTiming */
+   {
+      /* RX window end timing */
+      -TC_PR1,
+      -TC_PR2,
+      -TC_PR2B,
+
+      /* RX window end timing */
+      TC_PR3,
+      TC_PR3A,
+
+      /* TX window start timing */
+      -TC_PT1,
+      -TC_PT2,
+      -TC_PT2B,
+
+      /* TX window end timing */
+      TC_PT3,
+      TC_PT3A
+   },
+
+   /* umtsPdata */
+   {
+      /* rxBpi */
+      {
+         /*Band_Ind_0*/
+         {
+            RX_BAND_INDICATOR_0,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_0), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_0)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_0), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_0)  /* PR3a */
+            }
+            #endif
+         },
+         /*Band_Ind_1*/
+         {
+            RX_BAND_INDICATOR_1,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_1), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_1)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_1), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_1)  /* PR3a */
+            }
+            #endif
+         },
+         /*Band_Ind_2*/
+         {
+            RX_BAND_INDICATOR_2,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_2), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_2)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_2), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_2)  /* PR3a */
+            }
+            #endif
+         },
+         /*Band_Ind_3*/
+         {
+            RX_BAND_INDICATOR_3,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_3), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_3)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_3), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_3)  /* PR3a */
+            }
+            #endif
+         },
+         /*Band_Ind_4*/
+         {
+            RX_BAND_INDICATOR_4,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_4), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_4)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_4), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_4)  /* PR3a */
+            }
+            #endif
+         },
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+         /*Band_Ind_5*/
+         {
+            RX_BAND_INDICATOR_5,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_5), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_5)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_5), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_5)  /* PR3a */
+            }
+            #endif
+         },
+         /*Band_Ind_6*/
+         {
+            RX_BAND_INDICATOR_6,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_6), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_6)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_6), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_6)  /* PR3a */
+            }
+            #endif
+         },
+         /*Band_Ind_7*/
+         {
+            RX_BAND_INDICATOR_7,
+            {
+               M_UMTS_PDATA_PR1(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA_PR2(RX_BAND_INDICATOR_7), /* PR2b */
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA_PR3(RX_BAND_INDICATOR_7)  /* PR3a */
+            }
+            #if IS_3G_RXD_FE_CONTROL_SUPPORT
+            ,{
+               M_UMTS_PDATA2_PR1(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA2_PR2(RX_BAND_INDICATOR_7), /* PR2b */
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA2_PR3(RX_BAND_INDICATOR_7)  /* PR3a */
+            }
+            #endif
+         },
+#endif // IS_3G_SUPPORT_8_BANDINDICATOR        
+         /* CA usage */
+         {0}
+      }, //RxBpi structure
+
+      /* txBpi */
+      {
+         /*Band_Ind_0*/
+         {
+            RX_BAND_INDICATOR_0,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_0), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_0),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_0)  /* PT3a */
+            }
+         },
+         /*Band_Ind_1*/
+         {
+            RX_BAND_INDICATOR_1,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_1), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_1),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_1)  /* PT3a */
+            }
+         },
+         /*Band_Ind_2*/
+         {
+            RX_BAND_INDICATOR_2,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_2), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_2),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_2)  /* PT3a */
+            }
+         },
+         /*Band_Ind_3*/
+         {
+            RX_BAND_INDICATOR_3,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_3), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_3),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_3)  /* PT3a */
+            }
+         },
+         /*Band_Ind_4*/
+         {
+            RX_BAND_INDICATOR_4,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_4), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_4),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_4)  /* PT3a */
+            }
+         },
+ #if IS_3G_SUPPORT_8_BANDINDICATOR
+         /*Band_Ind_5*/
+         {
+            RX_BAND_INDICATOR_5,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_5), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_5),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_5)  /* PT3a */
+            }
+         },
+         /*Band_Ind_6*/
+         {
+            RX_BAND_INDICATOR_6,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_6), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_6),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_6)  /* PT3a */
+            }
+         },
+         /*Band_Ind_7*/
+         {
+            RX_BAND_INDICATOR_7,
+            {
+               M_UMTS_PDATA_PT1(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA_PT2(RX_BAND_INDICATOR_7), /* PT2b */
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_7),
+               M_UMTS_PDATA_PT3(RX_BAND_INDICATOR_7)  /* PT3a */
+            }
+         },
+#endif // IS_3G_SUPPORT_8_BANDINDICATOR        
+         /* CA usage */
+         {0}
+      } //TxBpi structure
+   },
+
+   /* umtsBandIndicator */
+#if IS_3G_SUPPORT_8_BANDINDICATOR   
+   {
+      {
+         RX_BAND_INDICATOR_0,
+         RX_BAND_INDICATOR_1,
+         RX_BAND_INDICATOR_2,
+         RX_BAND_INDICATOR_3,
+         RX_BAND_INDICATOR_4,      
+         RX_BAND_INDICATOR_5,
+         RX_BAND_INDICATOR_6,
+         RX_BAND_INDICATOR_7,
+      }
+   },
+#else 
+   {
+      RX_BAND_INDICATOR_0,
+      RX_BAND_INDICATOR_1,
+      RX_BAND_INDICATOR_2,
+      RX_BAND_INDICATOR_3,
+      RX_BAND_INDICATOR_4,
+   },
+#endif // IS_3G_SUPPORT_8_BANDINDICATOR        
+
+   /* sUl1dRfRxLnaPortSel */
+   {
+    {
+      /* Band_ind_0 */
+      {
+         RX_BAND_INDICATOR_0,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_0), M_UMTS_RXD_IO(RX_BAND_INDICATOR_0)}
+      },
+      /* Band_ind_1 */
+      {
+         RX_BAND_INDICATOR_1,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_1), M_UMTS_RXD_IO(RX_BAND_INDICATOR_1)}
+      },
+      /* Band_ind_2 */
+      {
+         RX_BAND_INDICATOR_2,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_2), M_UMTS_RXD_IO(RX_BAND_INDICATOR_2)}
+      },
+      /* Band_ind_3 */
+      {
+         RX_BAND_INDICATOR_3,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_3), M_UMTS_RXD_IO(RX_BAND_INDICATOR_3)}
+      },
+      /* Band_ind_4 */
+      {
+         RX_BAND_INDICATOR_4,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_4), M_UMTS_RXD_IO(RX_BAND_INDICATOR_4)}
+      },
+#if IS_3G_SUPPORT_8_BANDINDICATOR     
+      {
+         RX_BAND_INDICATOR_5,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_5), M_UMTS_RXD_IO(RX_BAND_INDICATOR_5)}
+      },      
+      {
+         RX_BAND_INDICATOR_6,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_6), M_UMTS_RXD_IO(RX_BAND_INDICATOR_6)}
+      },
+      {
+         RX_BAND_INDICATOR_7,
+         {M_UMTS_RX_IO(RX_BAND_INDICATOR_7), M_UMTS_RXD_IO(RX_BAND_INDICATOR_7)}
+      },
+#endif      
+      /* CA usage */
+      {0}
+    }
+   },
+
+   /* umtsTxPathSel */
+   {
+    {
+      /* Band_ind_0 */
+      {
+         RX_BAND_INDICATOR_0,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_0),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_0)}
+      },
+      /* Band_ind_1 */
+      {
+         RX_BAND_INDICATOR_1,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_1),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_1)}
+      },
+      /* Band_ind_2 */
+      {
+         RX_BAND_INDICATOR_2,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_2),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_2)}
+      },
+      /* Band_ind_3 */
+      {
+         RX_BAND_INDICATOR_3,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_3),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_3)}
+      },
+      /* Band_ind_4 */
+      {
+         RX_BAND_INDICATOR_4,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_4),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_4)}
+      }, 
+#if IS_3G_SUPPORT_8_BANDINDICATOR     
+      {
+         RX_BAND_INDICATOR_5,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_5),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_5)}
+      },      
+      {
+         RX_BAND_INDICATOR_6,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_6),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_6)}
+      },      
+      {
+         RX_BAND_INDICATOR_7,
+         {M_UMTS_TX_IO(RX_BAND_INDICATOR_7),M_UMTS_TX_DET_IO(RX_BAND_INDICATOR_7)}
+      },
+#endif       
+      /* CA usage */
+      {0}
+    }
+   },
+
+   /* xPMU_PA_CONTROL */
+   PMU_PASETTING,
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   /* umtsMprBackOff */
+   {
+      {
+         MPR_BACK_OFF_HSDPA_BAND1 , MPR_BACK_OFF_HSDPA_BAND2 , MPR_BACK_OFF_HSDPA_BAND3 , MPR_BACK_OFF_HSDPA_BAND4 , MPR_BACK_OFF_HSDPA_BAND5 ,
+         MPR_BACK_OFF_HSDPA_BAND6 , MPR_BACK_OFF_HSDPA_BAND7 , MPR_BACK_OFF_HSDPA_BAND8 , MPR_BACK_OFF_HSDPA_BAND9 , MPR_BACK_OFF_HSDPA_BAND10,
+         MPR_BACK_OFF_HSDPA_BAND11, MPR_BACK_OFF_HSDPA_BAND12, MPR_BACK_OFF_HSDPA_BAND13, MPR_BACK_OFF_HSDPA_BAND14, MPR_BACK_OFF_HSDPA_BAND15,
+         MPR_BACK_OFF_HSDPA_BAND16, MPR_BACK_OFF_HSDPA_BAND17, MPR_BACK_OFF_HSDPA_BAND18, MPR_BACK_OFF_HSDPA_BAND19, MPR_BACK_OFF_HSDPA_BAND19
+      },
+      {
+         MPR_BACK_OFF_HSUPA_BAND1 , MPR_BACK_OFF_HSUPA_BAND2 , MPR_BACK_OFF_HSUPA_BAND3 , MPR_BACK_OFF_HSUPA_BAND4 , MPR_BACK_OFF_HSUPA_BAND5 ,
+         MPR_BACK_OFF_HSUPA_BAND6 , MPR_BACK_OFF_HSUPA_BAND7 , MPR_BACK_OFF_HSUPA_BAND8 , MPR_BACK_OFF_HSUPA_BAND9 , MPR_BACK_OFF_HSUPA_BAND10,
+         MPR_BACK_OFF_HSUPA_BAND11, MPR_BACK_OFF_HSUPA_BAND12, MPR_BACK_OFF_HSUPA_BAND13, MPR_BACK_OFF_HSUPA_BAND14, MPR_BACK_OFF_HSUPA_BAND15,
+         MPR_BACK_OFF_HSUPA_BAND16, MPR_BACK_OFF_HSUPA_BAND17, MPR_BACK_OFF_HSUPA_BAND18, MPR_BACK_OFF_HSUPA_BAND19, MPR_BACK_OFF_HSUPA_BAND19
+      }
+      #if IS_3G_MPR_EXTEND_SUPPORT
+      ,{ /*MPR_Setting_SUB HSUPA_MprBackOff_SUB[20][5];*/
+         /*00*/{MPR_R6_B1_SUB_1  , MPR_R6_B1_SUB_2  , MPR_R6_B1_SUB_3  , MPR_R6_B1_SUB_4  , MPR_R6_B1_SUB_5 },
+         /*01*/{MPR_R6_B2_SUB_1  , MPR_R6_B2_SUB_2  , MPR_R6_B2_SUB_3  , MPR_R6_B2_SUB_4  , MPR_R6_B2_SUB_5 },
+         /*02*/{MPR_R6_B3_SUB_1  , MPR_R6_B3_SUB_2  , MPR_R6_B3_SUB_3  , MPR_R6_B3_SUB_4  , MPR_R6_B3_SUB_5 },
+         /*03*/{MPR_R6_B4_SUB_1  , MPR_R6_B4_SUB_2  , MPR_R6_B4_SUB_3  , MPR_R6_B4_SUB_4  , MPR_R6_B4_SUB_5 },
+         /*04*/{MPR_R6_B5_SUB_1  , MPR_R6_B5_SUB_2  , MPR_R6_B5_SUB_3  , MPR_R6_B5_SUB_4  , MPR_R6_B5_SUB_5 },
+         /*05*/{MPR_R6_B6_SUB_1  , MPR_R6_B6_SUB_2  , MPR_R6_B6_SUB_3  , MPR_R6_B6_SUB_4  , MPR_R6_B6_SUB_5 },
+         /*06*/{MPR_R6_B7_SUB_1  , MPR_R6_B7_SUB_2  , MPR_R6_B7_SUB_3  , MPR_R6_B7_SUB_4  , MPR_R6_B7_SUB_5 },
+         /*07*/{MPR_R6_B8_SUB_1  , MPR_R6_B8_SUB_2  , MPR_R6_B8_SUB_3  , MPR_R6_B8_SUB_4  , MPR_R6_B8_SUB_5 },
+         /*08*/{MPR_R6_B9_SUB_1  , MPR_R6_B9_SUB_2  , MPR_R6_B9_SUB_3  , MPR_R6_B9_SUB_4  , MPR_R6_B9_SUB_5 },
+         /*09*/{MPR_R6_B10_SUB_1 , MPR_R6_B10_SUB_2 , MPR_R6_B10_SUB_3 , MPR_R6_B10_SUB_4 , MPR_R6_B10_SUB_5},
+         /*10*/{MPR_R6_B11_SUB_1 , MPR_R6_B11_SUB_2 , MPR_R6_B11_SUB_3 , MPR_R6_B11_SUB_4 , MPR_R6_B11_SUB_5},
+         /*11*/{MPR_R6_B12_SUB_1 , MPR_R6_B12_SUB_2 , MPR_R6_B12_SUB_3 , MPR_R6_B12_SUB_4 , MPR_R6_B12_SUB_5},
+         /*12*/{MPR_R6_B13_SUB_1 , MPR_R6_B13_SUB_2 , MPR_R6_B13_SUB_3 , MPR_R6_B13_SUB_4 , MPR_R6_B13_SUB_5},
+         /*13*/{MPR_R6_B14_SUB_1 , MPR_R6_B14_SUB_2 , MPR_R6_B14_SUB_3 , MPR_R6_B14_SUB_4 , MPR_R6_B14_SUB_5},
+         /*14*/{MPR_R6_B15_SUB_1 , MPR_R6_B15_SUB_2 , MPR_R6_B15_SUB_3 , MPR_R6_B15_SUB_4 , MPR_R6_B15_SUB_5},
+         /*15*/{MPR_R6_B16_SUB_1 , MPR_R6_B16_SUB_2 , MPR_R6_B16_SUB_3 , MPR_R6_B16_SUB_4 , MPR_R6_B16_SUB_5},
+         /*16*/{MPR_R6_B17_SUB_1 , MPR_R6_B17_SUB_2 , MPR_R6_B17_SUB_3 , MPR_R6_B17_SUB_4 , MPR_R6_B17_SUB_5},
+         /*17*/{MPR_R6_B18_SUB_1 , MPR_R6_B18_SUB_2 , MPR_R6_B18_SUB_3 , MPR_R6_B18_SUB_4 , MPR_R6_B18_SUB_5},
+         /*18*/{MPR_R6_B19_SUB_1 , MPR_R6_B19_SUB_2 , MPR_R6_B19_SUB_3 , MPR_R6_B19_SUB_4 , MPR_R6_B19_SUB_5},
+         /*19*/{MPR_R6_B20_SUB_1 , MPR_R6_B20_SUB_2 , MPR_R6_B20_SUB_3 , MPR_R6_B20_SUB_4 , MPR_R6_B20_SUB_5}
+       },
+       R6_MPR_SUB_EN,/*R6_MPR_SUB_EN*/
+      #endif/*IS_3G_MPR_EXTEND_SUPPORT*/
+   },
+#endif
+
+   /* RxD support bit map*/
+   RX_DIVERSITY_ALWAYS_ON,
+
+   /* Tx PA dirft compensation bit map*/
+   PA_DIRFT_COMPENSATION,
+
+   /*At MT6589+MT6320PMIC, Vrf18_1(MD1) can use bulk/LDO mode, this is the switch*/
+   ULTRA_LOW_COST_EN,
+
+   /*At MT6589/MT6280+OrionRF, temperature measurement enable switch */
+   TEAMPERATURE_MEAS_EN,
+
+   /* Baseband Idle Mode RXD Feature enable Default ON */
+#if IS_3G_FORCE_IDLE_MODE_RXD_SUPPORT
+   KAL_TRUE,
+#else
+   KAL_FALSE,
+#endif
+
+   /* VPA Mode Setting */
+   VPA_FPWM_MODE,
+
+   /* PA Section */
+   PA_SECTION,
+
+#if IS_3G_MIPI_SUPPORT
+   {
+      IS_3G_MIPI_ENABLE,
+      MIPI_OFFSET
+   },
+#endif
+
+   /* umtsCaBandIndicator */
+   {
+      RX_CABAND_IND_00,
+      RX_CABAND_IND_01,
+      RX_CABAND_IND_02,
+      RX_CABAND_IND_03,
+      RX_CABAND_IND_04,
+   },
+
+   /* CA RF FE usage table */
+   //UMTS_FE_USAGE_T umtsCaFrontEndUsageLut[UMTS_RF_FRONT_END_NUM_MAX];
+   {
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+      {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}}
+   },
+
+#if IS_3G_FDD_RX_PATH_SELECTION_SUPPORT
+   {
+      KAL_FALSE,
+      ANT_RX_BOTH,
+   },
+#endif
+
+   BAND5_AND_BAND6_INDICATOR,
+   
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT   
+   BAND5_AND_BAND19_INDICATOR,
+   DISABLE_B5_INDICATOR,
+#endif
+
+#if IS_3G_RX_POWER_OFFSET_SUPPORT
+                {
+                    RPO_3G_ENABLE,
+                    RPO_3G_META_ENABLE
+                },
+#endif
+   /* End Pattern */
+   0xABCD1234
+};
+
+#else
+U_sUl1dRfCustomInputData UMTS_RF_CUSTOM_INPUT_DATA_PCORE =
+{
+   /* Start Pattern */
+   0x1234ABCD,
+
+   /* Structure Version */
+   1,
+
+   /* RF Type */
+   UMTS_RF_TYPE,
+
+   /* isDataUpdate */
+   1,
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   /* proityOfNvramInCustomization */
+   RF_SETTING_BY_NVRAM,
+#endif
+
+   /* umtsRfPaControlTimingOffset */
+   {
+      MAX_OFFSET,
+      VM_OFFSET,
+      VBIAS_OFFSET,
+      DC2DC_OFFSET,
+      VGA_OFFSET
+   },
+
+   /* umtsBsiBpiTiming */
+   {
+      /* RX window end timing */
+      -TC_PR1,
+      -TC_PR2,
+      -TC_PR2B,
+
+      /* RX window end timing */
+      TC_PR3,
+      TC_PR3A,
+
+      /* TX window start timing */
+      -TC_PT1,
+      -TC_PT2,
+      -TC_PT2B,
+
+      /* TX window end timing */
+      TC_PT3,
+      TC_PT3A
+   },
+
+   /* umtsBandIndicator */
+#if IS_3G_SUPPORT_8_BANDINDICATOR   
+   {
+      {
+         RX_BAND_INDICATOR_0,
+         RX_BAND_INDICATOR_1,
+         RX_BAND_INDICATOR_2,
+         RX_BAND_INDICATOR_3,
+         RX_BAND_INDICATOR_4,      
+         RX_BAND_INDICATOR_5,
+         RX_BAND_INDICATOR_6,
+         RX_BAND_INDICATOR_7,
+      }
+   },
+#else 
+   {
+      RX_BAND_INDICATOR_0,
+      RX_BAND_INDICATOR_1,
+      RX_BAND_INDICATOR_2,
+      RX_BAND_INDICATOR_3,
+      RX_BAND_INDICATOR_4,
+   },
+#endif // IS_3G_SUPPORT_8_BANDINDICATOR        
+
+   /* sUl1dRfRxLnaPortSel */
+
+   /* umtsTxPathSel */
+   
+
+   /* xPMU_PA_CONTROL */
+   PMU_PASETTING,
+
+#if defined (__UL1_HS_PLUS_PLATFORM__)
+   /* umtsMprBackOff */
+   {
+      {
+         MPR_BACK_OFF_HSDPA_BAND1 , MPR_BACK_OFF_HSDPA_BAND2 , MPR_BACK_OFF_HSDPA_BAND3 , MPR_BACK_OFF_HSDPA_BAND4 , MPR_BACK_OFF_HSDPA_BAND5 ,
+         MPR_BACK_OFF_HSDPA_BAND6 , MPR_BACK_OFF_HSDPA_BAND7 , MPR_BACK_OFF_HSDPA_BAND8 , MPR_BACK_OFF_HSDPA_BAND9 , MPR_BACK_OFF_HSDPA_BAND10,
+         MPR_BACK_OFF_HSDPA_BAND11, MPR_BACK_OFF_HSDPA_BAND12, MPR_BACK_OFF_HSDPA_BAND13, MPR_BACK_OFF_HSDPA_BAND14, MPR_BACK_OFF_HSDPA_BAND15,
+         MPR_BACK_OFF_HSDPA_BAND16, MPR_BACK_OFF_HSDPA_BAND17, MPR_BACK_OFF_HSDPA_BAND18, MPR_BACK_OFF_HSDPA_BAND19, MPR_BACK_OFF_HSDPA_BAND19
+      },
+      {
+         MPR_BACK_OFF_HSUPA_BAND1 , MPR_BACK_OFF_HSUPA_BAND2 , MPR_BACK_OFF_HSUPA_BAND3 , MPR_BACK_OFF_HSUPA_BAND4 , MPR_BACK_OFF_HSUPA_BAND5 ,
+         MPR_BACK_OFF_HSUPA_BAND6 , MPR_BACK_OFF_HSUPA_BAND7 , MPR_BACK_OFF_HSUPA_BAND8 , MPR_BACK_OFF_HSUPA_BAND9 , MPR_BACK_OFF_HSUPA_BAND10,
+         MPR_BACK_OFF_HSUPA_BAND11, MPR_BACK_OFF_HSUPA_BAND12, MPR_BACK_OFF_HSUPA_BAND13, MPR_BACK_OFF_HSUPA_BAND14, MPR_BACK_OFF_HSUPA_BAND15,
+         MPR_BACK_OFF_HSUPA_BAND16, MPR_BACK_OFF_HSUPA_BAND17, MPR_BACK_OFF_HSUPA_BAND18, MPR_BACK_OFF_HSUPA_BAND19, MPR_BACK_OFF_HSUPA_BAND19
+      }
+      #if IS_3G_MPR_EXTEND_SUPPORT
+      ,{ /*MPR_Setting_SUB HSUPA_MprBackOff_SUB[20][5];*/
+         /*00*/{MPR_R6_B1_SUB_1  , MPR_R6_B1_SUB_2  , MPR_R6_B1_SUB_3  , MPR_R6_B1_SUB_4  , MPR_R6_B1_SUB_5 },
+         /*01*/{MPR_R6_B2_SUB_1  , MPR_R6_B2_SUB_2  , MPR_R6_B2_SUB_3  , MPR_R6_B2_SUB_4  , MPR_R6_B2_SUB_5 },
+         /*02*/{MPR_R6_B3_SUB_1  , MPR_R6_B3_SUB_2  , MPR_R6_B3_SUB_3  , MPR_R6_B3_SUB_4  , MPR_R6_B3_SUB_5 },
+         /*03*/{MPR_R6_B4_SUB_1  , MPR_R6_B4_SUB_2  , MPR_R6_B4_SUB_3  , MPR_R6_B4_SUB_4  , MPR_R6_B4_SUB_5 },
+         /*04*/{MPR_R6_B5_SUB_1  , MPR_R6_B5_SUB_2  , MPR_R6_B5_SUB_3  , MPR_R6_B5_SUB_4  , MPR_R6_B5_SUB_5 },
+         /*05*/{MPR_R6_B6_SUB_1  , MPR_R6_B6_SUB_2  , MPR_R6_B6_SUB_3  , MPR_R6_B6_SUB_4  , MPR_R6_B6_SUB_5 },
+         /*06*/{MPR_R6_B7_SUB_1  , MPR_R6_B7_SUB_2  , MPR_R6_B7_SUB_3  , MPR_R6_B7_SUB_4  , MPR_R6_B7_SUB_5 },
+         /*07*/{MPR_R6_B8_SUB_1  , MPR_R6_B8_SUB_2  , MPR_R6_B8_SUB_3  , MPR_R6_B8_SUB_4  , MPR_R6_B8_SUB_5 },
+         /*08*/{MPR_R6_B9_SUB_1  , MPR_R6_B9_SUB_2  , MPR_R6_B9_SUB_3  , MPR_R6_B9_SUB_4  , MPR_R6_B9_SUB_5 },
+         /*09*/{MPR_R6_B10_SUB_1 , MPR_R6_B10_SUB_2 , MPR_R6_B10_SUB_3 , MPR_R6_B10_SUB_4 , MPR_R6_B10_SUB_5},
+         /*10*/{MPR_R6_B11_SUB_1 , MPR_R6_B11_SUB_2 , MPR_R6_B11_SUB_3 , MPR_R6_B11_SUB_4 , MPR_R6_B11_SUB_5},
+         /*11*/{MPR_R6_B12_SUB_1 , MPR_R6_B12_SUB_2 , MPR_R6_B12_SUB_3 , MPR_R6_B12_SUB_4 , MPR_R6_B12_SUB_5},
+         /*12*/{MPR_R6_B13_SUB_1 , MPR_R6_B13_SUB_2 , MPR_R6_B13_SUB_3 , MPR_R6_B13_SUB_4 , MPR_R6_B13_SUB_5},
+         /*13*/{MPR_R6_B14_SUB_1 , MPR_R6_B14_SUB_2 , MPR_R6_B14_SUB_3 , MPR_R6_B14_SUB_4 , MPR_R6_B14_SUB_5},
+         /*14*/{MPR_R6_B15_SUB_1 , MPR_R6_B15_SUB_2 , MPR_R6_B15_SUB_3 , MPR_R6_B15_SUB_4 , MPR_R6_B15_SUB_5},
+         /*15*/{MPR_R6_B16_SUB_1 , MPR_R6_B16_SUB_2 , MPR_R6_B16_SUB_3 , MPR_R6_B16_SUB_4 , MPR_R6_B16_SUB_5},
+         /*16*/{MPR_R6_B17_SUB_1 , MPR_R6_B17_SUB_2 , MPR_R6_B17_SUB_3 , MPR_R6_B17_SUB_4 , MPR_R6_B17_SUB_5},
+         /*17*/{MPR_R6_B18_SUB_1 , MPR_R6_B18_SUB_2 , MPR_R6_B18_SUB_3 , MPR_R6_B18_SUB_4 , MPR_R6_B18_SUB_5},
+         /*18*/{MPR_R6_B19_SUB_1 , MPR_R6_B19_SUB_2 , MPR_R6_B19_SUB_3 , MPR_R6_B19_SUB_4 , MPR_R6_B19_SUB_5},
+         /*19*/{MPR_R6_B20_SUB_1 , MPR_R6_B20_SUB_2 , MPR_R6_B20_SUB_3 , MPR_R6_B20_SUB_4 , MPR_R6_B20_SUB_5}
+       },
+       R6_MPR_SUB_EN,/*R6_MPR_SUB_EN*/
+      #endif/*IS_3G_MPR_EXTEND_SUPPORT*/
+   },
+#endif
+
+   /* RxD support bit map*/
+   RX_DIVERSITY_ALWAYS_ON,
+
+   /* Tx PA dirft compensation bit map*/
+   PA_DIRFT_COMPENSATION,
+
+   /*At MT6589+MT6320PMIC, Vrf18_1(MD1) can use bulk/LDO mode, this is the switch*/
+   ULTRA_LOW_COST_EN,
+
+   /*At MT6589/MT6280+OrionRF, temperature measurement enable switch */
+   TEAMPERATURE_MEAS_EN,
+
+   /* Baseband Idle Mode RXD Feature enable Default ON */
+#if IS_3G_FORCE_IDLE_MODE_RXD_SUPPORT
+   KAL_TRUE,
+#else
+   KAL_FALSE,
+#endif
+
+   /* VPA Mode Setting */
+   VPA_FPWM_MODE,
+
+   /* PA Section */
+   PA_SECTION,
+
+   /* umtsCaBandIndicator */
+   {
+      RX_CABAND_IND_00,
+      RX_CABAND_IND_01,
+      RX_CABAND_IND_02,
+      RX_CABAND_IND_03,
+      RX_CABAND_IND_04,
+   },
+
+   /* CA RF FE usage table */
+   //UMTS_FE_USAGE_T umtsCaFrontEndUsageLut[UMTS_RF_FRONT_END_NUM_MAX];
+
+#if IS_3G_FDD_RX_PATH_SELECTION_SUPPORT
+   {
+      KAL_FALSE,
+      ANT_RX_BOTH,
+   },
+#endif
+   BAND5_AND_BAND6_INDICATOR,
+   
+#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT   
+   BAND5_AND_BAND19_INDICATOR,
+   DISABLE_B5_INDICATOR,
+#endif
+
+#if IS_3G_RX_POWER_OFFSET_SUPPORT
+                {
+                    RPO_3G_ENABLE,
+                    RPO_3G_META_ENABLE
+                },
+#endif
+   /* End Pattern */
+   0xABCD1234
+};
+#endif
+
+#if __IS_UL1D_DPD_SUPPORT__
+U_sUl1dDpdCustomInputData UMTS_DPD_CUSTOM_INPUT_DATA_PCORE =
+{
+   /*U_Ul1D_PCFE_DPD_OTFC_NONCUSTOM_PARA_T*/
+   {
+      /*U_DPD_OTFC_NONCUSTOM_PARA_T*/
+      {
+         0, /*en_dpd_am_track*/
+         0, /*en_dpd_pm_track*/
+         0, /*en_force_dpd_default_lut*/
+         1, /*en_dpd_coarse_tde*/
+         1, /*en_dpd_fine_tde*/
+      },
+      /*U_PCFE_NONCUSTOM_PARA_T*/
+      {
+         0,  /*op_mode_force_en*/
+         0,  /*op_mode_force_mode*/
+      },
+   },
+   {
+      /*U_UL1D_PCFE_DPD_OTFC_CUSTOM_PARA_T*/
+      //dpd_apt_temperature_th_by_rfic
+      {
+         { 0x41 , 0x41 }
+      },
+      /*U_PCFE_CUSTOM_PARA_T*/
+      //reserved0
+      {0},
+
+      /* PCFE power threshold form DPD mode to linear mode */
+      0x0A00,
+      /* PCFE power threshold form linear mode to DPD mode */
+      0x0B00,
+   }
+};
+
+DPD_ENABLE_E UMTS_DPD_ENABLE_PCORE = IS_WCDMA_DPD_ENABLE_SetDefault;
+
+#endif
+
+#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
+#if !IS_3G_UTAS_SUPPORT
+UMTS_CUSTOM_TAS_FE_DATABASE_T UMTS_TAS_FE_DATABASE_SetDefault =
+{
+   {{{0}}}, {{{0}}}, {{{0}}}
+};
+#endif
+UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T UMTS_TAS_FEATURE_BY_RAT_SetDefault =
+{
+#if !IS_3G_UTAS_SUPPORT
+   UMTS_TAS_VERSION(SetDefault),
+#endif
+   {
+    UMTS_TAS_FORCE_ENABLE(SetDefault),
+    UMTS_TAS_FORCE_INIT_SETTING(SetDefault)
+   },
+   UMTS_TAS_ICS_INIT_ANT_STATE(SetDefault),
+   UMTS_TAS_ENABLE_ON_REAL_SIM(SetDefault),
+   UMTS_TAS_ENABLE_ON_TEST_SIM(SetDefault),
+};
+#if IS_3G_TAS_TST_SUPPORT
+#if IS_3G_GEN97_TAS_SUPPORT
+UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T UMTS_TAS_TST_FE_ROUTE_DATABASE_PCORE =
+{
+   UMTS_TAS_TST_ENABLE_BY_RAT(SetDefault),
+   {
+   /*Index  1*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_0_SetDefault  , SetDefault ) ,
+   /*Index  2*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_1_SetDefault  , SetDefault ) ,
+   /*Index  3*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_2_SetDefault  , SetDefault ) ,
+   /*Index  4*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_3_SetDefault  , SetDefault ) ,
+   /*Index  5*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_4_SetDefault  , SetDefault ) ,
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+   /*Index  3*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_5_SetDefault  , SetDefault ) ,
+   /*Index  4*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_6_SetDefault  , SetDefault ) ,
+   /*Index  5*/ UMTS_SB_TAS_TST_CONFIGURE( RX_BAND_INDICATOR_7_SetDefault  , SetDefault ) ,
+#endif 
+   }
+};
+#else
+UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T UMTS_TAS_TST_FE_ROUTE_DATABASE_PCORE =
+{
+   UMTS_TAS_TST_ENABLE_BY_RAT(SetDefault),
+   {
+   /*Index  1*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR0_SetDefault  , SetDefault ) ,
+   /*Index  2*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR1_SetDefault  , SetDefault ) ,
+   /*Index  3*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR2_SetDefault  , SetDefault ) ,
+   /*Index  4*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR3_SetDefault  , SetDefault ) ,
+   /*Index  5*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR4_SetDefault  , SetDefault ) ,
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+   /*Index  3*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR5_SetDefault	, SetDefault ) ,
+   /*Index  4*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR6_SetDefault	, SetDefault ) ,
+   /*Index  5*/ UMTS_SB_TAS_TST_CONFIGURE( BAND_TAS_INDICATOR7_SetDefault	, SetDefault ) ,
+#endif 
+   }
+};
+#endif
+#endif
+#endif
+
+#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
+#if !IS_3G_UDAT_SUPPORT
+UMTS_CUSTOM_DAT_FE_DATABASE_T UMTS_DAT_FE_DATABASE_SetDefault =
+{
+   {{{0}}}, {{{0}}}
+};
+#endif
+
+UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T UMTS_DAT_FEATURE_BY_RAT_SetDefault =
+{
+   UMTS_DAT_FEATURE_ENABLE(SetDefault),
+   UMTS_DAT_SCENARIO_DEFAULT
+};
+#endif
+
+
+//Power on CAL
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBandNone_PWRON_CAL_DATA = M_UL1D_DEFAULT_RFC_B(None);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand1_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(1);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand2_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(2);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand3_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(3);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand4_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(4);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand5_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(5);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand6_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(6);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand8_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(8);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand9_PWRON_CAL_DATA    = M_UL1D_DEFAULT_RFC_B(9);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand11_PWRON_CAL_DATA   = M_UL1D_DEFAULT_RFC_B(11);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand18_PWRON_CAL_DATA   = M_UL1D_DEFAULT_RFC_B(18);
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T UMTSBand19_PWRON_CAL_DATA   = M_UL1D_DEFAULT_RFC_B(19);
+
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#if IS_3G_REMOVE_MIPI
+UMTS_FE_USAGE_T  UMTS_FE_USAGE_TBL[UMTS_RF_FRONT_END_NUM_MAX] =
+{
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}},
+   {{0,{0,0}},{{0,0},{0}},{{0,0},{0}},{{0,0},{0}}}
+};
+
+/* P-core Table ============================================================================= */
+UMTS_RX_PDATABASE_T UMTS_RX_PDATABASE[UMTS_FE_RXBASE_TBL_SIZE_MAX] =
+{
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_0),
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_1),
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_2),
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_3),
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_4),
+#if IS_3G_SUPPORT_8_BANDINDICATOR 
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_5),
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_6), 
+   M_UMTS_RF_RX_PDATABASE(RX_BAND_INDICATOR_7),
+#endif   
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_RX_PDATABASE(UMTSBandNone),
+};
+
+UMTS_TX_PDATABASE_T UMTS_TX_PDATABASE[UMTS_FE_TXBASE_TBL_SIZE_MAX] =
+{
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_0),
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_1),
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_2),
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_3),
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_4),
+#if IS_3G_SUPPORT_8_BANDINDICATOR   
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_5), 
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_6),
+   M_UMTS_RF_TX_PDATABASE(RX_BAND_INDICATOR_7),
+#endif   
+   M_UMTS_RF_TX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_TX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_TX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_TX_PDATABASE(UMTSBandNone),
+   M_UMTS_RF_TX_PDATABASE(UMTSBandNone),
+};
+
+UMTS_RXIOBASE_T UMTS_RF_RXIOBASE[UMTS_FE_RXBASE_TBL_SIZE_MAX] =
+{
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_0 ),
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_1 ),
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_2 ),
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_3 ),
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_4 ),
+#if IS_3G_SUPPORT_8_BANDINDICATOR
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_5),
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_6),
+   M_UMTS_RF_RXIOBASE(RX_BAND_INDICATOR_7),
+#endif   
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+   M_UMTS_RF_RXIOBASE(UMTSBandNone),
+};
+
+UMTS_TXIOBASE_T UMTS_RF_TXIOBASE[UMTS_FE_TXBASE_TBL_SIZE_MAX] =
+{
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_0 ),
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_1 ),
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_2 ),
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_3 ),
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_4 ),
+#if IS_3G_SUPPORT_8_BANDINDICATOR    
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_5 ),
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_6 ),
+   M_UMTS_RF_TXIOBASE(RX_BAND_INDICATOR_7 ),
+#endif   
+   M_UMTS_RF_TXIOBASE(UMTSBandNone ),
+   M_UMTS_RF_TXIOBASE(UMTSBandNone ),
+   M_UMTS_RF_TXIOBASE(UMTSBandNone ),
+   M_UMTS_RF_TXIOBASE(UMTSBandNone ),
+   M_UMTS_RF_TXIOBASE(UMTSBandNone ),
+};
+
+#else
+//Useless afte Gen97
+#endif 
+
+const UMTS_RF_POWER_ON_CAL_DATA_PER_BAND_T* UMTS_PWRON_CAL_DATA_PTR[UL1D_RF_CUSTOM_BAND] =
+{
+   &UMTS_PWRON_CAL_DATA(UMTSBandNone) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_0) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_1) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_2) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_3) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_4) ,
+#if IS_3G_SUPPORT_8_BANDINDICATOR    
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_5) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_6) ,
+   &UMTS_PWRON_CAL_DATA(RX_BAND_INDICATOR_7) ,
+#endif   
+};
+
+#if IS_3G_ELNA_IDX_SUPPORT
+UMTS_CUSTOM_ELNA_IDX_T UMTS_ELNA_IDX_LUT_PCORE =
+{
+ {  /*RxElnaIdx[20]*/
+    UMTSBand1_RX_eLNA_IDX,
+    UMTSBand2_RX_eLNA_IDX,
+    UMTSBand3_RX_eLNA_IDX,
+    UMTSBand4_RX_eLNA_IDX,
+    UMTSBand5_RX_eLNA_IDX,
+    UMTSBand6_RX_eLNA_IDX,
+    UMTSBand7_RX_eLNA_IDX,
+    UMTSBand8_RX_eLNA_IDX,
+    UMTSBand9_RX_eLNA_IDX,
+    UMTSBand10_RX_eLNA_IDX,
+    UMTSBand11_RX_eLNA_IDX,
+    UMTSBand12_RX_eLNA_IDX,
+    UMTSBand13_RX_eLNA_IDX,
+    UMTSBand14_RX_eLNA_IDX,
+    UMTSBand15_RX_eLNA_IDX,
+    UMTSBand16_RX_eLNA_IDX,
+    UMTSBand17_RX_eLNA_IDX,
+    UMTSBand18_RX_eLNA_IDX,
+    UMTSBand19_RX_eLNA_IDX,
+    UMTSBand20_RX_eLNA_IDX
+ },
+ {  /*RxdElnaIdx[20]*/
+    UMTSBand1_RXD_eLNA_IDX,
+    UMTSBand2_RXD_eLNA_IDX,
+    UMTSBand3_RXD_eLNA_IDX,
+    UMTSBand4_RXD_eLNA_IDX,
+    UMTSBand5_RXD_eLNA_IDX,
+    UMTSBand6_RXD_eLNA_IDX,
+    UMTSBand7_RXD_eLNA_IDX,
+    UMTSBand8_RXD_eLNA_IDX,
+    UMTSBand9_RXD_eLNA_IDX,
+    UMTSBand10_RXD_eLNA_IDX,
+    UMTSBand11_RXD_eLNA_IDX,
+    UMTSBand12_RXD_eLNA_IDX,
+    UMTSBand13_RXD_eLNA_IDX,
+    UMTSBand14_RXD_eLNA_IDX,
+    UMTSBand15_RXD_eLNA_IDX,
+    UMTSBand16_RXD_eLNA_IDX,
+    UMTSBand17_RXD_eLNA_IDX,
+    UMTSBand18_RXD_eLNA_IDX,
+    UMTSBand19_RXD_eLNA_IDX,
+    UMTSBand20_RXD_eLNA_IDX
+ }
+};
+#endif//IS_3G_ELNA_IDX_SUPPORT
+
+#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
+UMTS_RF_INTERFERENCE_FREQUENCY_T UMTS_RF_INTERFERENCE_FREQUENCY_PCORE =
+{
+   {
+      {/*Table0*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table1*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table2*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table3*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table4*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table5*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table6*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      },
+      {/*Table7*/
+         {  /*groupA*/
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         },
+         {  /*groupB*/
+   	        {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF},
+            {0xFFFF,0xFFFF}
+         }
+      }
+   }, UMTS_RF_INTERFERE_CHECK_CONFIGURE(SetDefault)
+};
+#endif
+
+
+#if UL1CUSTOM_DRDI_ENABLE
+   kal_bool isWcdmaDrdiEnable = KAL_TRUE;
+#else
+   kal_bool isWcdmaDrdiEnable = KAL_FALSE;
+#endif