blob: ba9ca787f7917e7f2a769f41ada46c360cf8699e [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*******************************************************************************
36* Modification Notice:
37* --------------------------
38* This software is modified by MediaTek Inc. and the information contained
39* herein is confidential. The software may not be copied and the information
40* contained herein may not be used or disclosed except with the written
41* permission of MediaTek Inc. (C) 2001
42*
43*******************************************************************************/
44
45/*******************************************************************************
46 * Filename:
47 * ---------
48 * ft_msg_util.h
49 *
50 * Project:
51 * --------
52 * MAUI
53 *
54 * Description:
55 * ------------
56 * Messages definition of UTIL category of FT Library
57 *
58 * Author:
59 * -------
60 * -------
61 *
62 *==============================================================================
63 * HISTORY
64 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
65 *------------------------------------------------------------------------------
66 * removed!
67 * removed!
68 * removed!
69 *
70 *------------------------------------------------------------------------------
71 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
72 *==============================================================================
73 *******************************************************************************/
74
75#ifndef __FT_MSG_UTIL_H__
76#define __FT_MSG_UTIL_H__
77#include "ft_msg_common.h"
78
79/*******************************************************************************
80*
81* Message structures defined for utility command
82*
83*******************************************************************************/
84
85typedef enum {
86FT_UTILCMD_CHECK_IF_FUNC_EXIST = 0
87 ,FT_UTILCMD_CHECK_IF_ISP_SUPPORT
88 ,FT_UTILCMD_QUERY_BT_MODULE_ID
89 ,FT_UTILCMD_ENABLE_WATCHDOG_TIMER
90 ,FT_UTILCMD_CHECK_IF_ACOUSTIC16_SUPPORT
91 ,FT_UTILCMD_CHECK_IF_AUDIOPARAM45_SUPPORT
92 ,FT_UTILCMD_CHECK_IF_LOW_COST_SINGLE_BANK_FLASH
93 ,FT_UTILCMD_QUERY_PMIC_ID
94 ,FT_UTILCMD_BT_POWER_ON
95 ,FT_UTILCMD_LED_LIGHT_LEVEL
96 ,FT_UTILCMD_VIBRATOR_ONOFF
97 ,FT_UTILCMD_QUERY_LOCAL_TIME
98 ,FT_UTILCMD_CHECK_IF_WIFI_ALC_SUPPORT
99 ,FT_UTILCMD_RF_ITC_PCL
100 ,FT_UTILCMD_CHECK_IF_DRC_SUPPORT
101 ,FT_UTILCMD_CHECK_IF_BT_POWERON
102 ,FT_UTILCMD_MAIN_SUB_LCD_LIGHT_LEVEL
103 ,FT_UTILCMD_CHECK_IF_ULC_FAT_SUPPORT
104 ,FT_UTILCMD_CHECK_IF_SMART_PHONE_MODEM_SUPPORT
105 ,FT_UTILCMD_CHECK_TARGET_META_REQUIRED_VERS
106 ,FT_UTILCMD_SET_TARGET_CHECK_PARAS
107 //-------------- check if target need to perform NVRAM read/write security check
108 ,FT_UTILCMD_CHECK_IF_TARGET_NV_SEC_ON
109 ,FT_UTILCMD_REBOOT_TO_NORMAL_MODE // reboot target to normal mode
110 ,FT_UTILCMD_QUERY_BT_WIFI_SINGLE_ANTENNA_CAP
111 ,FT_UTILCMD_SET_ANTENNA_PATH_TO_BT
112 ,FT_UTILCMD_SET_ANTENNA_PATH_TO_WIFI
113 ,FT_UTILCMD_QUERY_TARGET_OPTION_INFO
114 ,FT_UTILCMD_QUERY_LIMITED_STATE
115 ,FT_UTILCMD_QUERY_VPA_VOLTAGE_LIST
116 ,FT_UTILCMD_QUERY_DRIVE_AVAILABLE_FOR_FILE_SIZE
117 ,FT_UTILCMD_QUERY_MAX_CTRL_BUFFER_SIZE
118 ,FT_UTILCMD_QUERY_ADC_MODULE_SUPPORT
119 ,FT_UTILCMD_QUERY_RTC_MODULE_SUPPORT
120 ,FT_UTILCMD_QUERY_META_MODE_TRACE
121 ,FT_UTILCMD_ENABLE_META_MODE_TRACE
122 ,FT_UTILCMD_QUERY_MODEM_MODE
123 ,FT_UTILCMD_END
124} FtUtilCmdType;
125
126typedef struct {
127 kal_uint32 query_ft_msg_id;
128 kal_uint32 query_op_code;
129} FtUtilCheckIfFuncExist;
130
131typedef struct {
132 kal_uint8 led_light_level;
133} FtLEDLevel;
134
135typedef struct {
136 kal_uint8 lcd_type;
137 kal_uint8 lcd_light_level;
138} FtLCDLevel;
139
140typedef struct {
141 kal_uint8 onoff;
142} FtVibratorOnOff;
143
144typedef struct {
145 kal_uint16 interval;
146} FtWatchDog;
147
148
149typedef enum
150{
151 META_VERSION_USER_DEFINE
152 ,META_VERSION_META_DLL_UTIL_VER
153 ,META_VERSION_TYPE_END
154}META_VERSION_TYPE;
155
156typedef struct
157{
158 META_VERSION_TYPE m_eVerType;
159 kal_bool b_AssertWhenVerCheckFail;
160 kal_uint32 m_u4MainVersion;
161 kal_uint32 m_u4MinorVersion;
162 kal_uint32 m_u4BuildNum;
163}META_UTIL_CHECK_TARGET_VER_REQ_T;
164
165
166typedef struct
167{
168 kal_bool m_bCheckPass;
169 kal_uint32 m_u4TargetMainVersion;
170 kal_uint32 m_u4TargetMinorVersion;
171 kal_uint32 m_u4TargetBuildNum;
172}META_UTIL_CHECK_TARGET_VER_CNF_T; // store in peer buffer for backward compaibility
173
174typedef struct
175{
176 kal_bool b_TargetAssertCheckFlag;
177 kal_bool b_SetCurRecvMsgTimes;
178 kal_uint8 m_u1CurRecvMsgTimes;
179}META_UTIL_SET_ASSERT_CHECK_PARAs_REQ_T;
180
181
182typedef union {
183 FtUtilCheckIfFuncExist CheckIfFuncExist;
184 FtWatchDog WatchDog;
185 FtLEDLevel LEDLevel;
186 FtLCDLevel LCDLevel;
187 FtVibratorOnOff VibrOnOff;
188 META_UTIL_CHECK_TARGET_VER_REQ_T m_rCheckMetaVerReq;
189 META_UTIL_SET_ASSERT_CHECK_PARAs_REQ_T m_rSetPwrOffParasReq;
190 kal_uint32 dummy; // extend alignment to 4 bytes
191 kal_uint32 requestedFileSize;
192 kal_uint8 trace_mode;
193} FtUtilCmdReq_U;
194
195typedef struct
196{
197 kal_uint8 rtc_sec; /* seconds after the minute - [0,59] */
198 kal_uint8 rtc_min; /* minutes after the hour - [0,59] */
199 kal_uint8 rtc_hour; /* hours after the midnight - [0,23] */
200 kal_uint8 rtc_day; /* day of the month - [1,31] */
201 kal_uint8 rtc_mon; /* months - [1,12] */
202 kal_uint8 rtc_wday; /* days in a week - [1,7] */
203 kal_uint8 rtc_year; /* years - [0,127] */
204} FtRtc;
205
206#define META_LIPTON_OPTION_ON 0x00000001
207#define META_TC01_OPTION_ON 0x00000002
208#define META_AST_TD_OPTION_ON 0x00000004
209typedef union {
210 FtUtilCheckIfFuncExist CheckIfFuncExist;
211 kal_uint8 bt_module_id;
212 kal_uint8 pmic_id;
213 FtRtc rtc;
214 kal_uint32 rf_pcl;
215 kal_bool m_bNVSecOn;
216 kal_bool m_bBTWiFiSingleAntenna;
217 kal_uint32 m_u4TargetOptionInfo;
218 kal_uint32 dummy;// extend alignment to 4 bytes
219 kal_uint32 m_u4LimitedStateIndicator;
220 kal_int16 driveLetter;
221 kal_uint32 maxControlBufferSize;
222 kal_uint8 module_support;
223 kal_uint8 trace_mode;
224 kal_uint8 modem_mode;
225} FtUtilCmdCnf_U;
226
227typedef struct
228{
229 /// number of elements in the list
230 kal_uint32 validNumber;
231 /// voltage list (unit: micro volt 10^-6)
232 kal_uint32 voltageList[255];
233 /// register value of each voltageList
234 kal_uint32 registerValue[255];
235}FtUtilCmdCnfVpaVoltageList;
236
237typedef struct {
238 FT_HDR
239 FtUtilCmdType type;
240 FtUtilCmdReq_U cmd;
241} FT_UTILITY_COMMAND_REQ;
242
243typedef struct {
244 FT_HDR
245 FtUtilCmdType type;
246 FtUtilCmdCnf_U result;
247 kal_uint32 status;
248} FT_UTILITY_COMMAND_CNF;
249
250#endif // #ifndef __FT_MSG_UTIL_H__