[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/protocol/general/rmmi_struct.h b/mcu/interface/protocol/general/rmmi_struct.h
new file mode 100644
index 0000000..2c96de1
--- /dev/null
+++ b/mcu/interface/protocol/general/rmmi_struct.h
@@ -0,0 +1,402 @@
+/*****************************************************************************
+* 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).
+*
+*****************************************************************************/
+ /*******************************************************************************
+ * 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) 2001
+ *
+ *******************************************************************************/
+
+ /*******************************************************************************
+ * Filename:
+ * ---------
+ * rmmi_strcut.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __RMMI_STRUCT_H__
+#define __RMMI_STRUCT_H__
+//#include "kal_non_specific_general_types.h"
+#include "kal_general_types.h"
+//#include "l4c_common_enum.h"
+#include "ps_public_enum.h"
+#include "kal_public_defs.h"
+
+#include "ps_public_struct.h"
+
+#ifndef __MTK_TARGET__
+#include "dcl.h" //for DCL_DEV_T
+#endif
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 data[256];
+} rmmi_inject_msg_req_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 data[256];
+} rmmi_inject_msg_cnf_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+} rmmi_atcidt_force_transfer_req_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 port;
+ kal_bool is_dt;
+} rmmi_atcidt_force_transfer_cnf_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ rmmi_sim_uart_setting_enum sim_setting;
+} rmmi_master_sim_change_req_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_bool result;
+} rmmi_master_sim_change_cnf_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 ch_num;
+} rmmi_register_channel_req_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_bool result;
+ kal_uint8 begin_port_id;
+} rmmi_register_channel_cnf_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 port_id;
+ kal_uint16 length;
+} rmmi_exe_at_req_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_bool result;
+ kal_uint8 port_id;
+} rmmi_exe_at_cnf_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 port_id;
+ kal_uint16 length;
+} rmmi_response_at_ind_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint16 length;
+} rmmi_urc_at_ind_struct;
+
+typedef struct rmmi_report_mode_struct
+{
+ kal_uint32 einfo; /* proprietary +ECPI: call progress information */
+ kal_uint32 ecpi; /* proprietary +ECPI: call progress information */
+ kal_uint32 eind; /* proprietary +EIND: general indication */ /* Bit 0(SMS ready), Bit 1(PHB ready), Bit 7(AT ready), others reserved */
+ kal_uint8 ccm; /* rmmi_report_mode_enum */
+ kal_uint8 acm_warning; /* rmmi_report_mode_enum */
+ kal_uint8 call_wait; /* rmmi_report_mode_enum */
+ kal_uint8 cdip; /* rmmi_report_mode_enum */
+ kal_uint8 clip; /* rmmi_report_mode_enum */
+ kal_uint8 clir; /* rmmi_report_mode_enum */
+ kal_uint8 cnap; /* rmmi_report_mode_enum */
+ kal_uint8 colp; /* rmmi_report_mode_enum */
+ kal_uint8 ss_mo; /* rmmi_report_mode_enum */
+ kal_uint8 ss_mt; /* rmmi_report_mode_enum */
+ kal_uint8 ussd; /* rmmi_report_mode_enum */
+ kal_uint8 compression; /* rmmi_report_mode_enum */
+ kal_uint8 ps_reg; /* rmmi_nw_reg_report_mode_enum */
+ kal_uint8 nr_reg; /* rmmi_nw_reg_report_mode_enum */
+ kal_uint8 cs_reg; /* rmmi_nw_reg_report_mode_enum */
+ kal_uint8 timezone; /* rmmi_time_zone_report_mode_enum */
+ kal_uint8 crc; /* rmmi_report_mode_enum, for +CRC */
+ kal_uint8 cr; /* rmmi_report_mode_enum, for +CR */
+ kal_uint8 ecsq;
+ kal_uint8 cen; // +CEN
+ kal_uint8 ecsq_count;
+ kal_uint8 cgerep;
+ kal_uint8 cgerep_bfr;
+ kal_uint8 cmer_mode;
+ kal_uint8 cmer_keyp;
+ kal_uint8 cmer_ind;
+ kal_uint8 cmer_bfr;
+ kal_uint8 esims;
+ kal_uint8 eusim;
+ kal_uint8 etestsim;
+#if defined(__MOD_TCM__)
+ kal_uint8 psbearer_indicate; // for +PSBEARER
+#endif
+ kal_uint8 pacsp;
+#ifdef __CSG_SUPPORT__
+ kal_uint8 ecsg;
+#endif
+#ifdef __IMS_SUPPORT__
+ kal_uint8 cireg;
+ kal_uint8 cirep;
+ kal_uint8 cnem;
+#endif
+ kal_uint8 ecell;
+ kal_uint8 armee;
+ kal_uint8 eemcinfo;
+ kal_uint8 essac;
+ kal_uint8 emobd;
+ kal_uint8 cusats;
+ kal_uint8 ecusats;
+
+ kal_uint8 eccause;
+ kal_uint8 ecsra;
+ kal_uint8 evocd;
+ kal_uint8 erlm_mode;
+ kal_uint8 edrb;
+ kal_uint8 ecamp;
+ kal_uint8 eslband;
+ kal_uint8 cscon;
+ kal_uint8 scp_cellinfo;
+ kal_uint8 emodcfg;
+ kal_uint8 elce;
+ kal_uint8 elatency;
+ kal_uint8 ereginfo; //to enable/disable +EREGINFO URC
+ kal_uint8 eimsps;
+ kal_uint8 eimscons;
+ kal_uint8 ecgreg;
+ kal_uint8 ecereg;
+ kal_uint8 ecmpcid; //to enable/disable +ECMPCID URC
+ kal_uint8 ecreg;
+ kal_uint8 esimecc;
+ kal_uint8 eltebwinfo;
+ kal_uint8 eacb;
+ kal_uint8 eppi; //to enable/disable +EPPI URC
+//#ifdef __FAST_ROAMING_SEARCH__
+ kal_uint8 efmcc;
+//#endif
+ kal_uint8 eimsess; // to enable/disable +EIMSESS URC
+ kal_uint8 ecainfo; //to enable/disable +ECAINFO URC
+ kal_uint8 eplwth;
+ kal_uint8 ercefc; // to enable/disable +ERCEFC URC
+ kal_uint8 iccid; // to enable/disable +ICCID URC
+ kal_uint8 ecbdinfo_mode; // to enable/disable +ECBDINFO
+ kal_uint8 edmfapp; // to enable/disable +EDMFAPP
+ kal_uint8 eatnusd; // to enable/disable +EATNUSD URC
+ kal_uint8 edsda; // to enable/disable +EDSDA URC
+ kal_uint8 eopsu; // to enable/disable +EOPSU URC
+ kal_uint8 ecampui; // enable/disable +ECAMPUI URC
+ kal_uint8 epcellinfo; // to enable/disable +EPCELLINFO URC
+ kal_uint8 egtchs; /* to enable/disable +EGTCHS URC */
+
+#ifdef __EPSFB_SUPPORT__
+ kal_uint8 cepsfb; // to enable/disable +CEPSFB
+#endif
+ kal_uint8 cladn;
+ kal_uint8 erejinfo; // to enable/disable +EREJINFO URC
+
+#ifdef __SAR_SENSOR_TX_DETECTION_SUPPORT__
+ kal_uint8 etxpwrstus; /* to enable/disable +ETXPWRSTUS URC*/
+#endif
+
+ kal_uint8 euacalv; // to enable/disable +EUACALV URC
+
+ kal_uint8 enwcfginfo; /* to enable/disable +ENWCFGINFO URC*/
+ kal_uint8 e5guw; /* to enable/disable +E5GUW URC*/
+ kal_uint8 enrcaband; /* to enable/disable +ENRCABAND URC*/
+
+ kal_uint8 epnwcause;
+
+} rmmi_report_mode_struct;
+
+typedef struct rmmi_op01_report_mode_struct
+{
+ kal_uint8 dsci;
+ kal_uint8 rfsw;
+ kal_uint8 cardmode;
+} rmmi_op01_report_mode_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_bool lock; //KAL_TRUE: lock, KAL_FALSE: unlock
+} rmmi_lock_at_cmd_req_struct;
+
+ typedef struct{
+ LOCAL_PARA_HDR
+ kal_bool result; //KAL_TRUE: success, KAL_FALSE: fail
+} rmmi_lock_at_cmd_cnf_struct;
+
+#ifdef __GAS_SUPPORT__
+ /* Message Structure */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 data[1500]; /* data */
+ kal_uint16 size; /* size of the input data */
+ kal_uint16 buf_size; /* avariable size of the output buffer */
+} gas_data_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 data[1500]; /* data */
+ kal_uint16 size; /* size of the input data */
+ kal_uint8 data_type; /* gati_output_data_type_enum */
+} gas_data_req_struct;
+
+typedef enum
+{
+ GAS_OUTPUT_NORMAL, /* The type of output data is normal type which might be partially put to the output buffer of the ATCI */
+ GAS_OUTPUT_URC, /* The type of output data is a URC. Note that this type of data is an integrity type implicitly. */
+} gas_output_data_type_enum;
+#endif /*__GAS_SUPPORT__*/
+
+/* for thermal_protection */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_int16 value;
+ kal_uint8 type;
+} atci_thermal_event_report_ind_struct;
+
+typedef struct
+{
+ l4c_rac_ecc_number_struct ecc_list[MAX_NW_ECC_NUM]; /* ecc number list*/
+ kal_uint8 no_ecc; /* number of ecc number*/
+} rmmi_ecc_number_list_struct;
+
+#ifndef __MTK_TARGET__
+#define MAX_UT_UART_LENGTH 2048
+
+typedef enum
+{
+ ATCI_UT_UART_PORT1 = uart_port1,
+ ATCI_UT_UART_PORT2 = uart_port2,
+ ATCI_UT_UART_PORT_USB = uart_port_usb,
+ ATCI_UT_UART_PORT_USB2 = uart_port_usb2,
+ ATCI_UT_UART_PORT_CCCI = uart_port_at_ccci,
+ ATCI_UT_UART_PORT_GPS = uart_port_gps_ccci,
+#ifdef __HIF_CCISM_SCP_SUPPORT__
+ ATCI_UT_UART_CELLINFO_CCCI = uart_port_cellinfo_ccci,
+#endif
+
+ /* CMUX virtual port for SIM1 */
+ ATCI_UT_UART_VIRTUAL_PORT_START = start_of_virtual_port,
+ ATCI_UT_UART_VIRTUAL_PORT2,
+ ATCI_UT_UART_VIRTUAL_PORT3,
+ ATCI_UT_UART_VIRTUAL_PORT4,
+ ATCI_UT_UART_VIRTUAL_PORT5,
+ ATCI_UT_UART_VIRTUAL_PORT6, //CMUX extention port for TTL
+
+ /* CMUX virtual port for SIM2 */
+ ATCI_UT_UART_VIRTUAL_PORT7,
+ ATCI_UT_UART_VIRTUAL_PORT8,
+ ATCI_UT_UART_VIRTUAL_PORT9,
+ ATCI_UT_UART_VIRTUAL_PORT10,
+ ATCI_UT_UART_VIRTUAL_PORT11,
+ ATCI_UT_UART_VIRTUAL_PORT12,
+
+ /* no list all of CMUX_VP_NUM virtual ports */
+
+ ATCI_UT_UART_VIRTUAL_PORT_END = end_of_virtual_port,
+} atci_ut_uart_port_enum;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ atci_ut_uart_port_enum port;
+ kal_uint8 string[MAX_UT_UART_LENGTH];
+ kal_uint16 str_len;
+} atci_ut_uart_input_ind_struct; // MSG_ID_ATCI_UT_UART_INPUT_IND
+#endif
+
+typedef enum{
+ RMMI_SCP_CMD_DISABLE = 0,
+ RMMI_SCP_CMD_ENABLE_CHANGE_OF_CELL_ID, //Phase 1: enable but report only when camping cell id has changed
+ RMMI_SCP_CMD_ENABLE_CHANGE_OF_CELL_RSSI, //Phase 2: enable but report only when camping cell's RSSI has changed
+ RMMI_SCP_CMD_END
+}rmmi_scp_cmd_enum;
+
+typedef enum{
+ RMMI_SCP_CELLINFO_GSM = 0,
+ RMMI_SCP_CELLINFO_CDMA,
+ RMMI_SCP_CELLINFO_UMTS,
+ RMMI_SCP_CELLINFO_LTE,
+ RMMI_SCP_CELLINFO_TYPE_END
+}rmmi_scp_cellinfo_type_enum;
+
+typedef struct{
+ kal_uint16 mdm_type;
+ kal_uint16 mcc;
+ kal_uint16 mnc;
+ kal_uint16 area; /* lac or tac */
+ kal_uint16 pci;
+ kal_uint16 strength; /* RSSI or RSCP or RSRP */
+ kal_uint32 cell; /* cid or uc or ci */
+ kal_uint32 isCamping; /* 0: neighbor cell; 1: camping cell */
+}rmmi_scp_cellinfo_struct;
+
+#define SCP_NBR_CELLINFO_MAX 9
+#define SCP_CELLINFO_MAX (SCP_NBR_CELLINFO_MAX+1)
+
+typedef struct{
+ kal_uint32 length;
+ rmmi_scp_cellinfo_struct info[SCP_CELLINFO_MAX];
+}rmmi_scp_cellinfo_data_struct;
+
+
+typedef struct {
+ kal_uint8 date_string[20];
+ kal_uint8 tz[4];
+ kal_uint8 dst;
+} rmmi_nitz_time_struct; // CCLK
+
+#endif