[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 */
+