[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/middleware/meta/ft_msg_util.h b/mcu/interface/middleware/meta/ft_msg_util.h
new file mode 100644
index 0000000..ba9ca78
--- /dev/null
+++ b/mcu/interface/middleware/meta/ft_msg_util.h
@@ -0,0 +1,250 @@
+/*****************************************************************************
+* 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).
+*
+*****************************************************************************/
+/*******************************************************************************
+* Modification Notice:
+* --------------------------
+* This software is modified by MediaTek Inc. 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:
+ * ---------
+ * ft_msg_util.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * Messages definition of UTIL category of FT Library
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+#ifndef __FT_MSG_UTIL_H__
+#define __FT_MSG_UTIL_H__
+#include "ft_msg_common.h"
+
+/*******************************************************************************
+*
+* Message structures defined for utility command
+*
+*******************************************************************************/
+
+typedef enum {
+FT_UTILCMD_CHECK_IF_FUNC_EXIST = 0
+ ,FT_UTILCMD_CHECK_IF_ISP_SUPPORT
+ ,FT_UTILCMD_QUERY_BT_MODULE_ID
+ ,FT_UTILCMD_ENABLE_WATCHDOG_TIMER
+ ,FT_UTILCMD_CHECK_IF_ACOUSTIC16_SUPPORT
+ ,FT_UTILCMD_CHECK_IF_AUDIOPARAM45_SUPPORT
+ ,FT_UTILCMD_CHECK_IF_LOW_COST_SINGLE_BANK_FLASH
+ ,FT_UTILCMD_QUERY_PMIC_ID
+ ,FT_UTILCMD_BT_POWER_ON
+ ,FT_UTILCMD_LED_LIGHT_LEVEL
+ ,FT_UTILCMD_VIBRATOR_ONOFF
+ ,FT_UTILCMD_QUERY_LOCAL_TIME
+ ,FT_UTILCMD_CHECK_IF_WIFI_ALC_SUPPORT
+ ,FT_UTILCMD_RF_ITC_PCL
+ ,FT_UTILCMD_CHECK_IF_DRC_SUPPORT
+ ,FT_UTILCMD_CHECK_IF_BT_POWERON
+ ,FT_UTILCMD_MAIN_SUB_LCD_LIGHT_LEVEL
+ ,FT_UTILCMD_CHECK_IF_ULC_FAT_SUPPORT
+ ,FT_UTILCMD_CHECK_IF_SMART_PHONE_MODEM_SUPPORT
+ ,FT_UTILCMD_CHECK_TARGET_META_REQUIRED_VERS
+ ,FT_UTILCMD_SET_TARGET_CHECK_PARAS
+ //-------------- check if target need to perform NVRAM read/write security check
+ ,FT_UTILCMD_CHECK_IF_TARGET_NV_SEC_ON
+ ,FT_UTILCMD_REBOOT_TO_NORMAL_MODE // reboot target to normal mode
+ ,FT_UTILCMD_QUERY_BT_WIFI_SINGLE_ANTENNA_CAP
+ ,FT_UTILCMD_SET_ANTENNA_PATH_TO_BT
+ ,FT_UTILCMD_SET_ANTENNA_PATH_TO_WIFI
+ ,FT_UTILCMD_QUERY_TARGET_OPTION_INFO
+ ,FT_UTILCMD_QUERY_LIMITED_STATE
+ ,FT_UTILCMD_QUERY_VPA_VOLTAGE_LIST
+ ,FT_UTILCMD_QUERY_DRIVE_AVAILABLE_FOR_FILE_SIZE
+ ,FT_UTILCMD_QUERY_MAX_CTRL_BUFFER_SIZE
+ ,FT_UTILCMD_QUERY_ADC_MODULE_SUPPORT
+ ,FT_UTILCMD_QUERY_RTC_MODULE_SUPPORT
+ ,FT_UTILCMD_QUERY_META_MODE_TRACE
+ ,FT_UTILCMD_ENABLE_META_MODE_TRACE
+ ,FT_UTILCMD_QUERY_MODEM_MODE
+ ,FT_UTILCMD_END
+} FtUtilCmdType;
+
+typedef struct {
+ kal_uint32 query_ft_msg_id;
+ kal_uint32 query_op_code;
+} FtUtilCheckIfFuncExist;
+
+typedef struct {
+ kal_uint8 led_light_level;
+} FtLEDLevel;
+
+typedef struct {
+ kal_uint8 lcd_type;
+ kal_uint8 lcd_light_level;
+} FtLCDLevel;
+
+typedef struct {
+ kal_uint8 onoff;
+} FtVibratorOnOff;
+
+typedef struct {
+ kal_uint16 interval;
+} FtWatchDog;
+
+
+typedef enum
+{
+ META_VERSION_USER_DEFINE
+ ,META_VERSION_META_DLL_UTIL_VER
+ ,META_VERSION_TYPE_END
+}META_VERSION_TYPE;
+
+typedef struct
+{
+ META_VERSION_TYPE m_eVerType;
+ kal_bool b_AssertWhenVerCheckFail;
+ kal_uint32 m_u4MainVersion;
+ kal_uint32 m_u4MinorVersion;
+ kal_uint32 m_u4BuildNum;
+}META_UTIL_CHECK_TARGET_VER_REQ_T;
+
+
+typedef struct
+{
+ kal_bool m_bCheckPass;
+ kal_uint32 m_u4TargetMainVersion;
+ kal_uint32 m_u4TargetMinorVersion;
+ kal_uint32 m_u4TargetBuildNum;
+}META_UTIL_CHECK_TARGET_VER_CNF_T; // store in peer buffer for backward compaibility
+
+typedef struct
+{
+ kal_bool b_TargetAssertCheckFlag;
+ kal_bool b_SetCurRecvMsgTimes;
+ kal_uint8 m_u1CurRecvMsgTimes;
+}META_UTIL_SET_ASSERT_CHECK_PARAs_REQ_T;
+
+
+typedef union {
+ FtUtilCheckIfFuncExist CheckIfFuncExist;
+ FtWatchDog WatchDog;
+ FtLEDLevel LEDLevel;
+ FtLCDLevel LCDLevel;
+ FtVibratorOnOff VibrOnOff;
+ META_UTIL_CHECK_TARGET_VER_REQ_T m_rCheckMetaVerReq;
+ META_UTIL_SET_ASSERT_CHECK_PARAs_REQ_T m_rSetPwrOffParasReq;
+ kal_uint32 dummy; // extend alignment to 4 bytes
+ kal_uint32 requestedFileSize;
+ kal_uint8 trace_mode;
+} FtUtilCmdReq_U;
+
+typedef struct
+{
+ kal_uint8 rtc_sec; /* seconds after the minute - [0,59] */
+ kal_uint8 rtc_min; /* minutes after the hour - [0,59] */
+ kal_uint8 rtc_hour; /* hours after the midnight - [0,23] */
+ kal_uint8 rtc_day; /* day of the month - [1,31] */
+ kal_uint8 rtc_mon; /* months - [1,12] */
+ kal_uint8 rtc_wday; /* days in a week - [1,7] */
+ kal_uint8 rtc_year; /* years - [0,127] */
+} FtRtc;
+
+#define META_LIPTON_OPTION_ON 0x00000001
+#define META_TC01_OPTION_ON 0x00000002
+#define META_AST_TD_OPTION_ON 0x00000004
+typedef union {
+ FtUtilCheckIfFuncExist CheckIfFuncExist;
+ kal_uint8 bt_module_id;
+ kal_uint8 pmic_id;
+ FtRtc rtc;
+ kal_uint32 rf_pcl;
+ kal_bool m_bNVSecOn;
+ kal_bool m_bBTWiFiSingleAntenna;
+ kal_uint32 m_u4TargetOptionInfo;
+ kal_uint32 dummy;// extend alignment to 4 bytes
+ kal_uint32 m_u4LimitedStateIndicator;
+ kal_int16 driveLetter;
+ kal_uint32 maxControlBufferSize;
+ kal_uint8 module_support;
+ kal_uint8 trace_mode;
+ kal_uint8 modem_mode;
+} FtUtilCmdCnf_U;
+
+typedef struct
+{
+ /// number of elements in the list
+ kal_uint32 validNumber;
+ /// voltage list (unit: micro volt 10^-6)
+ kal_uint32 voltageList[255];
+ /// register value of each voltageList
+ kal_uint32 registerValue[255];
+}FtUtilCmdCnfVpaVoltageList;
+
+typedef struct {
+ FT_HDR
+ FtUtilCmdType type;
+ FtUtilCmdReq_U cmd;
+} FT_UTILITY_COMMAND_REQ;
+
+typedef struct {
+ FT_HDR
+ FtUtilCmdType type;
+ FtUtilCmdCnf_U result;
+ kal_uint32 status;
+} FT_UTILITY_COMMAND_CNF;
+
+#endif // #ifndef __FT_MSG_UTIL_H__