[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/service/config/syscomp_config.h b/mcu/interface/service/config/syscomp_config.h
new file mode 100644
index 0000000..a766c0c
--- /dev/null
+++ b/mcu/interface/service/config/syscomp_config.h
@@ -0,0 +1,340 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *   syscomp_config.h
+ *
+ * Project:
+ * --------
+ *   Maui_Software
+ *
+ * Description:
+ * ------------
+ *   The file contains declarations of system component module configuration
+ *   variables, and routines.
+ *
+ * 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!
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef _SYSCOMP_CONFIG_H
+#define _SYSCOMP_CONFIG_H
+
+/*************************************************************************
+ * Include Header Files
+ *************************************************************************/
+
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+
+#include "stack_config.h"
+#include "stack_types.h"
+
+#include "hisr_config.h"
+
+#define TASK_NO_CREATE_PATTERN 0xF0F0F0F0
+// For FPU enable, we need extra 144 byte stack size for storing FPU context
+#ifdef __ARM_FPUV2__
+#define VFP_CONTEXT_SAVE_SPACE 144
+#else
+#define VFP_CONTEXT_SAVE_SPACE 0
+#endif
+/*On demand page will run some functions on task's stack*/
+#if defined(__ESL_COSIM_LTE__)
+#define VSPRINTF_STACK_SPACE 0x1000
+#define TASK_STACK_COMMON_PLUS (VFP_CONTEXT_SAVE_SPACE + VSPRINTF_STACK_SPACE)
+#define HISR_STACK_COMMON_PLUS (VFP_CONTEXT_SAVE_SPACE + VSPRINTF_STACK_SPACE)
+#else /* __ESL_COSIM_LTE__ */
+#define TASK_STACK_COMMON_PLUS (VFP_CONTEXT_SAVE_SPACE)
+#define HISR_STACK_COMMON_PLUS (VFP_CONTEXT_SAVE_SPACE)
+#endif /* __ESL_COSIM_LTE__ */
+
+/*************************************************************************
+* STRUCT
+*  syscomp_info_struct
+*
+* DESCRIPTION
+*  The structure defines component task configuration information
+*
+* FIELDS
+*  comp_entry_func   -  component task's entry function
+*  comp_cfg_func  -  component task's configurantion handler
+*  comp_init_func -  component task's initialization handler
+*  comp_reset_func   -  component task's reset handler
+*  comp_end_func  -  component task's termination handler
+*  comp_modmain_func -  component task's module main handler
+*
+* GLOBALS AFFECTED
+*
+*************************************************************************/
+typedef struct {
+    kal_task_func_ptr   comp_entry_func;
+    task_init_func_ptr  comp_init_func;
+    task_reset_func_ptr comp_reset_func;
+} comptask_handler_struct;
+
+typedef kal_bool (*kal_create_func_ptr)(comptask_handler_struct **);
+
+/*************************************************************************
+* STRUCT
+*  comptask_info_struct
+*
+* DESCRIPTION
+*  The structure defines component task configuration information
+*
+* FIELDS
+*  comp_name_ptr  -  pointer to component task name
+*  comp_qname_ptr -  pointer to component task's external queue name
+*  comp_priority  -  component task's priority
+*  comp_stack_size   -  component task's stack size
+*  comp_ext_qsize -  component task's external queue size
+*  comp_int_qsize -  component task's internal queue size
+*  comp_create_func- component entity's create function
+*
+* GLOBALS AFFECTED
+*
+*************************************************************************/
+typedef struct {
+    kal_char *          comp_name_ptr;
+    kal_char *          comp_qname_ptr;
+    kal_uint32          comp_priority;
+    kal_uint32          comp_stack_size;
+    kal_create_func_ptr comp_create_func;
+    kal_bool            comp_internal_ram_stack;
+    kal_uint8           comp_ext_qsize;
+    kal_uint8           comp_int_qsize;
+    kal_uint8           comp_boot_mode;
+    kal_affinity_group  comp_affinity_attribute;
+    kal_bool            comp_affinity_dynamic;
+    kal_task_group_id   comp_affinity_group_id;
+} comptask_info_struct;
+
+
+typedef struct {
+    kal_hisr           index;
+    kal_uint8          priority;
+    kal_uint8          options;
+    kal_uint8          qsize;
+    kal_uint32         stack_size;
+    kal_hisr_func_ptr  entry_func;
+    kal_char *         hisr_name;
+    kal_affinity_group affinity_attribute;
+    kal_bool           affinity_dynamic;
+} hisr_parameter_s;
+
+typedef struct {
+    kal_char *          mof_name;
+} mof_info_struct;
+typedef enum {
+    INT_GROUP_0,
+    INT_GROUP_1,
+    INT_GROUP_2,
+    INT_GROUP_3,
+    INT_GROUP_4,
+    INT_GROUP_5,
+    INT_GROUP_6,
+    INT_GROUP_7,
+    INT_GROUP_8,
+    INT_GROUP_9,
+    INT_GROUP_10,
+    INT_GROUP_11,
+    INT_GROUP_12,
+    INT_GROUP_13,
+    INT_GROUP_14,
+    INT_GROUP_15,
+#if defined(__MD97__)
+    INT_GROUP_16,
+    INT_GROUP_17,
+    INT_GROUP_18,
+    INT_GROUP_19,
+    INT_GROUP_20,
+    INT_GROUP_21,
+    INT_GROUP_22,
+    INT_GROUP_23,
+    INT_GROUP_24,
+    INT_GROUP_25,
+    INT_GROUP_26,
+    INT_GROUP_27,
+    INT_GROUP_28,
+    INT_GROUP_29,
+    INT_GROUP_30,
+    INT_GROUP_31,
+#endif
+} irq_int_group_e;
+
+typedef enum {
+    DYNAMIC_TYPE,
+    BROADCAST_TYPE,
+} irq_type_e;
+
+typedef struct {
+    kal_uint32           irq_id;
+    irq_int_group_e      irq_group;
+    irq_type_e           irq_type;
+    irq_isr_hdlr_ptr     irq_hdlr;
+    irq_init_func_ptr    irq_init_func;
+    kal_bool             irq_sensitivity;
+	kal_bool             irq_unmask;
+    kal_uint8            isr_q_size;
+	kal_uint32           isr_mod_id;
+    kal_char *           description;
+} isr_config_s;
+
+
+typedef struct {
+    kal_uint32 irq_id;
+	kal_uint8  wq_size;
+    void *     wq_name;
+} isr_mtwq_s;
+
+
+typedef struct {
+    kal_uint32              task_index;
+    kal_task_clean_hdlr_ptr clean_hdlr;
+    kal_bool                option;
+    kal_bool                executed;
+} task_clean_s;
+
+
+/*************************************************************************
+* STRUCT
+*  comp_range_s
+*
+* DESCRIPTION
+*  The structure defines component task/MSG/SAP index max number and tail information
+*
+* FIELDS
+*  comp_max  -  max number of task/MSG/SAP
+*  comp_tail    -   tail of task/MSG/SAP
+*
+*************************************************************************/
+typedef struct {
+    kal_uint32 comp_max;
+    kal_uint32 comp_tail;
+} comp_range_s;
+
+
+#endif /* _SYSCOMP_CONFIG_H */