[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/service/em/em_struct.h b/mcu/interface/service/em/em_struct.h
new file mode 100644
index 0000000..f4d7f3b
--- /dev/null
+++ b/mcu/interface/service/em/em_struct.h
@@ -0,0 +1,617 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * em_struct.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * Engineer mode related structures.
+ *
+ * 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!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _EM_STRUCT_H
+#define _EM_STRUCT_H
+
+#include "ps_public_struct.h"
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#include "kal_general_types.h"
+/*Justin: RHR*/
+//#include "rrm_context.h"
+//#include "meas_context.h"
+#include "em_public_struct.h"
+//#include "em_l4_common_public_struct.h"
+
+#define MAX_NUM_CELL_LOCK_ARFCN 3
+
+typedef enum
+{
+ CELL_LOCK_MODE_CONDITIONED = 0,
+ CELL_LOCK_MODE_ABSOLUTE
+} em_cell_lock_mode_enum;
+
+typedef struct
+{
+ kal_uint32 mod_id;
+ em_info_enum em_info_event;
+ kal_uint8 mod_bit_mask;
+} em_info_req_mod_tbl_struct;
+
+/* To identify the EM request from */
+/* Do not change the order of the enum value */
+typedef enum
+{
+ EM_FROM_ELT, //replace EM_FROM_CATCHER
+ EM_FROM_RMMI, /* tommy add for RMMI EM support */
+ EM_FROM_MTF
+} em_source_enum;
+
+typedef enum
+{
+ EM_CAUSE_OK,
+ EM_CAUSE_INVALID_INFO_TYPE
+} em_err_cause_enum;
+
+/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
+typedef enum
+{
+ /*For quest to disable MT or not*/
+ EM_MT_NOT_ALLOWED
+} em_feature_enum;
+
+/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
+typedef enum
+{
+ /*For turn on the feature or not*/
+ EM_FEATURE_ON,
+ EM_FEATURE_OFF
+} em_feature_state_enum;
+
+/* local parameter structures */
+
+/* For L4CPS_EM_UPDATE_REQ */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ em_source_enum em_src;
+ em_info_status_enum info_request[NUM_OF_EM_INFO];
+} l4cps_em_update_req_struct;
+
+/*Byron: 2006/02/15: User can trigger RR to suspend cell reselection procedure in all state or transfer state*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 suspend_status; /* 0: in all RR states, 1: in RR GPRS transfer */
+} l4cps_em_cell_resel_suspend_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool result; /* 0: in all RR states, 1: in RR GPRS transfer */
+ kal_uint8 cause;
+}l4cps_em_cell_resel_suspend_cnf_struct;
+
+typedef l4cps_em_cell_resel_suspend_cnf_struct l4cps_em_cell_resel_resume_cnf_struct;
+
+/*Byron: 2006/08/06: Add for cell lock*/
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool band_indicator; /* 0: not 1900 band cell, 1: 1900 band cell*/
+ kal_uint32 enabled_bitmap; /* Ex: 00000101 => The 1st and 3rd index of the array "lock_arfcn" are valid */
+ kal_uint16 lock_arfcn[MAX_NUM_CELL_LOCK_ARFCN]; /* The cell's arfcn to be locked*/
+ em_cell_lock_mode_enum mode;
+}l4cps_em_set_cell_lock_req_struct;
+
+/*Byron: 2006/08/06: Add for cell lock*/
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool result; /*0: Turn off, 1: Turn on*/
+}l4cps_em_set_cell_lock_cnf_struct;
+
+/*Byron: 2006/08/06: Add for cell lock*/
+/* Zengyu 20100807: add header for this structure */
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_bool result;
+ kal_bool band_indicator; /*0: not 1900 band cell, 1: 1900 band cell*/
+ kal_uint32 enabled_bitmap; /* Ex: 00000101 => The 1st and 3rd index of the array "lock_arfcn" are valid */
+ kal_uint16 lock_arfcn[MAX_NUM_CELL_LOCK_ARFCN]; /* The cell's arfcn to be locked*/
+ em_cell_lock_mode_enum mode;
+}l4cps_em_get_cell_lock_cnf_struct;
+
+/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ em_feature_enum em_feature;
+ em_feature_state_enum em_feature_state;
+} l4cps_em_feature_command_req_struct;
+
+/*Byron: 2007/03/14: Add for request to RR from Engineering mode*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ em_feature_enum em_feature;
+ kal_bool result; /*0: Fail, 1: Success*/
+} l4cps_em_feature_command_cnf_struct;
+
+/* For L4CPS_EM_START_CNF, L4CPS_EM_STOP_CNF */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool result;
+ kal_uint8 cause;
+ request_info_type info_request;
+} l4cps_em_start_cnf_struct;
+
+typedef l4cps_em_start_cnf_struct l4cps_em_stop_cnf_struct;
+
+/*091020 shuang SHUANG_EM_UT shuang move to the buttom of the rr em structures
+ because codegen, the struct declare should be in front of
+ the using*/
+
+/* For L4CPS_EM_STATUS_IND */
+/* James 2012/8/15 */
+#ifndef __MTK_TARGET__
+typedef struct l4cps_em_info_req_struct_tag
+#else
+typedef struct
+#endif
+{
+ LOCAL_PARA_HDR
+ em_info_enum em_info;
+} l4cps_em_info_req_struct;
+
+typedef l4cps_em_info_req_struct l4cps_em_status_ind_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+/* brwang, 20070727, [EM Cell ID Lock function] { */
+
+#define L4C_MAX_EM_CELL_LOCK_NUM 16
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 num_of_nc_lai;
+ rr_em_lai_info_struct nc_lai[L4C_MAX_EM_CELL_LOCK_NUM];
+} l4cps_em_set_cell_id_lock_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool result;
+} l4cps_em_set_cell_id_lock_cnf_struct;
+
+/* brwang, 20070727, [EM Cell ID Lock function] } */
+
+/*mtk00924: 061106 add for network event notify*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_on;
+} l4cps_em_nw_event_notify_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool result;
+} l4cps_em_nw_event_notify_cnf_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 group_id;
+ kal_uint32 event_id;
+} l4cps_em_nw_event_notify_ind_struct;
+
+
+/* this is the header for local parameter of EM information
+ please define your EM local parameter as below:
+typedef struct
+{
+ LOCAL_PARA_HDR
+ em_info_enum em_info;
+ your_em_info_type your_em_info;
+} your_em_struct;
+*/
+typedef struct
+{
+ LOCAL_PARA_HDR
+ em_info_enum em_info;
+} l4cps_em_info_ind_hdr_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_char event[MAX_MD_EVENT_STRLEN];
+} l4cps_md_event_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ em_info_enum em_info;
+ kal_bool is_turned_on;
+} l4cps_event_report_req_struct;
+
+typedef l4cps_em_info_ind_hdr_struct ipca_em_info_ind_struct;
+#endif /* ~_EM_STRUCT_H */
+