[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