[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/custom/protocol/common/atci/include/at_custom_cmd_op01.h b/mcu/custom/protocol/common/atci/include/at_custom_cmd_op01.h
new file mode 100644
index 0000000..ab500e6
--- /dev/null
+++ b/mcu/custom/protocol/common/atci/include/at_custom_cmd_op01.h
@@ -0,0 +1,119 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ * at_custom_cmd_op01.def
+ *
+ * Project:
+ * --------
+ *   MT6208
+ *
+ * Description:
+ * ------------
+ *   This file is intends for ....
+ *
+ * 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!
+ *
+ *
+ *------------------------------------------------------------------------------
+ * 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.
+*
+********************************************************************************/
+
+/* Please add EXTEND_CMD() in the following*/
+EXTEND_CMD("scpbr", 119040566, 0, "", RMMI_CMD_ATSCPBR, rmmi_cpbr_hdlr)
+EXTEND_CMD("scpbw", 119040571, 0, "", RMMI_CMD_ATSCPBW, rmmi_cpbw_hdlr)
+
+EXTEND_CMD("dsci", 79482215, 0, "^DSCI: (0,1)", RMMI_CMD_ATDSCI, rmmi_dsci_hdlr)
+EXTEND_CMD("mtv", 79254722, 0, "", RMMI_CMD_ATMTV, rmmi_mtv_hdlr)
+EXTEND_CMD("sysinfo", 120252344, 243, "", RMMI_CMD_ATSYSINFO, rmmi_sysinfo_hdlr)
+EXTEND_CMD("sysconfig", 120252117, 777221, "", RMMI_CMD_ATSYSCONFIG, rmmi_sysconfig_hdlr)
+EXTEND_CMD("cardmode", 85571605, 21817, "^CARDMODE: (0,1)", RMMI_CMD_ATCARDMODE, rmmi_cardmode_hdlr)
+EXTEND_CMD("rfsw", 80232273, 0, "", RMMI_CMD_ATRFSW, rmmi_rfsw_hdlr)
+EXTEND_CMD("spn", 79263226, 0, "^SPN: (0,1)", RMMI_CMD_ATSPN, rmmi_spn_hdlr)
+EXTEND_CMD("hver", 79706120, 0, "", RMMI_CMD_ATHVER, rmmi_hver_hdlr)
+EXTEND_CMD("cmdver", 86210529, 18, "", RMMI_CMD_ATCMDVER, rmmi_cmdver_hdlr)
+EXTEND_CMD("off", 21894, 0, "", RMMI_CMD_ATOFF, rmmi_off_hdlr)
+
+/* Please add CMD_ENUM() in the following and do not wrap with compile option*/
+CMD_ENUM(RMMI_CMD_ATSCPBR)
+CMD_ENUM(RMMI_CMD_ATSCPBW)
+CMD_ENUM(RMMI_CMD_ATDSCI)
+CMD_ENUM(RMMI_CMD_ATMTV)
+CMD_ENUM(RMMI_CMD_ATSYSINFO)
+CMD_ENUM(RMMI_CMD_ATSYSCONFIG)
+CMD_ENUM(RMMI_CMD_ATCARDMODE)
+CMD_ENUM(RMMI_CMD_ATRFSW)
+CMD_ENUM(RMMI_CMD_ATSPN)
+CMD_ENUM(RMMI_CMD_ATHVER)
+CMD_ENUM(RMMI_CMD_ATCMDVER)
+CMD_ENUM(RMMI_CMD_ATOFF)
+
diff --git a/mcu/custom/protocol/common/atci/include/at_custom_cmd_tc01.h b/mcu/custom/protocol/common/atci/include/at_custom_cmd_tc01.h
new file mode 100644
index 0000000..b707a52
--- /dev/null
+++ b/mcu/custom/protocol/common/atci/include/at_custom_cmd_tc01.h
@@ -0,0 +1,201 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ * AT_CUSTOM_CMD.DEF
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   This file is intends for implementing custom commands for some customers
+ *   which should not be released to other customers
+ *
+ * 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!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifdef __TC01__
+CUSTOM_CMD("custom", 7435931, 13, "+CUSTOM: This is a sample", RMMI_CMD_ATCUSTOM, rmmi_custom_hdlr)
+
+CUSTOM_CMD("sltype",        40305894,          5, "", RMMI_CMD_SLTYPE,         rmmi_sltype_hdlr        )
+CUSTOM_CMD("vslt3",         46933678,          0, "", RMMI_CMD_VSLT3,          rmmi_vslt3_hdlr         )
+CUSTOM_CMD("vslt2",         46933677,          0, "", RMMI_CMD_VSLT2,          rmmi_vslt2_hdlr         )
+CUSTOM_CMD("vslt",           1235096,          0, "", RMMI_CMD_VSLT,           rmmi_vslt_hdlr          )
+CUSTOM_CMD("simimsi",       40130559,        731, "", RMMI_CMD_SIMIMSI,        rmmi_simimsi_hdlr       )
+CUSTOM_CMD("rfdevchk",      37867668,       4647, "", RMMI_CMD_RFDEVCHK,       rmmi_rfdevchk_hdlr      )
+CUSTOM_CMD("sbp",			   27528,		   0, "", RMMI_CMD_SBP, 		   rmmi_sbp_hdlr		   )
+CUSTOM_CMD("pgcheck",       33750921,        125, "", RMMI_CMD_PGCHECK,        rmmi_pgcheck_hdlr       )
+CUSTOM_CMD("pgcheckext",    33750921,    6867152, "", RMMI_CMD_PGCHECKEXT,     rmmi_pgcheckext_hdlr    )
+CUSTOM_CMD("cgatt", 		     6641736,		   0, "", RMMI_CMD_LGCGATT, 	   rmmi_lgcgatt_hdlr	   )
+CUSTOM_CMD("detach",		     8643825,		   8, "", RMMI_CMD_DETACH,		   rmmi_detach_hdlr 	   )
+CUSTOM_CMD("ltecall",       26126407,        468, "", RMMI_CMD_LTECALL,        rmmi_ltecall_hdlr       )
+CUSTOM_CMD("datastatic",     8424353,   41786817, "", RMMI_CMD_DATASTATIC,     rmmi_dataStatic_hdlr    )
+CUSTOM_CMD("mimoantcheck",	27619959, 1151171433, "", RMMI_CMD_MIMOANTCHECK,   rmmi_mimoantcheck_hdlr  )
+CUSTOM_CMD("rxmrd", 		    38868836,		   0, "", RMMI_CMD_RXMRD,          rmmi_rxmrd_hdlr         )
+CUSTOM_CMD("simtray",       40130982,         63, "", RMMI_CMD_SIMTRAY,        rmmi_simtray_hdlr       )
+CUSTOM_CMD("inisim",        19548159,         13, "", RMMI_CMD_INISIM,         rmmi_inisim_hdlr        )
+CUSTOM_CMD("issim",         19836583,          0, "", RMMI_CMD_ISSIM,          rmmi_issim_hdlr         )
+CUSTOM_CMD("simid",         40130550,          0, "", RMMI_CMD_SIMID,          rmmi_simid_hdlr         )
+CUSTOM_CMD("bndi",            130121,          0, "", RMMI_CMD_BNDI,           rmmi_bndi_hdlr          )
+CUSTOM_CMD("ecall",         10592208,          0, "", RMMI_CMD_ECALL,          rmmi_ecall_hdlr         )
+CUSTOM_CMD("flight",        13182550,         20, "", RMMI_CMD_FLIGHT,         rmmi_flight_hdlr        )
+#ifdef __VSIM__
+CUSTOM_CMD("simoff",        40130780,          6, "", RMMI_CMD_SIMOFF,         rmmi_simoff_hdlr        )
+#endif
+CUSTOM_CMD("campreq",       6329678,         207, "", RMMI_CMD_CAMPREQ,        rmmi_campreq_hdlr       )
+CUSTOM_CMD("camp",          166570,            0, "", RMMI_CMD_CAMP,           rmmi_camp_hdlr          )
+CUSTOM_CMD("lbcall",        25135758,         12, "", RMMI_CMD_LBCALL,          rmmi_lbcall_hdlr       )
+#endif
diff --git a/mcu/custom/protocol/common/atci/include/mtcdef.h b/mcu/custom/protocol/common/atci/include/mtcdef.h
new file mode 100644
index 0000000..bd03d03
--- /dev/null
+++ b/mcu/custom/protocol/common/atci/include/mtcdef.h
@@ -0,0 +1,549 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ * MTCDEF.H
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   This file is intends for implementing custom commands for some customers
+ *   which should not be released to other customers
+ *
+ * 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!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+#ifdef __MTK_TARGET__  /* Only support ATS test on target , not support in simulator */
+#ifndef MTCDEF_H
+#define MTCDEF_H
+
+#include "lcd_sw_inc.h"
+#include "lcd_sw.h"
+
+/*===============================================================*/
+#define MTC_CMD_CODE 0xF0
+
+
+/******************************************************************************
+  *																																						*
+  *					Integrate RFWS library - ia_raw.h																				*
+  *																																						*
+  ******************************************************************************/
+#define RGB565_REDMASK		(0xf800)
+#define RGB565_REDSHIFT		(11)
+#define RGB565_GREENMASK	(0x07e0)
+#define RGB565_GREENSHIFT	(5)
+#define RGB565_BLUEMASK	(0x001f)
+#define RGB565_BLUESHIFT	(0)
+
+#define RGB_PLANE_RED		(1)
+#define RGB_PLANE_GREEN	(2)
+#define RGB_PLANE_BLUE		(3)
+
+
+/******************************************************************************
+  *																																						*
+  *					Integrate RFWS library - ia_simple_dpcm.h																	*
+  *																																						*
+  ******************************************************************************/
+#define DPCM_MINIMAL_QUANTIZER	(1)
+#define DPCM_MAXIMAL_QUANTIZER	(7)
+
+#define DPCM_INITIAL_PREDICTION	(128)
+
+
+typedef enum 
+{
+	MTC_SCREEN_INFO_REQ_CMD = 0x00, 	/* Screen Info Request */
+	MTC_CAPTURE_REQ_CMD  = 0x01,		/* Screen Capture Request */
+	MTC_KEY_LOG_MASK_CMD = 0x07,
+	MTC_KEY_LOG_DATA_IND = 0x08,
+	MTC_PHONE_RESTART_REQ_CMD = 0x10,	/* Phone Restart Request */
+	MTC_PHONE_FACTORY_RST_CMD = 0x11,	/* Phone Factory Reset Request*/
+	MTC_PHONE_REPORT_REQ_CMD = 0x20,	/* Phone Report request */
+	MTC_PHONE_STATE_REQ_CMD = 0x21,		/* Phone status request*/
+	MTC_DATA_TRANSFER_SETUP_CMD = 0x22,	/* Request to setup data transfer parameters*/	
+	MTC_KEY_REPORT_EN_REQ_CMD = 0x30, 	/* Enable/Disable key press notification*/
+	MTC_KEY_EVENT_REQ_CMD  = 0x33,		/* Key Event notification or key press emulation */
+	MTC_FAST_KEY_EVENT_REQ_CMD = 0x35,  /* Fast key event request cmd */
+	MTC_MEMORY_DUMP_REQ_CMD = 0x40,		/* Memory Dump Request*/
+	MTC_BATTERY_LEVEL_REQ_CMD = 0x41,	/* Battery Level Request*/
+	MTC_BACKLIGHT_REQ_CMD = 0x42,		/* Backlight State Request*/
+	MTC_FLEX_DATA_REQ_CMD = 0x50,
+	MTC_ERROR_CMD = 0x7F,
+	MTC_CURRENT_CELL_REQ_CMD = 0x80		/*Current cell, codec and data transfer quality information*/
+}mtc_sub_cmd_type;
+
+typedef enum
+{
+	MTC_MAIN_LCD = 0,
+	MTC_SUB_LCD,
+	MTC_LCD_PADDING = 0x7F
+}mtc_scrn_id_type;
+
+
+typedef struct                                     
+{
+    kal_uint8      sw_ver[45];
+    kal_uint8      hw_ver[16];
+    kal_uint8      sw_sub_ver;
+} mtcVersion_type;
+
+/*================================================================*/
+typedef __packed struct 
+{
+	kal_uint8 cmd_code;
+	kal_uint8 sub_cmd;
+}mtc_req_hdr_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	mtc_scrn_id_type screen_id;
+}mtc_info_req_type;
+
+/*=================================================================*/
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	mtc_scrn_id_type screen_id;
+	kal_uint16 left;	/* Upper left X-Coord */
+	kal_uint16 top;	/* Upper left Y-Coord */
+	kal_uint16 width;  /* Width of the capture screen */
+	kal_uint16 height;  /* Height of the capture screen */
+}mtc_capture_req_type;
+
+/*=================================================================*/
+
+typedef __packed struct
+{
+	kal_uint16 left;	/* Upper left X-Coord */
+	kal_uint16 top;	/* Upper left Y-Coord */
+	kal_uint16 width;  /* Width of the area */
+	kal_uint16 height;  /* Height of the area */
+} mtc_ats_capture_rect_type;
+
+
+typedef __packed struct
+{
+	kal_uint8 mask_type;
+	mtc_ats_capture_rect_type rect; /* masked area */
+}mtc_ats_capture_mask_req_type;
+
+#define MTC_ATS_NMASK_MAX (5)
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	mtc_scrn_id_type screen_id;
+	mtc_ats_capture_rect_type base_area;
+	kal_uint8 refresh;
+	kal_uint8 data_type;
+	kal_uint8 pack_type;
+	kal_uint8 quantizer;
+	kal_uint8 threshold;
+	mtc_ats_capture_mask_req_type masks[MTC_ATS_NMASK_MAX];
+}mtc_ats_capture_req_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 request_area;
+	kal_uint8 value;
+}mtc_ats_key_report_en_req_type;
+
+#if 1 /* LGE_L1_NUGUYU_20091119 */
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint32 log_mask;
+}mtc_ats_key_log_mask_req_type;
+#endif
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint32 address;
+	kal_uint32 reserved;
+	kal_uint8 size;
+}mtc_ats_memory_req_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+}mtc_ats_battery_req_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 request_area;
+}mtc_ats_backlight_req_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 request_cell;
+}mtc_ats_cell_req_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint16 packet_size;
+	kal_uint16 transfer_delay;
+}mtc_ats_transfer_setup_req_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 KeyHoldType; /* Press or Depress */
+	kal_uint8 KeyCode;		/* Virtual key Code */
+}mtc_key_event_req_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 KeyCode;		/* Virtual key Code */
+	kal_uint16 Delay;		/* delay measured in 1\10 of a second  */
+}mtc_fast_key_event_req_type;
+
+typedef __packed union
+{
+	mtc_info_req_type info;
+	mtc_capture_req_type capture;
+	mtc_ats_capture_req_type ats_capture;
+	mtc_ats_key_report_en_req_type ats_key_report_en;
+	mtc_ats_key_log_mask_req_type ats_key_log_mask;
+	mtc_ats_memory_req_type ats_dump;
+	mtc_ats_battery_req_type ats_battery;
+	mtc_ats_backlight_req_type ats_backlight;
+	mtc_ats_cell_req_type ats_cell_info;
+	mtc_ats_transfer_setup_req_type ats_setup;
+	mtc_key_event_req_type keyevent;
+	mtc_fast_key_event_req_type fastkeyevent;
+}mtc_req_type;
+
+typedef  __packed union
+{
+	mtc_req_hdr_type hdr;
+	mtc_req_type mtc_req;
+}diag_mtc_req_type;
+
+/*==============================================================*/
+
+#define MTC_262K_CMASK_RED				0x0000FC00
+#define MTC_262K_CMASK_GREEN				0x000003F0
+#define MTC_262K_CMASK_BLUE				0xC000000F
+
+#define MTC_65K_CMASK_RED					0xF800
+#define MTC_65K_CMASK_GREEN				0x07E0
+#define MTC_65K_CMASK_BLUE				0x001F
+
+typedef enum
+{
+	MTC_BIT_UNDEF			=	0,
+	MTC_BIT_MONO			=	1,
+	MTC_BIT_4				=	2,
+	MTC_BIT_16				=	4,
+	MTC_BIT_256			=	8,
+	MTC_BIT_65K			=	16,
+	MTC_BIT_262K			=	18,
+	MTC_BIT_RGB24			=	24,
+	MTC_BIT_RGB_32		=	32,
+	MTC_BIT_PADDING		=	0x7F
+}mtc_bits_pixel_type;
+
+typedef unsigned long		mtc_pixel_18_type;	/* 4 kal_uint8 */
+typedef unsigned short		mtc_pixel_16_type;  /* 2 kal_uint8 */
+
+/*	
+	We have to make sure that MTC_SCRN_BUF_SIZE_MAX is set correctly in various project .
+	The only thing we can confirm is that bpp of MAIN_LCD_16BIT_MODE is displayed 2 bytes length,
+	the other cases MTC_SCRN_BUF_SIZE_MAX is set to maximum size
+	It may be revised in later projects	
+*/
+#if defined (MAIN_LCD_16BIT_MODE)
+	#define MTC_SCRN_BUF_SIZE_MAX	(LCD_WIDTH*LCD_HEIGHT*(sizeof(mtc_pixel_16_type)))
+#else
+	#define MTC_SCRN_BUF_SIZE_MAX	(LCD_WIDTH*LCD_HEIGHT*(sizeof(mtc_pixel_18_type)))
+#endif
+
+
+/*=========================================================*/
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef mtc_req_hdr_type mtc_rsp_hdr_type;
+
+typedef  __packed struct
+{
+	mtc_rsp_hdr_type	hdr;
+	mtc_scrn_id_type	scrn_id;
+	kal_uint16	scrn_width;					/* Screen Width in Pixels */
+	kal_uint16	scrn_height;					/* Screen Height in Pixcels */
+	mtc_bits_pixel_type	bits_pixel;		/* Color bits for each Pixel */ 
+}mtc_screen_info_rsp_type;
+
+typedef  __packed struct
+{
+	kal_uint32	blue;
+	kal_uint32	green;
+	kal_uint32	red;
+}mtc_mask_type;
+
+typedef  __packed struct
+{
+	mtc_rsp_hdr_type	hdr;
+	mtc_scrn_id_type	scrn_id;
+	kal_uint16	bmp_width;	                  /* Width of the BMP */
+	kal_uint16	bmp_height;	                  /* Height of the BMP */
+	mtc_bits_pixel_type	bits_pixel; /* Color bits for each pixel */
+	mtc_mask_type	mask;
+////	kal_uint8 bmp_data[MTC_SCRN_BUF_SIZE_MAX];
+//mtk01616_091217: we output data directly ,without keeping all bmp_data in a buffer first.
+}mtc_capture_rsp_type;
+
+typedef  __packed struct
+{
+	mtc_rsp_hdr_type hdr;
+	mtc_scrn_id_type scrn_id;
+	kal_uint16 bmp_width;	                  		/* Width of the BMP */
+	kal_uint16 bmp_height;	                  	/* Height of the BMP */
+	mtc_bits_pixel_type bits_pixel;  	/* must be zero */
+	kal_uint8 data_type;
+	kal_uint8 pack_type;
+	kal_uint8 quantizer;
+	kal_uint8 threshold;
+	kal_uint32 bmp_size;
+////	kal_uint8 bmp_data[ MTC_SCRN_BUF_SIZE_MAX ];
+//mtk01616_091217: we output data directly ,without keeping all bmp_data in a buffer first.
+}mtc_ats_capture_rsp_type;
+
+typedef __packed struct
+{
+	mtc_rsp_hdr_type hdr;
+	kal_uint8 keyState;
+	kal_uint8 keyCode;
+}mtc_ats_key_report_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 model_name[10]; 
+	kal_uint32 release_date;
+	kal_uint8 software_ver[40];
+	kal_uint8 IMEI[15];
+	kal_uint8 phone_num[15];
+	kal_uint16 enabled_functions;
+}mtc_ats_phone_report_rsp_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint16 phone_state;
+}mtc_ats_phone_state_rsp_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 request_area;
+	kal_uint8 value;
+}mtc_ats_key_report_en_rsp_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint32 log_mask;
+}mtc_ats_key_log_mask_rsp_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint32 *reserved;
+	kal_uint32 *address;
+	kal_uint8 size;
+	kal_uint8 data[64];
+}mtc_ats_memory_rsp_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 isCharging;
+	kal_uint8 capacity;
+}mtc_ats_battery_rsp_type;
+
+typedef  __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint8 value;
+}mtc_ats_backlight_rsp_type;
+
+typedef __packed struct
+{
+	mtc_req_hdr_type hdr;
+	kal_uint16 packet_size;
+	kal_uint16 transfer_delay;
+}mtc_ats_transfer_setup_rsp_type;
+
+ 
+/*==========================================================*/
+
+typedef __packed struct
+{
+	mtc_rsp_hdr_type hdr;
+	kal_uint8 KeyHoldType;     /* Press or Release */
+	kal_uint8 KeyCode;		/* Virtual key Code */
+}mtc_key_event_rsp_type;
+
+typedef mtc_key_event_rsp_type mtc_key_event_ind_type;
+
+typedef __packed struct
+{
+	mtc_rsp_hdr_type hdr;
+	kal_uint8 log_id;     /* Press or Release */
+	kal_uint16 log_len;		/* Virtual key Code */
+	kal_uint64 time;
+	kal_uint8 press;
+	kal_uint8 key_code;
+	kal_uint64 active_UIID;
+}mtc_ats_key_log_event_rsp_type;
+
+typedef mtc_ats_key_log_event_rsp_type mtc_ats_key_log_event_ind_type;
+
+typedef __packed struct
+{
+	mtc_rsp_hdr_type hdr;
+	kal_uint8 KeyCode;		/* Virtual key Code */
+	short Delay;		/* delay measured in 1\10 of a second  */
+}mtc_fast_key_event_resp;
+
+/*==========================================================*/
+
+typedef __packed union
+{
+	mtc_screen_info_rsp_type info;
+	mtc_capture_rsp_type capture;
+	mtc_ats_capture_rsp_type ats_capture;  
+	mtc_ats_memory_rsp_type ats_dump;
+	mtc_ats_battery_rsp_type ats_battery;
+	mtc_ats_backlight_rsp_type ats_backlight;
+	mtc_ats_transfer_setup_rsp_type ats_setup;
+	mtc_key_event_rsp_type keyevent;
+	mtc_ats_key_log_event_rsp_type ats_keylogevent;
+	mtc_fast_key_event_resp fastkeyevent;
+}mtc_rsp_type;
+
+typedef __packed union 
+{
+	mtc_rsp_hdr_type hdr;
+	mtc_rsp_type mtc_rsp;
+}diag_mtc_rsp_type;
+
+/*============================================================*/
+
+typedef struct 
+{
+	mtc_scrn_id_type id;		       /* lcd id: MAIN, SUB */
+	int width_max;				/* max width in current rotation mode */
+	int height_max;				/* max height in current rotation mode */
+	int degrees;				       /* LCD degrees of rotation: 0, 90, 180 */
+	mtc_bits_pixel_type bits_pixel;  /* Color Bit: 16, 18 */
+	mtc_mask_type mask;			/* Color mask: R, G, B */
+}mtc_lcd_info_type;
+
+typedef struct 
+{
+	int start_x;                   /* Start X-Coord for capture area */
+	int start_y;                   /* Start Y- Coord for capture area */
+	int width;                     /* Width of the capture area */
+	int height;                   /* Height of the capture area */
+}mtc_capture_type;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+/*=================================================*/
+
+#endif
+#endif /* __MTK_TARGET__ */
+
diff --git a/mcu/custom/protocol/common/atci/include/rmmi_custom_inc.h b/mcu/custom/protocol/common/atci/include/rmmi_custom_inc.h
new file mode 100644
index 0000000..017469d
--- /dev/null
+++ b/mcu/custom/protocol/common/atci/include/rmmi_custom_inc.h
@@ -0,0 +1,186 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *  RMMI_CUSTOM_INC.H
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * 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!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#if defined(__TC01__) /* at%ltecall */
+#include "l4c2rac_struct.h"
+#endif
+
+#if defined(__MTK_TARGET__)  
+#include "kal_general_types.h"
+#include "rmmi_context.h"
+
+
+/* l1audio driver function is only built on target load */
+extern kal_bool AcousticLoopbackStatus(void);
+extern void AcousticLoopbackOn(void);
+extern void AcousticLoopbackOff(void);
+extern void AcousticLoopbackLength (kal_uint32 u4Length);
+#else 
+/* Dummy functions for simulator */
+#define  AcousticLoopbackStatus(void) NULL
+#define  AcousticLoopbackOn(void) NULL
+#define  AcousticLoopbackOff(void) NULL
+#define  AcousticLoopbackLength(u4Length) NULL
+#endif
+
+#ifdef __TC01__
+//AT_FRST
+typedef enum{
+    RMMI_CUSTOM_FRST_NONE,
+	RMMI_CUSTOM_FRST_FROM_MTC,
+	RMMI_CUSTOM_FRST_FROM_FRST
+} rmmi_custom_frst_cmd_enum;
+extern kal_uint16 rmmi_fast_string_print_custom(kal_uint8 * buff_ptr, kal_uint8 * fmt, void * arg_list [ ], kal_uint8 nos_arg);
+/* AT%LTECALL */
+extern custom_factory_band_context_struct *cust_fac_ptr_global;
+extern rat_enum l4c_get_factory_rat_mode(void);
+/* AT%LTECALL */
+#endif
+
+extern void ws_key_event_notification(kal_uint8 key_code ,kal_uint8 key_type,kal_uint32 time_stamp);
+extern void ws_output_screen_capture_info(kal_uint8* screen_capture_buf,kal_uint32 length);
+
+extern void rmmi_mtc_hdlr(rmmi_string_struct *source_string_ptr);
+extern void rmmi_bt_test_mode_req(kal_uint8 mode,kal_uint8* bd_addr);
+extern void rmmi_ecall_result_rrsp(kal_uint8 src_id,kal_bool result); //mtk01616_100317
+extern void rmmi_bttm_result_rrsp(kal_uint8 src_id,kal_bool result);
+
+#define rmmi_output_screen_capture_info ws_output_screen_capture_info
+
+extern kal_uint8 * get_LCD_buffer(kal_uint8 screen_id);
+
diff --git a/mcu/custom/protocol/common/atci/include/rmmi_msgbased_at.h b/mcu/custom/protocol/common/atci/include/rmmi_msgbased_at.h
new file mode 100644
index 0000000..d4b0864
--- /dev/null
+++ b/mcu/custom/protocol/common/atci/include/rmmi_msgbased_at.h
@@ -0,0 +1,105 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ * RMMI_MSGBASED_AT.C
+ *
+ * Project:
+ * --------
+ *   
+ *
+ * Description:
+ * ------------
+ *   This file is intended to handle the message based AT APIs
+ *
+ * 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!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *****************************************************************************/
+
+#ifndef _RMMI_MSGBASED_AT_C_
+#define _RMMI_MSGBASED_AT_C_
+#if defined(__MESSAGE_BASED_AT_SUPPORT__)
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "kal_public_defs.h" //MSBB change #include "stack_msgs.h"
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#include "sysconf_statistics.h"
+
+
+//mtk02514_zte
+
+
+extern kal_uint8 rmmi_msgbased_cid_2_srcid(kal_uint8 cid);
+extern kal_uint8 rmmi_msgbased_srcid_2_cid(kal_uint8 src_id);
+extern kal_uint8 rmmi_msgbased_cid_2_port(kal_uint8 cid);
+extern kal_uint8 rmmi_msgbased_port_2_cid(kal_uint8 port);
+
+extern kal_bool rmmi_msgbased_is_valid_src(kal_uint8 src_id);
+
+extern void rmmi_msgbased_write_urc(kal_uint8 *buffer, kal_uint16 length, kal_bool stuff);
+extern void rmmi_msgbased_write_response(kal_uint8 *buffer, kal_uint16 length, kal_bool stuff, kal_uint8 src_id);
+
+
+#endif /* __MESSAGE_BASED_AT_SUPPORT__ */
+#endif /*_RMMI_MSGBASED_AT_C_*/
+