[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/protocol/interface/general/rsvas_enum.h b/mcu/protocol/interface/general/rsvas_enum.h
new file mode 100644
index 0000000..e95d8e2
--- /dev/null
+++ b/mcu/protocol/interface/general/rsvas_enum.h
@@ -0,0 +1,326 @@
+/*****************************************************************************
+*  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) 2007
+*
+*  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).
+*
+*****************************************************************************/
+
+/****************************************************************************
+ * PARTS OF THIS FILE ARE AUTOGENERATED
+ * DO NOT EDIT EXCEPT BETWEEN LINES MARKED !BEGIN MANUAL CODE and !END MANUAL CODE
+ *               Assignment :
+ *               CONFIDENTIAL
+ *               Copyright (c) 2000-2005, UbiNetics Ltd. All rights reserved.
+ *               Cambridge Technology Centre
+ *               Melbourn Royston
+ *               Herts SG8 6DP UK
+ *               Tel: +44 1763 262222
+ *
+ ****************************************************************************
+ * !BEGIN MANUAL CODE! (HEADERS)
+ *
+ * COMPONENT:    (Insert Component Name)
+ * MODULE:       $RCSfile: rsvas_enum.h,v $
+ * VERSION:      $Revision: 1.0 $
+ * DATED:        $Date: 2009/06/12 14:22:29 $
+ * AUTHOR:
+ * DESCRIPTION:  Check Header for full description
+ *
+ ****************************************************************************/
+/* !END MANUAL CODE! (HEADERS) */
+/*****************************************************************************
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ ****************************************************************************/
+
+#if !defined(_RSVAS_ENUM_H)
+#define _RSVAS_ENUM_H
+
+#include <c2k_rsva_enums.h>
+
+#define RSVAS_GET_BYTE1_FROM_ENUM(x) ((((kal_uint32)(x))>>24) & 0x000000FF)
+#define RSVAS_GET_BYTE2_FROM_ENUM(x) ((((kal_uint32)(x))>>16) & 0x000000FF)
+#define RSVAS_GET_BYTE3_FROM_ENUM(x) ((((kal_uint32)(x))>> 8) & 0x000000FF)
+#define RSVAS_GET_BYTE4_FROM_ENUM(x) (((kal_uint32)(x)) & 0x000000FF)
+
+
+#define RSVAS_INVALID_SIM_INDEX 0x000000FF
+#define RSVAS_INVALID_RAT_INDEX 0x000000FF
+
+/* Dennis Weng 2010/02/26: [SIM_ADD_HERE] if support tri-SIM in the future, just add as following code. */
+/* Dennis Weng 2010/02/26: [RAT_ADD_HERE] if support another RAT in the future, just add as following code. */
+/* Dennis Weng 2010/03/05: for effective, rsvas_id_enum is designed as a bit structure
+        1st byte is unique in this enum, start from 0,
+        2nd byte is SIM index, start from 0, otherwise fill 0xFF.
+        3rd byte is RAT index, start from 0, otherwise fill 0xFF.
+        4th byte is FORCE PREEMPT index, start from 0, otherwise fill 0xFF.
+            FORCE PREEMP index is the index of modules which may send RESOURCE_RES_OCCUPY_REQ with OCCUPY_FORCE_PREEMPT. */
+#define RSVAS_GET_SIM_INDEX_FROM_ENUM(x) RSVAS_GET_BYTE2_FROM_ENUM(x)
+#define RSVAS_GET_RAT_INDEX_FROM_ENUM(x) RSVAS_GET_BYTE3_FROM_ENUM(x)
+
+/* Dennis Weng 2010/10/15: mapping SIM index and RAT index to rsvas_id_enum 
+   only for AS
+   PS. cannot not input RSVAS_INVALID_SIM_INDEX or RSVAS_INVALID_RAT_INDEX */
+#define RSVAS_GET_RSVAS_ID_ENUM_FROM_INDEX(sim_index, rat_index) ((rsvas_id_enum)(((((((((sim_index)*7)+(rat_index+1)) << 8)+sim_index) << 8) + rat_index) << 8) + 0xFF))
+
+/* Dennis Weng 2010/10/15: shift rsvas_id_enum by SIM index */
+#define RSVAS_SHIFT_RSVAS_ID_ENUM(x, sim_index) ((rsvas_id_enum)((x)+(((((sim_index)*7) << 8)+(sim_index)) << 16)))
+
+/* From Gen93, EL2 is devided into 3 task and each task need to send suspend_req individually
+    In order to send suspend_req in correct sequence, RSVAS ask EL2 to set sending sequence firstly by calling rsvas_update_el2_suspend_sequence
+    The LSB 2 bit represent first module to send suspend_req, and so on  :  */
+#define el2_first_module(x) ((x) & 0x03)
+#define el2_second_module(x) ((x>>2) & 0x03)
+#define el2_third_module(x) ((x>>4) & 0x03)
+
+typedef enum
+{
+    RSVAS_MODE_SWITCH_INIT = 0,
+    RSVAS_MODE_SWITCH_START = 1,
+    RSVAS_MODE_SWITCH_CNF_SEND = 2,
+} rsvas_mode_switch_status;
+
+typedef enum
+{
+    RSVAS_GEMINI_CONFIG_NEEDED = 0,
+    RSVAS_GEMINI_CONFIG_START = 1,
+    RSVAS_GEMINI_CONFIG_END = 2,
+} rsvas_gemini_config_status;
+
+
+typedef enum {
+    RSVAS_SIM_CONNECTED         = 0,
+    RSVAS_SIM_LIMITED_CONNECTED = 1,    
+    RSVAS_SIM_VIRTUAL_CONNECTED = 2,
+    RSVAS_SIM_IDLE_WITH_SERVICE = 3,
+    RSVAS_SIM_IDLE              = 4, 
+    RSVAS_SIM_VIRTUAL           = 5,
+    RSVAS_SIM_LIMITED_VIRTUAL   = 6, 
+    RSVAS_SIM_SUSPENDED         = 7,
+    RSVAS_SIM_STATUS_NUM        = 8
+} rsvas_sim_status;
+
+typedef enum {
+    RSVAS_SIM_INVALID_TRANSITION       = 0,
+
+    RSVAS_SIM_STEADY_CONNECTED         = 1,
+    RSVAS_SIM_CONNECTED2IDLE           = 2,
+
+    RSVAS_SIM_STEADY_IDLE_WITH_SERVICE = 3,
+
+    RSVAS_SIM_STEADY_IDLE              = 4,
+    RSVAS_SIM_IDLE2CONNECTED           = 5,
+    RSVAS_SIM_IDLE2VIRTUAL             = 6,
+    RSVAS_SIM_IDLE2SUSPENDED           = 7,
+
+    RSVAS_SIM_STEADY_VIRTUAL           = 8,
+    RSVAS_SIM_VIRTUAL2CONNECTED        = 9,
+    RSVAS_SIM_VIRTUAL2SUSPENDED        = 10,
+
+    RSVAS_SIM_STEADY_SUSPENDED         = 11,
+    
+    RSVAS_SIM_STEADY_VIRTUAL_CONNECTED = 12,
+    RSVAS_SIM_VIRTUALCONNECTED2CONNECTED = 13,
+    RSVAS_SIM_CONNECTED2VIRTUALCONNECTED = 14,
+    RSVAS_SIM_VIRTUALCONNECTED2SUSPENED = 15,
+    RSVAS_SIM_VIRTUALCONNECTED2VIRTUAL  = 16,
+    RSVAS_SIM_SUSPENDED2CONNECTED        = 17,
+    RSVAS_SIM_SUSPENDED2IDLE             = 18,
+    RSVAS_SIM_VIRTUAL2IDLE               = 19,
+    RSVAS_SIM_SUSPENDED2VIRTUAL          = 20,
+    
+    RSVAS_SIM_STEADY_LIMITED_CONNECTED   = 21,
+    RSVAS_SIM_LIMITEDCONNECTED2CONNECTED = 22,
+    RSVAS_SIM_CONNECTED2LIMITEDCONNECTED = 23,
+    RSVAS_SIM_LIMITEDCONNECTED2VIRTUALCONNECTED = 24,
+    RSVAS_SIM_VIRTUALCONNECTED2LIMITEDCONNECTED = 25,
+    RSVAS_SIM_LIMITEDCONNECTED2IDLE = 26,
+    RSVAS_SIM_LIMITEDCONNECTED2SUSPENDED = 27,
+    RSVAS_SIM_LIMITEDCONNECTED2VIRTUAL = 28,
+    RSVAS_SIM_LIMITEDCONNECTED2LIMITEDVIRTUAL = 29,
+
+    RSVAS_SIM_STEADY_LIMITED_VIRTUAL   = 30,
+    RSVAS_SIM_LIMITEDVIRTUAL2LIMITEDCONNECTED   = 31,
+    RSVAS_SIM_LIMITEDVIRTUAL2CONNECTED   = 32,
+    RSVAS_SIM_LIMITEDVIRTUAL2IDLE      = 33,
+    RSVAS_SIM_LIMITEDVIRTUAL2VIRTUAL   = 34,
+    RSVAS_SIM_LIMITEDVIRTUAL2SUSPENDED   = 35,
+    RSVAS_SIM_CONNECTED2LIMITEDVIRTUAL   = 36,
+    RSVAS_SIM_VIRTUALCONNECTED2LIMITEDVIRTUAL = 37,   
+    RSVAS_SIM_IDLE2LIMITEDVIRTUAL      = 38,
+    RSVAS_SIM_VIRTUAL2LIMITEDVIRTUAL   = 39,
+    RSVAS_SIM_SUSPENDED2LIMITEDVIRTUAL   = 40,
+   
+    RSVAS_SIM_TRANSITION_NUM           = 41
+} rsvas_sim_transition;
+
+typedef enum
+{
+    RSVAS_REQUEST_SOURCE_RSIM_ACCESS                = 0
+    ,RSVAS_REQUEST_SOURCE_SRLTE_ENHANCEMENT         = 1
+    ,RSVAS_REQUEST_SOURCE_SRLTE_ENHANCEMENT_TOLERENT = 2
+} rsvas_virtual_connect_request_type_enum;
+
+/**
+ * For GEN97
+ */
+typedef  enum {
+   RSVAS_CONNECTED_AFTER_VC_RESUME,
+   RSVAS_SUSPEND_AFTER_VC_RESUME, //for race condition, AS release service before return VC_suspend_cnf
+   RSVAS_VIRTUAL_IDLE_AFTER_VC_RESUME, //for race condition, AS release service before return VC_suspend_cnf
+   RSVAS_ABORT_SUSPEND_AFTER_VC_RESUME, //AS release connection in VC
+   RSVAS_ABORT_VIRTUAL_IDLE_AFTER_VC_RESUME, //AS release connection in VC
+   RSVAS_ABORT_IDLE_AFTER_VC_RESUME, //AS release connection in VC
+} rsvas_virtual_connected_resume_action_enum;
+
+
+/**
+ * For DR-DSDS/DSDA
+ */
+typedef enum {
+    RSVAS_GEMINI_GAP_ALLOWED = 0
+    ,RSVAS_GEMINI_GAP_NOT_ALLOWED = 1
+} rsvas_gemini_gap_status_enum;
+
+#endif /* _RSVAS_ENUM_H */
+