[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/cl1/common/cl1tskll1adefs.h b/mcu/interface/l1/cl1/common/cl1tskll1adefs.h
new file mode 100644
index 0000000..653321f
--- /dev/null
+++ b/mcu/interface/l1/cl1/common/cl1tskll1adefs.h
@@ -0,0 +1,245 @@
+/*****************************************************************************
+*  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) 2016
+*
+*  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).
+*
+*****************************************************************************/
+
+#ifndef  _CL1TSKLL1ADEFS_H_
+#define  _CL1TSKLL1ADEFS_H_
+
+
+#ifdef MTK_DEV_93M_PREIT
+#include "kal_public_defs.h"
+#include "systyp.h"
+#include "valapi.h"
+
+
+/*****************************************************************************
+
+  FILE NAME: cl1tskll1adefs.h
+
+  DESCRIPTION:
+
+     This file contains the data type definition of LL1A module in 93m
+
+*****************************************************************************/
+
+/*----------------------------------------------------------------------------
+* Definitions
+*----------------------------------------------------------------------------*/
+#define PNULL (void*)(0)
+
+#define TICK_BITMAP_LPS                        (0x01)
+#define TICK_BITMAP_HPS                        (0x02)
+#define TICK_BITMAP_RES                        (0x04)
+#define TICK_BITMAP_MPSR                       (0x08)
+
+#define LL1A_MEAS_PURPOSE_CELL_SEARCH          (0x02)
+#define LL1A_MEAS_PURPOSE_MEASURE              (0x01)
+
+#define C2K_SRLTE_LL1A_ON      C2K_SRLTE_ON
+
+#ifndef MTK_PLT_ON_PC
+//#define MTK_DEV_93M_LL1A_BYPASS_ENABLE  
+//#define C2K_LL1_STUB_TARGET_SUPPORT
+#endif
+
+
+
+
+
+
+/*----------------------------------------------------------------------------
+Macros Definition
+----------------------------------------------------------------------------*/
+
+
+
+
+
+
+
+
+
+
+/*----------------------------------------------------------------------------
+* Enums
+*----------------------------------------------------------------------------*/
+/** The EVDO's Rat Status Enum. */
+typedef enum
+{
+    RAT_FLIGHT,
+    RAT_STANDBY,
+    RAT_ACTIVE,    
+    RAT_PSEUDO_FLIGHT,
+    RAT_PSEUDO_ACTIVE,
+    RAT_NULL
+}RmcRatStatusT;
+
+/** The LL1A's Internal State Definition. */
+typedef enum
+{
+    LL1A_FLIGHT,
+    LL1A_STANDBY,
+    LL1A_ACTIVE,    
+    LL1A_RAT_MODE_INIT,
+    LL1A_SUSPEND          
+}Ll1aStateTypeT;
+
+/** The EVDO's mode status enmu. */
+typedef enum
+{
+    RMC_MODE_BEGIN,
+    RMC_NULL_MODE,
+    RMC_IDLE_MODE,
+    RMC_CONNECT_MODE
+}RmcModeStatusT;
+
+/** The 1xRTT's mode status enmu. */
+typedef  enum
+{
+    L1D_NON_DATA_CONNECTED_MODE,
+    L1D_DATA_CONNECTED_MODE    
+}L1dModeStatusT;
+
+/** LL1A gap offered status.*/
+typedef  enum
+{
+    GAP_NOT_OFFERED,
+    GAP_OFFERED,
+    WAIT_FOR_GAP_STOP_CNF    
+}Ll1aGapOfferedStatusT;
+
+/** LL1A autogap available status.*/
+typedef  enum
+{
+    AUTO_GAP_STATUS_UNKNOWN,
+    AUTO_GAP_STATUS_AVAIL,
+    AUTO_GAP_STATUS_UNAVAIL    
+}Ll1aAutoGapAvailStatusT;
+
+/** LL1A autogap request state.*/
+typedef  enum
+{
+    AUTO_GAP_NULL,
+    AUTO_GAP_REQ_PENDING,
+    AUTO_GAP_WAIT_RESULT,
+    AUTO_GAP_ACTIVE   
+}Ll1aAutoGapReqStateT;
+
+/** LL1A Active Gap Pattern type.*/
+typedef  enum
+{
+    ACTIVE_NULL_GAP,
+    ACTIVE_IDLE_GAP,
+    ACTIVE_MMO_GAP
+}Ll1aActiveGapPatternTypeT;
+
+typedef struct
+{
+    kal_uint32    RttGapLen;               /* 1xRTT ps connect gap length for LTE MMO : unit ms */
+    kal_uint32    EvdoGapLen;              /* EVDO connect gap length for LTE MMO : unit ms */
+    kal_bool      RtbaMmoGapEnable;        /* TRUE:LL1A have sent enable to RTBA; FALSE: LL1A have sent disable to RTBA */     
+}Ll1aC2kConnGapT;
+
+/** L1d Mode Status Ind. */
+typedef  struct
+{
+    L1dModeStatusT    L1dModeStatus;   /* Non_Data/Data. */
+}Ll1aL1dModeStatusIndMsgT;
+
+/** LL1A's internal parameters definiton.*/
+typedef struct
+{
+    Ll1aStateTypeT              RatState;           /** LL1A's internal RatState. */
+    RmcRatStatusT               RmcRatStatus;       /** LL1A record the rat status of EVDO.*/
+    RmcModeStatusT              RmcModeStatus;      /** RMC's Mode Status restored in LL1A. */
+    L1dModeStatusT              L1dModeStatus;      /** L1D's mode status recorded in LL1A */
+
+    Ll1aGapOfferedStatusT       GapOfferedStatus;   /** Indicate the gap offered status for evdo active. */
+    SysAirInterfaceT            GapOfferedOwner;    /** Indicate the gap offered owner for evdo or rtt active. */
+    Ll1aAutoGapAvailStatusT     AutoGapAvailStatus; /** Indicate the auto-gap available information for evdo standby. */
+    Ll1aAutoGapReqStateT        AutoGapReqState;    /** Indicate the auto-gap request state for evdo standby. */
+    kal_uint8                   GapIgnoreFlag;      /** Indicate the whether needs to ignore the active gap pattern ind or standby gap notify ind.
+                                                    Bit0 - Ignore the active gap pattern when set as 1; Bit1 - Ignore the standby gap notify when set as 1.*/
+    kal_bool                    GapServiceEnable;   /** Indicate the gap service enable status. */
+    kal_uint8                   GapStopSuspendEvent;   /** To record the gap stop req and gap suspend req event.*/
+    kal_uint32                  AutoGapStartTime; /** The GM need LL1A to return the auto time.*/
+    kal_uint16                  DrxCycleLen;    /** LL1A Needs to record the DrxCycle Length for evdo active idle mode.*/
+    kal_bool                    IsC2kOnSim2;    /* to indicate EVDO in SIM1 or SIM2 */ 
+}Ll1aScheInfoT;
+
+//#ifdef C2K_LL1_STUB_TARGET_SUPPORT /* for NWSIM UT/IT build in elt_msg_struct.h */
+/** The 1xRTT's mode status enmu. */
+typedef  enum
+{
+    LTE_ACTIVE_NULL,
+    LTE_ACTIVE_IDLE,
+    LTE_ACTIVE_CONNECT    
+}Ll1aLteStubModeT;
+
+
+/* Ll1a stub definitaion for target standby */
+typedef  struct
+{
+    Ll1aLteStubModeT    LteMode;   /* LTE active mode. */
+    kal_bool            StopGapInGapRange; /* whether need LL1A send stop gap to EVL1 during gap range */    
+}Ll1aLteActiveInfoT;
+
+/* Ll1a stub definitaion for target standby */
+typedef  struct
+{
+    kal_uint32            NullGapLen;      /* LTE active Null gap length, Max is 5000000, Uint:us . */
+    kal_uint32            IdleGapLen;      /* LTE active Idle gap length, Max is 10000000, Uint:us . */    
+    kal_uint32            ConnGapLen;      /* LTE active Connect gap length, Max is 6000, Uint:us . */ 
+    kal_uint32            AutoGapLen;      /* LL1A send auto gap stop with this length when has offer auto gap to EVL1,Max is 600000 Uint:us . */ 
+}Ll1aStandbyGapLenIndT;
+
+
+/* Ll1a stub definitaion for target standby */
+typedef  struct
+{
+    Ll1aLteActiveInfoT    LteActiveInfo;   /* LTE active info. */
+    kal_uint16            NormalGapCnt;    /* to record how many gaps have sent to EVL1 */    
+    kal_uint16            AutoGapCnt;      /* to record how many gaps have sent to EVL1 */ 
+    Ll1aStandbyGapLenIndT GapLength;        /* to record gap length from script indication */
+}Ll1aStubInfoT;
+
+
+//#endif
+
+
+/*****************************************************************************
+* End of File
+*****************************************************************************/
+#endif
+#endif