[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/driver/md_drv/md2g_drv.h b/mcu/interface/driver/md_drv/md2g_drv.h
new file mode 100644
index 0000000..64ac8c8
--- /dev/null
+++ b/mcu/interface/driver/md_drv/md2g_drv.h
@@ -0,0 +1,487 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *   l1_interface.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ *   Interface for system service.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ *
+ *
+ *******************************************************************************/
+
+#ifndef  _L1_INTERFACE_H_
+#define  _L1_INTERFACE_H_
+/* ------------------------------------------------------------------------- */
+
+#include "kal_general_types.h"
+
+/* ------------------------------------------------------------------------- */
+/* --- Simulation Compile Option-------------------------------------------- */
+/* ------------------------------------------------------------------------- */
+#if defined (__UE_SIMULATOR__)
+#define MD_DRV_SIMULATION_SUPPORT   1
+#define MD_DRV_HARDWARE_SIMULATION  1
+#else
+   #if !defined(ESIM_BUILD_CONFIG) || (ESIM_BUILD_CONFIG == ESIM_MULTI_MODE_ON_FIBERS) || (ESIM_BUILD_CONFIG == ESIM_SINGLE_MODE_ON_FIBERS)
+      #if !defined(__MTK_TARGET__) && !defined(__UL1_ON_MNT__) && !defined(GEN_FOR_PC) && defined(L1_SIM)
+#define MD_DRV_SIMULATION_SUPPORT   1
+#define MD_DRV_HARDWARE_SIMULATION  1
+      #else
+#define MD_DRV_SIMULATION_SUPPORT   0
+#define MD_DRV_HARDWARE_SIMULATION  0
+      #endif /* __MTK_TARGET__ */
+   #endif /* __ESIM_BUILD_CONFIG__ */
+#endif /* __UE_SIMULATOR__ */
+
+/* ------------------------------------------------------------------------- */
+/* --- hardware access ----------------------------------------------------- */
+/* ------------------------------------------------------------------------- */
+#if defined(HW_WRITE)
+#undef HW_WRITE
+#endif
+#if defined(HW_READ)
+#undef HW_READ
+#endif
+
+#if defined(L1_SIM) || defined(__UE_SIMULATOR__)
+   #if MD_DRV_HARDWARE_SIMULATION == 1
+void RegSimSimulateWrite( int adr, int data, int size, const char* file, int line );
+       #if defined(__UE_SIMULATOR__) 
+int  RegSimSimulateRead(int adr, int size, const char* cur_file, int line);
+#define HW_READ(ptr)       RegSimSimulateRead( (int)(ptr), sizeof(*(ptr)), __FILE__, __LINE__)
+       #else
+int  RegSimSimulateRead(int adr, int size, const char* cur_file, int line, int cosim_flag);
+#ifndef HW_READ
+#define HW_READ(ptr)       RegSimSimulateRead( (int)(ptr), sizeof(*(ptr)), __FILE__, __LINE__, 0 )
+       #endif
+#endif
+#define HW_WRITE(ptr,data) RegSimSimulateWrite( (int)(ptr), (data), sizeof(*(ptr)), __FILE__, __LINE__ )
+   #else
+#define  HW_WRITE(ptr,data)         (*(ptr) = (data))
+#define  HW_READ(ptr)               (*(ptr))
+   #endif
+#else /* defined(L1_SIM) || defined(__UE_SIMULATOR__) */
+#define  HW_WRITE(ptr,data)         (*(ptr) = (data))
+#define  HW_READ(ptr)               (*(ptr))
+#endif /* defined(L1_SIM) || defined(__UE_SIMULATOR__) */
+
+/* ------------------------------------------------------------------------- */
+/* --- Processor Simulation Time ------------------------------------------- */
+/* ------------------------------------------------------------------------- */
+#if !defined(__GET_CATCHER_DB__)
+   #if MD_DRV_SIMULATION_SUPPORT
+      #ifdef INTEGER_SIM_TIME
+   void  ProcSimConsumeProcessorTime2(kal_uint64 tts);
+#define  LET_SIM_TIME_RUN_A_BIT()    ProcSimConsumeProcessorTime2(10000000000000)// 13 MHz : Raymond, changed from 768000000000 to 10000000000000 (1us)
+#define  LET_SIM_TIME_RUN_N_QBIT(n)  ProcSimConsumeProcessorTime2(9216000000000*n)
+      #else // INTEGER_SIM_TIME
+   void  ProcSimConsumeProcessorTime(double seconds);
+#define  LET_SIM_TIME_RUN_A_BIT()    ProcSimConsumeProcessorTime(0.077e-6)     // 13 MHz
+#define  LET_SIM_TIME_RUN_N_QBIT(n)  ProcSimConsumeProcessorTime2((0.077e-6)*12*n)
+      #endif // INTEGER_SIM_TIME
+   #else /* SIMULATION_SUPPORT */
+#define  LET_SIM_TIME_RUN_A_BIT()
+#define  LET_SIM_TIME_RUN_N_QBIT(n)
+   #endif /* SIMULATION_SUPPORT */
+#endif /* __GET_CATCHER_DB__ */
+/* ------------------------------------------------------------------------- */
+
+//DECLARE_SHARED_VAR( kal_uint16, GL1D_L1_ASSERT_BYPASS )
+extern kal_uint16   GL1D_L1_ASSERT_BYPASS;
+
+extern void          L1D_HW_TDMA_AUX_TIME_SETUP( kal_uint16 event0, kal_uint16 event1 );
+extern kal_uint16    L1D_TDMA_GET_TQCNT( void );
+extern kal_uint16    L1D_HW_TDMA_GET_TQWRAP( void );
+extern unsigned char L1D_Get_RX_Status( void );
+extern unsigned char L1D_Get_BandCapability( void );
+
+/*************************************************************************
+ * API provided for other modules
+ *************************************************************************/
+#if (defined L1_NOT_PRESENT)
+#define  L1_CHECK_ASSERT_BYPASS()           (0)
+#define  L1D_GET_GGE_RX_STATUS()            (0)
+#else
+#define  L1_CHECK_ASSERT_BYPASS()           (GL1D_L1_ASSERT_BYPASS & 0x3)
+#define  L1D_GET_GGE_RX_STATUS()            L1D_Get_RX_Status()
+#endif
+
+void  HW_TDMA_Start(void);         /* power on TDMA module               */
+void  HW_TDMA_Enable_CTIRQ1(void); /* enable TDMA module CTIRQ1          */
+
+#define  HW_tdma_auxev_time_setup(event0,event1)  L1D_HW_TDMA_AUX_TIME_SETUP(event0, event1)
+
+#define  HW_TDMA_GET_TQCNT()        L1D_TDMA_GET_TQCNT()
+#define  HW_TDMA_GET_TQWRAP()       L1D_HW_TDMA_GET_TQWRAP()
+
+/* APIs for audio */
+extern kal_uint16 L1D_Get_Win_TQ_WRAP( void );
+extern kal_int8   L1D_GetT2( void );
+extern void       L1D_ENABLE_DTIRQ( void );
+extern void       L1D_CCCDReset( void );
+extern kal_bool   L1D_Get_Speech_Re_Sync_Flag( void );
+/* ------------------------------------------------------------------------- */
+
+extern void MD_DRV_L1D_Exit( void );
+/* ------------------------------------------------------------------------- */
+
+#if MD_DRV_IS_CHIP_MT6583_MD1 || MD_DRV_IS_CHIP_MT6583_MD2 || MD_DRV_IS_CHIP_MT6572 || MD_DRV_IS_CHIP_MT6290 || MD_DRV_IS_CHIP_MT6595 || MD_DRV_IS_CHIP_MT6752_MD1 || MD_DRV_IS_CHIP_TK6291 || MD_DRV_IS_CHIP_MT6755 || MD_DRV_IS_CHIP_MT6292 || MD_DRV_IS_CHIP_MT6293 || MD_DRV_IS_CHIP_MT6295 || MD_DRV_IS_CHIP_MT6297
+   #if IS_DUAL_TALK_SUPPORT
+#define L1D_WAKEUP_MARGIN                   (1300)
+   #else
+#define L1D_WAKEUP_MARGIN                   (1050)
+   #endif
+#define L1C_WAKEUP_MARGIN                   (660)
+#elif MD_DRV_IS_CHIP_MT6752_MD2
+#define L1D_WAKEUP_MARGIN                   (660)
+#define L1C_WAKEUP_MARGIN                   (1050)
+#endif
+/* ------------------------------------------------------------------------- */
+#if defined(ESIM_BUILD_CONFIG) && (ESIM_BUILD_CONFIG == ESIM_MULTI_MODE_ON_FIBERS)
+#define L1D_WAKEUP_MARGIN                   (1050)
+#define L1C_WAKEUP_MARGIN                   (660)
+#endif
+/* ------------------------------------------------------------------------- */
+
+/*************************************************************************
+ * API provided for GPS to query current Freq. offset
+ *************************************************************************/
+kal_int32 L1D_GPS_Query_Frequency_Offset(void);
+
+#endif
+