[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/l4_c2k/etsapi.h b/mcu/interface/protocol/l4_c2k/etsapi.h
new file mode 100644
index 0000000..91992b6
--- /dev/null
+++ b/mcu/interface/protocol/l4_c2k/etsapi.h
@@ -0,0 +1,217 @@
+/*****************************************************************************
+* 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) 2016
+*
+* 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).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1998-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/*****************************************************************************
+
+ FILE NAME: etsapi.h
+
+ DESCRIPTION:
+
+ This file contains all the constants, mail message definition and
+ function prototypes exported by the ets unit.
+
+*****************************************************************************/
+
+#ifndef ETSAPI_H
+#define ETSAPI_H
+
+#include "monapi.h"
+#include "sysdefs.h"
+#include "sysapi.h"
+
+/*------------------------------------------------------------------------
+ * Constants
+ *------------------------------------------------------------------------*/
+
+ /* msg size constants */
+#define ETS_MSG_ID_LEN 2
+#define ETS_CHECKSUM_LEN 1
+#define ETS_MAX_MSG_BUFF_LEN EXE_MAX_ETS_MSG_SIZE
+#define ETS_MAX_MSG_LEN (ETS_MAX_MSG_BUFF_LEN + ETS_MSG_ID_LEN)
+#define ETS_MAX_PACKET_LEN (ETS_MAX_MSG_LEN + ETS_CHECKSUM_LEN)
+
+ /* msg framing chars */
+#define ETS_SER_ESC_CHAR 0xFD
+#define ETS_SER_SYNC_CHAR 0xFE
+#define ETS_SER_MOD_CHAR 0xFF
+
+/* USB and SS_LTE_DO DPRAM interface use same ETS msg format definitions */
+#define ETS_USB_SYNC 0x98BADCFE /* SYNCH field, reversed to fit a kal_uint32 format */
+#define ETS_USB_SYNC_SZ sizeof(kal_uint32) /* size of SYNCH field */
+#define ETS_USB_PAD 0xFE /* to pad ETS msgs to 4 bytes */
+
+typedef PACKED_PREFIX struct {
+ kal_uint32 Synch; /* synch signature */
+ kal_uint16 MsgLen; /* msg size, including msg id */
+ kal_uint16 MsgId; /* ETS message id */
+} PACKED_POSTFIX EtsMsgHeaderT;
+
+
+ /* ETS display size for MMI */
+#define ETS_MAX_DISPLAY_COLS 16
+#define ETS_MAX_DISPLAY_ROWS 2
+
+/*------------------------------------------------------------------------
+ * Mailbox, signal amd message IDs exported byETS
+ *-----------------------------------------------------------------------*/
+
+
+
+
+/*------------------------------------------------------------------------
+ * Mailbox, signal amd message IDs exported by ETS task
+ *-----------------------------------------------------------------------*/
+
+#define ETS_MAILBOX_ETS EXE_MAILBOX_1_ID /* ETS (MonFault/trace/spy/mailbox */
+#define ETS_MAILBOX_ETS_EVENT EXE_MESSAGE_MBOX_1
+
+#define ETS_MAILBOX_CMD EXE_MAILBOX_2_ID /* Command mailbox */
+#define ETS_MAILBOX_CMD_EVENT EXE_MESSAGE_MBOX_2
+
+#define ETS_QUEUE_FULL_SIGNAL EXE_SIGNAL_1 /* used by EXE */
+#define ETS_USB_RX_MSG_SIGNAL EXE_SIGNAL_2 /* data received */
+#define ETS_USB_TX_MSG_SIGNAL EXE_SIGNAL_3 /* data sent */
+#define ETS_UART_RX_ETS_MSG_SIGNAL EXE_SIGNAL_4
+#define ETS_STARTUP_SIGNAL EXE_SIGNAL_5
+#ifdef MTK_DEV_LOG_SPLM
+#define ETS_RX_SPLM_MSG_SIGNAL EXE_SIGNAL_6
+#endif
+
+/* TBD: Change to ETS_R/TX_MSG_SIGNAL */
+#define ETS_RX_ETS_MSG_SIGNAL ETS_USB_RX_MSG_SIGNAL
+#define ETS_TX_ETS_MSG_SIGNAL ETS_USB_TX_MSG_SIGNAL
+
+ /* grouping of USB data signals */
+#define ETS_USB_ALL_SIGNAL (ETS_USB_RX_MSG_SIGNAL | ETS_USB_TX_MSG_SIGNAL)
+
+/*------------------------------------------------------------------------
+ * Message IDs for _ETS mailbox
+ *-----------------------------------------------------------------------*/
+
+ /* enum for ETS message IDs is in iopets.h */
+
+ /* IOP_CP_DISPLAY_ETS */
+typedef enum
+{
+ ETS_ROW_1 = 0,
+ ETS_ROW_2 = 1
+} EtsRowIdT;
+
+typedef PACKED_PREFIX struct
+{
+ kal_uint8 Row;
+ kal_uint8 Column;
+ kal_uint8 Text[ETS_MAX_DISPLAY_COLS + 1];
+} PACKED_POSTFIX EtsDispTextMsgT;
+
+/* IOP_DSPM_PEEK_ETS */
+/* IOP_DSPV_PEEK_ETS */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 StartAddr;
+ kal_uint16 NumWords;
+ kal_uint16 Data[1];
+} PACKED_POSTFIX EtsDspPeekRspMsgT;
+
+/* IOP_GENERIC_ACK_ETS */
+typedef PACKED_PREFIX struct
+{
+ kal_uint16 MsgId;
+} PACKED_POSTFIX EtsGenericAckT;
+
+/* IOP_ENABLE_GENERIC_ACK_MSG */
+typedef PACKED_PREFIX struct
+{
+ ExeRspMsgT RspInfo;
+ kal_uint16 Enable;
+} PACKED_POSTFIX EtsEnableGenericAckMsgT;
+
+/* ETS_DEFERRED_HALT_MSG */
+typedef PACKED_PREFIX struct
+{
+ MonFaultUnitT UnitNum;
+ kal_uint32 FaultCode1;
+ kal_uint32 FaultCode2;
+} PACKED_POSTFIX EtsDeferredHaltMsgT;
+
+/*------------------------------------------------------------------------
+ * Message IDs for _CMD mailbox
+ *-----------------------------------------------------------------------*/
+
+typedef enum
+{
+ ETS_ENABLE_GENERIC_ACK_MSG,
+ ETS_SET_CHANNEL_DEVICE_MSG,
+ ETS_DEFERRED_HALT_MSG,
+#ifdef SYS_OPTION_DUAL_CARDS
+ UIM_ETS_SET_ACCESS_SLOT_MSG,
+#endif
+#ifdef MTK_DEV_LOG_FILTER_NVRAM
+ ETS_NVRAM_LOG_FILTER_UPDATE_ACK_MSG,
+ ETS_LOG_FILTER_UPDATE_MSG,
+#endif
+ ETS_CMD_MSG_NUM
+} EtsMsgIdT;
+
+/*------------------------------------------------------------------------
+ * Exported ETS functions
+ *-----------------------------------------------------------------------*/
+
+extern void EtsTxCriticalFault(MonFaultUnitT UnitNum, kal_uint32 FaultCode1, kal_uint32 FaultCode2);
+
+extern void EtsTxCriticalMsg( kal_uint32 MsgId, void *MsgDataP, kal_uint32 MsgDataSize );
+
+extern void EtsTxFaultFileInfo(char *FilenameBuffer);
+
+#if (defined(MTK_DEV_BUG_FIX_SS) && defined(BOARD_CBP80_FLASH)) || defined(MTK_PLT_MODEM_ONLY)
+extern void EtsUartTxCriticalMsg( kal_uint32 MsgId, void* MsgDataP, kal_uint32 MsgDataSize ) ;
+#endif
+
+#ifdef MTK_DEV_OPTIMIZE_LOGGING
+extern void MonLogOptUartTxEts (void);
+#endif
+
+#endif /* ETSAPI_H */
+
+
+