blob: 732f18e1530edd674f44e7e23775252d382a42f4 [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_common.h
49 *
50 * Project:
51 * --------
52 * MAUI
53 *
54 * Description:
55 * ------------
56 * Common definition for META commnuication
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 * removed!
71 * removed!
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 *
81 * removed!
82 * removed!
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 *
91 * removed!
92 * removed!
93 * removed!
94 *
95 * removed!
96 * removed!
97 * removed!
98 *
99 * removed!
100 * removed!
101 * removed!
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 * removed!
108 *
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 * removed!
129 * removed!
130 * removed!
131 * removed!
132 *
133 * removed!
134 * removed!
135 * removed!
136 *
137 * removed!
138 * removed!
139 * removed!
140 *
141 * removed!
142 * removed!
143 * removed!
144 *
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 * removed!
152 *
153 * removed!
154 * removed!
155 * removed!
156 *
157 *------------------------------------------------------------------------------
158 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
159 *==============================================================================
160 *******************************************************************************/
161
162#ifndef _FT_MSG_COMMON_H_
163#define _FT_MSG_COMMON_H_
164#include "kal_public_api.h"
165typedef enum
166{
167 /* RF */
168 FT_RF_TEST_REQ_ID = 0 ,/*0*/
169 FT_RF_TEST_CNF_ID ,
170 /* BaseBand */
171 FT_REG_READ_ID ,
172 FT_REG_READ_CNF_ID ,
173 FT_REG_WRITE_ID ,
174 FT_REG_WRITE_CNF_ID ,/*5*/
175 FT_ADC_GETMEADATA_ID ,
176 FT_ADC_GETMEADATA_CNF_ID ,
177 /* test alive */
178 FT_IS_ALIVE_REQ_ID ,
179 FT_IS_ALIVE_CNF_ID ,
180 /* power off */
181 FT_POWER_OFF_REQ_ID ,/*10*/
182 /* unused */
183 FT_RESERVED04_ID ,
184 /* required META_DLL version */
185 FT_CHECK_META_VER_REQ_ID ,
186 FT_CHECK_META_VER_CNF_ID ,
187 /* utility command */
188 FT_UTILITY_COMMAND_REQ_ID ,
189 FT_UTILITY_COMMAND_CNF_ID ,/*15*/
190 /* for NVRAM */
191 FT_NVRAM_GET_DISK_INFO_REQ_ID ,
192 FT_NVRAM_GET_DISK_INFO_CNF_ID ,
193 FT_NVRAM_RESET_REQ_ID ,
194 FT_NVRAM_RESET_CNF_ID ,
195 FT_NVRAM_LOCK_CNF_ID ,/*20*/
196 FT_NVRAM_LOCK_REQ_ID ,
197 FT_NVRAM_READ_REQ_ID ,
198 FT_NVRAM_READ_CNF_ID ,
199 FT_NVRAM_WRITE_REQ_ID ,
200 FT_NVRAM_WRITE_CNF_ID ,/*25*/
201 /* FAT */
202 FT_FAT_OPERATION_ID = 26 ,/* 26 ~ 40 */
203 /* L4 Audio */
204 FT_L4AUD_REQ_ID = 41 ,/* 41 ~ 50 */
205 FT_L4AUD_CNF_ID ,
206 /* Version Info */
207 FT_VER_INFO_REQ_ID = 51 ,/* 51 */
208 FT_VER_INFO_CNF_ID ,
209 /* CCT */
210 FT_CCT_REQ_ID = 53 ,/* 53 */
211 FT_CCT_CNF_ID ,
212 /* WiFi */
213 FT_WIFI_WNDRV_SET_REQ_ID = 55 ,/* 55 */
214 FT_WIFI_WNDRV_SET_CNF_ID ,
215 FT_WIFI_WNDRV_QUERY_REQ_ID = 57 ,/* 57 */
216 FT_WIFI_WNDRV_QUERY_CNF_ID ,
217 FT_WIFI_REQ_ID = 59 ,/* 59 */
218 FT_WIFI_CNF_ID ,
219 FT_BT_REQ_ID = 61 ,
220 FT_BT_CNF_ID ,
221 FT_PMIC_REG_READ_ID = 63 ,
222 FT_PMIC_REG_READ_CNF_ID ,
223 FT_PMIC_REG_WRITE_ID = 65 ,
224 FT_PMIC_REG_WRITE_CNF_ID ,
225 FT_URF_TEST_REQ_ID = 67 , /* 67 */
226 FT_URF_TEST_CNF_ID ,
227 FT_FM_REQ_ID = 69 , /* 69 */
228 FT_FM_CNF_ID = 70 ,
229 FT_TDMB_REQ_ID = 71 , /* 71 */
230 FT_TDMB_CNF_ID = 72 , /* 72 */
231 FT_MISC_CMD_REQ_ID = 73 ,
232 FT_MISC_CMD_CNF_ID = 74 ,
233 FT_CMMB_REQ_ID = 75 ,
234 FT_CMMB_CNF_ID = 76 ,
235 FT_CUSTOM_REQ_ID = 77 ,
236 FT_CUSTOM_CNF_ID = 78 ,
237 FT_MISC_EX_CMD_REQ_ID = 79 ,
238 FT_MISC_EX_CMD_CNF_ID = 80 ,
239 FT_AUX_REQ_ID = 81 ,
240 FT_AUX_CNF_ID = 82 ,
241 FT_MATV_CMD_REQ_ID = 83 ,
242 FT_MATV_CMD_CNF_ID = 84 ,
243 /* L4 Audio EX after all audio developed in w10.10 */
244 FT_L4AUD_REQ_EX_ID = 85 ,
245 FT_L4AUD_CNF_EX_ID = 86 ,
246 /* NFC test command category */
247 FT_NFC_CMD_REQ_ID = 87,
248 FT_NFC_CMD_CNF_ID = 88,
249 /* LTE command */
250 FT_ERF_TEST_REQ_ID = 91,
251 FT_ERF_TEST_CNF_ID = 92,
252 FT_PHY_TOOL_REQ_ID = 93,
253 FT_PHY_TOOL_CNF_ID = 94,
254 /* MMRF command */
255 FT_MMRF_TEST_REQ_ID = 95,
256 FT_MMRF_TEST_CNF_ID = 96,
257 /* C2K command */
258 FT_CRF_TEST_REQ_ID = 97,
259 FT_CRF_TEST_CNF_ID = 98,
260 /* This is a special message defined to handle L1 report. */
261 /* L4_AT_command */
262 FT_L4_ATCMD_REQ_ID = 99,
263 FT_L4_ATCMD_CNF_ID = 100,
264 /* NR command */
265 FT_NRF_TEST_REQ_ID = 101,
266 FT_NRF_TEST_CNF_ID = 102,
267 /* SLA command*/
268 FT_GET_SLA_STATUS_REQ_ID = 103,
269 FT_GET_SLA_STATUS_CNF_ID = 104,
270 FT_GET_SLA_PARA_REQ_ID = 105,
271 FT_GET_SLA_PARA_CNF_ID = 106,
272 FT_VERIFY_SLA_RND_REQ_ID = 107,
273 FT_VERIFY_SLA_RND_CNF_ID = 108,
274 FT_CHECK_SLA_VER_REQ_ID = 109,
275 FT_CHECK_SLA_VER_CNF_ID = 110,
276 FT_CMD_DENIED_REQ_ID = 111,
277 FT_CMD_DENIED_CNF_ID = 112,
278 FT_DISPATCH_REPORT_ID ,
279 FT_MSG_LAST_ID = FT_DISPATCH_REPORT_ID
280}FT_MESSAGE_ID;
281
282/* Header of every structure */
283#define FT_HDR \
284 LOCAL_PARA_HDR \
285 struct { \
286 kal_uint16 token;\
287 kal_uint16 ft_msg_id;\
288 } header;
289
290typedef struct
291{
292 LOCAL_PARA_HDR
293 kal_uint16 token;
294 kal_uint16 ft_msg_id;
295} FT_H;
296
297/* struct definition for FT request & confirm */
298typedef FT_H tst_to_ft_struct;
299typedef FT_H ft_to_tst_struct;
300
301#define FT_CNF_OK 0
302#define FT_CNF_FAIL 1
303#define FT_CNF_NOT_SUPPORTED 2
304#define FT_CNF_NOT_ALLOWED 3
305#define FT_CNF_RETRY 4
306/*******************************************************************************
307*
308* Utility Functions
309*
310*******************************************************************************/
311void _FT_ALLOC_MSG(ilm_struct* ptr_ilm, kal_uint16 size, kal_bool IsFtMsg, kal_bool IsCcMsg);
312void _FT_CONSTRUCT_CC_MSG(const ilm_struct* ilm_ptr, ilm_struct* ilm_cc_ptr);
313void _FT_SendFtMsgByToken(module_type src_mod, module_type dest_mod, sap_type sap, msg_type msg, ilm_struct *ilm_ptr, kal_uint16 token);
314void _FT_SendFtMsgToPcByToken(ilm_struct *ilm_ptr, kal_uint16 token);
315kal_uint16 FT_GetGolbalToken(void);
316void FT_SendDeniedMsgIdCnf(kal_uint16 deniedMsgId, kal_uint32 status);
317/* allocate message with local parameter with FT_H header */
318#define FT_ALLOC_MSG(ptr_ilm,size) _FT_ALLOC_MSG(ptr_ilm, size, KAL_TRUE, KAL_FALSE)
319/* allocate message as ordinary ILM message */
320#define FT_ALLOC_OTHER_MSG(ptr_ilm,size) _FT_ALLOC_MSG(ptr_ilm, size, KAL_FALSE, KAL_FALSE)
321/* allocate Cross-Core message with local parameter with FT_H header */
322#define FT_ALLOC_CC_MSG(ptr_ilm,size) _FT_ALLOC_MSG(ptr_ilm, size, KAL_TRUE , KAL_TRUE)
323/* allocate Cross-Core message as ordinary ILM message */
324#define FT_ALLOC_OTHER_CC_MSG(ptr_ilm,size) _FT_ALLOC_MSG(ptr_ilm, size, KAL_FALSE, KAL_TRUE)
325#define FT_CONSTRUCT_CC_MSG(ilm_ptr, ilm_cc_ptr) _FT_CONSTRUCT_CC_MSG(ilm_ptr, ilm_cc_ptr)
326#define FT_SEND_MSG(src_mod, dest_mod, sap, msg, ilm_ptr) _FT_SendFtMsgByToken(src_mod, dest_mod, sap, msg, ilm_ptr, FT_GetGolbalToken())
327#define FT_SEND_MSG_TO_PC(ilm_ptr) _FT_SendFtMsgToPcByToken(ilm_ptr, FT_GetGolbalToken())
328#define FT_SEND_MSG_TO_PC_BY_TOKEN(ilm_ptr, token) _FT_SendFtMsgToPcByToken(ilm_ptr, token)
329#endif // _FT_MSG_COMMON_H_