blob: 2d3c8bda5f0a38c293a2da17cd5fa3c6c5eedf05 [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/*******************************************************************************
37 *
38 * Filename:
39 * ---------
40 * l1_option.h
41 *
42 * Project:
43 * --------
44 * MT6280
45 *
46 * Description:
47 * ------------
48 * The global compile option definition of L1
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *==============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 * removed!
68 *
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 *
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 *
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 *
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 *
114 * removed!
115 * removed!
116 * removed!
117 *
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 * removed!
131 *
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 * removed!
139 *
140 * removed!
141 * removed!
142 * removed!
143 *
144 * removed!
145 * removed!
146 *
147 * removed!
148 * removed!
149 * removed!
150 *
151 * removed!
152 * removed!
153 *
154 * removed!
155 * removed!
156 * removed!
157 *
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 *
165 * removed!
166 * removed!
167 * removed!
168 *
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 *
181 * removed!
182 * removed!
183 * removed!
184 *
185 * removed!
186 * removed!
187 * removed!
188 *
189 * removed!
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 * removed!
200 *
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 *
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 *
224 * removed!
225 * removed!
226 * removed!
227 *
228 * removed!
229 * removed!
230 * removed!
231 *
232 * removed!
233 * removed!
234 * removed!
235 *
236 * removed!
237 * removed!
238 * removed!
239 *
240 * removed!
241 * removed!
242 * removed!
243 * removed!
244 *
245 * removed!
246 * removed!
247 * removed!
248 * removed!
249 *
250 * removed!
251 * removed!
252 * removed!
253 * removed!
254 *
255 * removed!
256 * removed!
257 *
258 * removed!
259 * removed!
260 * removed!
261 *
262 * removed!
263 * removed!
264 *
265 * removed!
266 * removed!
267 * removed!
268 * removed!
269 *
270 * removed!
271 * removed!
272 * removed!
273 *
274 * removed!
275 * removed!
276 * removed!
277 *
278 * removed!
279 * removed!
280 * removed!
281 *
282 * removed!
283 * removed!
284 * removed!
285 *
286 * removed!
287 * removed!
288 * removed!
289 *
290 * removed!
291 * removed!
292 * removed!
293 *
294 * removed!
295 * removed!
296 * removed!
297 *
298 * removed!
299 * removed!
300 * removed!
301 *
302 * removed!
303 * removed!
304 * removed!
305 *
306 * removed!
307 * removed!
308 * removed!
309 *
310 * removed!
311 * removed!
312 * removed!
313 *
314 * removed!
315 * removed!
316 * removed!
317 *
318 * removed!
319 * removed!
320 * removed!
321 *
322 * removed!
323 * removed!
324 *
325 * removed!
326 * removed!
327 * removed!
328 *
329 * removed!
330 * removed!
331 * removed!
332 *
333 * removed!
334 * removed!
335 * removed!
336 *
337 * removed!
338 * removed!
339 * removed!
340 *
341 * removed!
342 * removed!
343 * removed!
344 *
345 * removed!
346 * removed!
347 * removed!
348 *
349 * removed!
350 * removed!
351 * removed!
352 *
353 * removed!
354 * removed!
355 * removed!
356 *
357 * removed!
358 * removed!
359 * removed!
360 *
361 * removed!
362 * removed!
363 *
364 * removed!
365 * removed!
366 * removed!
367 *
368 * removed!
369 * removed!
370 * removed!
371 *
372 * removed!
373 * removed!
374 * removed!
375 *
376 * removed!
377 * removed!
378 * removed!
379 *
380 * removed!
381 * removed!
382 * removed!
383 *
384 * removed!
385 * removed!
386 * removed!
387 *
388 * removed!
389 * removed!
390 * removed!
391 *
392 * removed!
393 * removed!
394 * removed!
395 *
396 * removed!
397 * removed!
398 * removed!
399 *
400 * removed!
401 * removed!
402 * removed!
403 *
404 * removed!
405 * removed!
406 * removed!
407 *
408 * removed!
409 * removed!
410 * removed!
411 *
412 * removed!
413 * removed!
414 * removed!
415 *
416 * removed!
417 * removed!
418 * removed!
419 *
420 * removed!
421 * removed!
422 * removed!
423 *
424 * removed!
425 * removed!
426 * removed!
427 *
428 * removed!
429 * removed!
430 * removed!
431 *
432 * removed!
433 * removed!
434 *
435 * removed!
436 * removed!
437 * removed!
438 *
439 * removed!
440 * removed!
441 * removed!
442 *
443 * removed!
444 * removed!
445 * removed!
446 *
447 * removed!
448 * removed!
449 * removed!
450 *
451 * removed!
452 * removed!
453 * removed!
454 * removed!
455 * removed!
456 * removed!
457 * removed!
458 * removed!
459 *******************************************************************************/
460
461#ifndef __L1_OPTION_H__
462#define __L1_OPTION_H__
463
464/***************************************************************************************************************************
465 * Chip ID & compile option definition for other modules *
466 ***************************************************************************************************************************/
467
468#if L1D_WT_COBIN_ARCHITECTURE_SUPPORT && L1D_WT_COBIN_UT_BEBUG && !L1D_WT_COBIN_UT_W_ONLY_BUILD && !L1D_WT_CBBIN_UT_T_ONLY_BUILD
469 #if !defined(__UMTS_FDD_MODE__)
470#define __UMTS_FDD_MODE__ 1
471 #endif
472 #if !defined(__MTK_UL1_FDD__)
473#define __MTK_UL1_FDD__ 1
474 #endif
475 #if !defined(__AST_TL1_TDD__)
476#define __AST_TL1_TDD__ 1
477 #endif
478 #if !defined(__UMTS_TDD128_MODE__)
479#define __UMTS_TDD128_MODE__ 1
480 #endif
481#endif
482
483/* Chip ID */
484#if defined(L1_SIM) || defined(ESIM_BUILD_CONFIG) || defined(__UE_SIMULATOR__)/* L1_SIM, ESIM-MOLY and UESIM-MOLY */
485 #ifdef L1D_TEST
486#define MD_DRV_IS_CHIP_MT6293 ((defined MT6293) || (defined MT6763) || (defined MT6739) || (defined MT6771) || (defined MT6765))
487#define MD_DRV_IS_CHIP_MT6763 (defined MT6763)
488#define MD_DRV_IS_CHIP_MT6739 (defined MT6739)
489#define MD_DRV_IS_CHIP_MT6771 (defined MT6771)
490#define MD_DRV_IS_CHIP_MT6765 (defined MT6765)
491#define MD_DRV_IS_CHIP_MT6295 ((defined MT6295M) || (defined MT3967) || (defined MT6779))
492#define MD_DRV_IS_CHIP_MT3967 (defined MT3967)
493#define MD_DRV_IS_CHIP_MT6779 (defined MT6779)
494#define MD_DRV_IS_CHIP_MT6297 ((defined MT6297) || (defined MT6885) || (defined MERCURY) || (defined MT6873) || (defined MT6853) || (defined MT6833) || (defined MT6880) || (defined MT6890) || (defined MT2735) || (defined MT6893) || (defined MT6877) || (defined MT6855))
495#define MD_DRV_IS_CHIP_MT6885 ((defined MT6885) || (defined MERCURY) || (defined MT6873) || (defined MT6853) || (defined MT6833) || (defined MT6880) || (defined MT6890) || (defined MT2735) || (defined MT6893) || (defined MT6877) || (defined MT6855))
496#define MD_DRV_IS_CHIP_MERCURY (defined MERCURY)
497#define MD_DRV_IS_CHIP_MT6873 (defined MT6873)
498#define MD_DRV_IS_CHIP_MT6853 (defined MT6853)
499#define MD_DRV_IS_CHIP_MT6833 (defined MT6833)
500#define MD_DRV_IS_CHIP_MT6880 (defined MT6880)
501#define MD_DRV_IS_CHIP_MT6890 (defined MT6890)
502#define MD_DRV_IS_CHIP_MT2735 (defined MT2735)
503#define MD_DRV_IS_CHIP_MT6893 (defined MT6893)
504#define MD_DRV_IS_CHIP_MT6877 (defined MT6877)
505#define MD_DRV_IS_CHIP_MT6855 (defined MT6855)
506#define MD_DRV_IS_CHIP_MT6292 (defined ELBRUS) || (defined MT6799)
507#define MD_DRV_IS_CHIP_MT6755 (defined MT6755)
508#define MD_DRV_IS_CHIP_TK6291 (defined TK6291) || (defined MT6291)
509 #else
510#define MD_DRV_IS_CHIP_TK6291 (defined TK6291) || (defined MT6291)
511#define MD_DRV_IS_CHIP_MT6755 (defined MT6755)
512#define MD_DRV_IS_CHIP_MT6292 ((defined ELBRUS) || (defined MT6799))
513#define MD_DRV_IS_CHIP_MT6293 ((defined MT6293) || (defined MT6763) || (defined MT6739) || (defined MT6771) || (defined MT6765))
514#define MD_DRV_IS_CHIP_MT6763 (defined MT6763)
515#define MD_DRV_IS_CHIP_MT6739 (defined MT6739)
516#define MD_DRV_IS_CHIP_MT6771 (defined MT6771)
517#define MD_DRV_IS_CHIP_MT6765 (defined MT6765)
518#define MD_DRV_IS_CHIP_MT6295 ((defined MT6295M) || (defined MT3967) || (defined MT6779))
519#define MD_DRV_IS_CHIP_MT3967 (defined MT3967)
520#define MD_DRV_IS_CHIP_MT6779 (defined MT6779)
521#define MD_DRV_IS_CHIP_MT6297 ((defined MT6297) || (defined MT6885) || (defined MERCURY) || (defined MT6873) || (defined MT6853) || (defined MT6833) || (defined MT6880) || (defined MT6890) || (defined MT2735) || (defined MT6893) || (defined MT6877) || (defined MT6855))
522#define MD_DRV_IS_CHIP_MT6885 ((defined MT6885) || (defined MERCURY) || (defined MT6873) || (defined MT6853) || (defined MT6833) || (defined MT6880) || (defined MT6890) || (defined MT2735) || (defined MT6893) || (defined MT6877) || (defined MT6855))
523#define MD_DRV_IS_CHIP_MERCURY (defined MERCURY)
524#define MD_DRV_IS_CHIP_MT6873 (defined MT6873)
525#define MD_DRV_IS_CHIP_MT6853 (defined MT6853)
526#define MD_DRV_IS_CHIP_MT6833 (defined MT6833)
527#define MD_DRV_IS_CHIP_MT6880 (defined MT6880)
528#define MD_DRV_IS_CHIP_MT6890 (defined MT6890)
529#define MD_DRV_IS_CHIP_MT2735 (defined MT2735)
530#define MD_DRV_IS_CHIP_MT6893 (defined MT6893)
531#define MD_DRV_IS_CHIP_MT6877 (defined MT6877)
532#define MD_DRV_IS_CHIP_MT6855 (defined MT6855)
533 #endif
534#else
535#define MD_DRV_IS_CHIP_MT6276 (defined MT6276)
536#define MD_DRV_IS_CHIP_MT6573 (defined MT6573)
537#define MD_DRV_IS_CHIP_MT6575 ((defined MT6575) || (defined MT6577))
538#define MD_DRV_IS_CHIP_MT6250 (defined MT6250)
539#define MD_DRV_IS_CHIP_MT6280 (defined MT6280)
540#define MD_DRV_IS_CHIP_MT6583_MD1 ((((defined MT6583)||(defined MT6589)) && (defined __MD1__)))
541#define MD_DRV_IS_CHIP_MT6583_MD2 ((((defined MT6583)||(defined MT6589)) && (defined __MD2__)))
542#define MD_DRV_IS_CHIP_MT6572 ((defined MT6572) || (defined MT6582))
543#define MD_DRV_IS_CHIP_MT6582 (defined MT6582)
544#define MD_DRV_IS_CHIP_MT6290 (defined MT6290)
545#define MD_DRV_IS_CHIP_MT6595 ((defined MT6595))
546#define MD_DRV_IS_CHIP_MT6752_MD1 ((defined MT6752) && (defined __MD1__))
547#define MD_DRV_IS_CHIP_MT6752_MD2 ((defined MT6752) && (defined __MD2__))
548#define MD_DRV_IS_CHIP_TK6291 (defined TK6291)
549#define MD_DRV_IS_CHIP_MT6755 (defined MT6755)
550#define MD_DRV_IS_CHIP_MT6292 ((defined ELBRUS) || (defined MT6799))
551#define MD_DRV_IS_CHIP_MT6799 (defined MT6799)
552#define MD_DRV_IS_CHIP_MT6293 ((defined MT6293) || (defined MT6763) || (defined MT6739) || (defined MT6771) || (defined MT6765))
553#define MD_DRV_IS_CHIP_MT6763 (defined MT6763)
554#define MD_DRV_IS_CHIP_MT6739 (defined MT6739)
555#define MD_DRV_IS_CHIP_MT6771 (defined MT6771)
556#define MD_DRV_IS_CHIP_MT6765 (defined MT6765)
557#define MD_DRV_IS_CHIP_MT6295 ((defined MT6295M) || (defined MT3967) || (defined MT6779))
558#define MD_DRV_IS_CHIP_MT3967 (defined MT3967)
559#define MD_DRV_IS_CHIP_MT6779 (defined MT6779)
560#define MD_DRV_IS_CHIP_MT6297 ((defined MT6297) || (defined MT6885) || (defined MERCURY) || (defined MT6873) || (defined MT6853) || (defined MT6833) || (defined MT6880) || (defined MT6890) || (defined MT2735) || (defined MT6893) || (defined MT6877) || (defined MT6855))
561#define MD_DRV_IS_CHIP_MT6885 ((defined MT6885) || (defined MERCURY) || (defined MT6873) || (defined MT6853) || (defined MT6833) || (defined MT6880) || (defined MT6890) || (defined MT2735) || (defined MT6893) || (defined MT6877) || (defined MT6855))
562#define MD_DRV_IS_CHIP_MERCURY (defined MERCURY)
563#define MD_DRV_IS_CHIP_MT6873 (defined MT6873)
564#define MD_DRV_IS_CHIP_MT6853 (defined MT6853)
565#define MD_DRV_IS_CHIP_MT6833 (defined MT6833)
566#define MD_DRV_IS_CHIP_MT6880 (defined MT6880)
567#define MD_DRV_IS_CHIP_MT6890 (defined MT6890)
568#define MD_DRV_IS_CHIP_MT2735 (defined MT2735)
569#define MD_DRV_IS_CHIP_MT6893 (defined MT6893)
570#define MD_DRV_IS_CHIP_MT6877 (defined MT6877)
571#define MD_DRV_IS_CHIP_MT6855 (defined MT6855)
572#endif
573
574// follow l1d_cid.h for build pass
575// Should be deleted when running MT6293
576#if ( defined(L1_SIM) || (defined(ESIM_BUILD_CONFIG) && (ESIM_BUILD_CONFIG == ESIM_MULTI_MODE_ON_FIBERS)) )&& ( MD_DRV_IS_CHIP_MT6293 || MD_DRV_IS_CHIP_MT6295 || MD_DRV_IS_CHIP_MT6297 )
577 #ifdef L1D_TEST
578 #if (defined __MD93__)
579#undef MD_DRV_IS_CHIP_MT6293
580#define MD_DRV_IS_CHIP_MT6293 (1)
581#undef MD_DRV_IS_CHIP_MT6292
582#define MD_DRV_IS_CHIP_MT6292 (0)
583 #endif
584 #else
585 #if (defined __MD93__)
586#undef MD_DRV_IS_CHIP_MT6293
587#define MD_DRV_IS_CHIP_MT6293 (0)
588#undef MD_DRV_IS_CHIP_MT6295
589#define MD_DRV_IS_CHIP_MT6295 (0)
590#undef MD_DRV_IS_CHIP_MT6297
591#define MD_DRV_IS_CHIP_MT6297 (0)
592#undef MD_DRV_IS_CHIP_MT6292
593#define MD_DRV_IS_CHIP_MT6292 (1)
594 #endif
595 #if (defined __MD95__)
596#undef MD_DRV_IS_CHIP_MT6293
597#define MD_DRV_IS_CHIP_MT6293 (0)
598#undef MD_DRV_IS_CHIP_MT6295
599#define MD_DRV_IS_CHIP_MT6295 (1)
600#undef MD_DRV_IS_CHIP_MT6297
601#define MD_DRV_IS_CHIP_MT6297 (0)
602#undef MD_DRV_IS_CHIP_MT6292
603#define MD_DRV_IS_CHIP_MT6292 (0)
604 #endif
605 #endif
606#endif
607
608#if MD_DRV_IS_CHIP_MT6293 || MD_DRV_IS_CHIP_MT6295 || MD_DRV_IS_CHIP_MT6297
609#define MD_DRV_IS_MD_DSP_DM_4BYTE_ALIGN_CHIP (1)
610#else
611#define MD_DRV_IS_MD_DSP_DM_4BYTE_ALIGN_CHIP (0)
612#endif
613
614/* Chip ID consistency check */
615#if MD_DRV_IS_CHIP_MT6276 || MD_DRV_IS_CHIP_MT6573 || MD_DRV_IS_CHIP_MT6575 || MD_DRV_IS_CHIP_MT6250 || MD_DRV_IS_CHIP_MT6280 || 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_MT6752_MD2 || 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
616#else
617#error "Please check the chip ID defined in l1d_cid.h"
618#endif
619
620/* RF ID */
621#define MD_DRV_IS_RF_MT6280RF (defined MT6280RF_2G_RF)
622#define MD_DRV_IS_RF_MT6169 (defined MT6169_2G_RF)
623#define MD_DRV_IS_RF_MT6166 (defined MT6166_2G_RF)
624#define MD_DRV_IS_RF_MT6165 (defined MT6165_2G_RF)
625#define MD_DRV_IS_RF_MT6176 (defined MT6176_2G_RF)
626#define MD_DRV_IS_RF_MT6179 (defined MT6179_2G_RF)
627#define MD_DRV_IS_RF_MT6177L (defined MT6177L_2G_RF)
628#define MD_DRV_IS_RF_MT6177M (defined MT6177M_2G_RF)
629#define MD_DRV_IS_RF_TRINITYE1 (defined TRINITYE1_2G_RF)
630#define MD_DRV_IS_RF_TRINITYL ((defined TRINITYL_2G_RF)||(defined MT6185M_2G_RF))
631#define MD_DRV_IS_RF_MT6186 (defined MT6186_2G_RF)
632#define MD_DRV_IS_RF_MT6186M (defined MT6186M_2G_RF)
633#define MD_DRV_IS_RF_MT6190T ((defined MT6190T_2G_RF)||(defined MT6190_2G_RF)||(defined MT6190M_2G_RF)||(defined MT6195_2G_RF))
634#define MD_DRV_IS_RF_MT6190 ((defined MT6190_2G_RF)||(defined MT6190M_2G_RF))
635#define MD_DRV_IS_RF_MT6190M (defined MT6190M_2G_RF)
636
637
638/* ======================================================================================================================= */
639
640// Definition of GSM/GPRS/EGPRS support
641#if (defined MODE_EGPRS) || (defined MTK_EGPRS_ENABLE) || (defined __EGPRS_MODE__)
642#define MD_DRV_IS_GSM 0
643#define MD_DRV_IS_GPRS 1
644#define MD_DRV_IS_EGPRS 1
645#elif ((defined MODE_GPRS) || (defined __PS_SERVICE__) || (defined MTK_GPRS_ENABLE) || (GPRS==1))
646#define MD_DRV_IS_GSM 0
647#define MD_DRV_IS_GPRS 1
648#define MD_DRV_IS_EGPRS 0
649#else
650#define MD_DRV_IS_GSM 1
651#define MD_DRV_IS_GPRS 0
652#define MD_DRV_IS_EGPRS 0
653#endif
654
655// EPSK TX Support
656#if (defined __EPSK_TX__)
657#define MD_DRV_IS_EPSK_TX_SUPPORT 1
658#else
659#define MD_DRV_IS_EPSK_TX_SUPPORT 0
660#endif
661
662// Centralized sleep mode
663#define MD_DRV_IS_CENTRALIZED_SMM_CHIP 1
664
665// TDD Dual Mode Feature Option
666#if ((defined __UMTS_TDD128_MODE__) && MD_DRV_IS_CHIP_MT6250)
667#define MD_DRV_IS_AST_B2S_SUPPORT 1
668#else
669#define MD_DRV_IS_AST_B2S_SUPPORT 0
670#endif
671
672// For feature of split binary: MAUI/FACTORY bin
673#if (defined __FACTORY_BIN__) || !(defined __SPLIT_BINARY__)
674#define MD_DRV_IS_FOR_FACTORY_MODE_ONLY 1
675#else
676#define MD_DRV_IS_FOR_FACTORY_MODE_ONLY 0
677#endif
678
679// Factory mode compile option: FHC & NSFT
680#if MD_DRV_IS_FOR_FACTORY_MODE_ONLY
681#define MD_DRV_IS_FHC_SUPPORT 1
682#define MD_DRV_IS_NSFT_SUPPORT 1
683#define MD_DRV_IS_SINGLE_END_BER_SUPPORT 1
684#define MD_DRV_IS_NSFT_SACCH_TEST_ITEM_SUPPORT 1
685#else
686#define MD_DRV_IS_FHC_SUPPORT 0
687#define MD_DRV_IS_NSFT_SUPPORT 0
688#define MD_DRV_IS_SINGLE_END_BER_SUPPORT 0
689#define MD_DRV_IS_NSFT_SACCH_TEST_ITEM_SUPPORT 0
690#endif
691
692#if MD_DRV_IS_NSFT_SUPPORT && MD_DRV_IS_EPSK_TX_SUPPORT
693#define MD_DRV_IS_NSFT_LIST_MODE_SUPPORT 1
694#else
695#define MD_DRV_IS_NSFT_LIST_MODE_SUPPORT 0
696#endif
697
698// Multi-slot TX Support in GSM only
699#if MD_DRV_IS_FHC_SUPPORT && MD_DRV_IS_GSM
700#define MD_DRV_IS_MULTISLOT_TX_SUPPORT 0
701#else
702#define MD_DRV_IS_MULTISLOT_TX_SUPPORT 0
703#endif
704
705// AFC 33-section Calibration
706#if defined MT6253T || defined MT6253L
707#define MD_DRV_IS_VCXO_LC_SUPPORT 1
708#else
709#define MD_DRV_IS_VCXO_LC_SUPPORT 0
710#endif
711
712// TX Power Compensation
713#if defined (__2G_TX_POWER_CONTROL_SUPPORT__)
714#define MD_DRV_IS_TX_POWER_CONTROL_SUPPORT 1
715 #if MD_DRV_IS_CHIP_MT6276 || MD_DRV_IS_CHIP_MT6573
716#define MD_DRV_IS_TXPC_CL_AUXADC_SUPPORT 1 // Closed-loop TX Power Compensation (Vdet from AUXADC)
717 #else
718#define MD_DRV_IS_TXPC_CL_AUXADC_SUPPORT 0
719 #endif
720#else
721#define MD_DRV_IS_TX_POWER_CONTROL_SUPPORT 0
722#define MD_DRV_IS_TXPC_CL_AUXADC_SUPPORT 0
723#endif
724
725// W cancellation
726#if (defined L1D_TEST) || (defined L1_SIM)
727#define MD_DRV_IS_W_CANCELLATION_SUPPORT 0
728#elif MD_DRV_IS_CHIP_MT6250 || MD_DRV_IS_CHIP_MT6280 || MD_DRV_IS_CHIP_MT6583_MD1 || 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_MT6752_MD2 || 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
729#define MD_DRV_IS_W_CANCELLATION_SUPPORT 1
730#else
731#define MD_DRV_IS_W_CANCELLATION_SUPPORT 0
732#endif
733
734// 2G RF Custom Tool
735#if defined(__2G_RF_CUSTOM_TOOL_SUPPORT__)
736#define MD_DRV_IS_RF_TOOL_CUSTOMIZATION_SUPPORT_V2 1
737#else
738#define MD_DRV_IS_RF_TOOL_CUSTOMIZATION_SUPPORT_V2 0
739#endif
740
741// UDVT Frequency Hopping
742#if ((defined __UDVT__) && (MD_DRV_IS_CHIP_MT6250 || MD_DRV_IS_CHIP_MT6280))
743#define MD_DRV_IS_UDVT_FH_SUPPORT 1
744#else
745#define MD_DRV_IS_UDVT_FH_SUPPORT 0
746#endif
747
748// Feature of 32k crystal removal
749#if defined(__F32_XOSC_REMOVAL_SUPPORT__)
750#define MD_DRV_IS_32K_CRYSTAL_REMOVAL_SUPPORT 1
751#else
752#define MD_DRV_IS_32K_CRYSTAL_REMOVAL_SUPPORT 0
753#endif
754
755// Feature of TX gain RF calibration
756#if defined(__2G_TX_GAIN_RF_CALIBRATION__)
757#define MD_DRV_IS_TX_GAIN_RF_CALIBRATION_SUPPORT 1
758#else
759#define MD_DRV_IS_TX_GAIN_RF_CALIBRATION_SUPPORT 0
760#endif
761
762// For chip with 48-bit of BPI_DATA
763#if MD_DRV_IS_CHIP_TK6291 || MD_DRV_IS_CHIP_MT6755 || MD_DRV_IS_CHIP_MT6292
764#define MD_DRV_IS_BPI_DATA_48_BIT_CHIP 1
765#else
766#define MD_DRV_IS_BPI_DATA_48_BIT_CHIP 0
767#endif
768
769// For chip with 32-bit of BPI_DATA
770#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_MT6752_MD2 || MD_DRV_IS_CHIP_MT6293 || MD_DRV_IS_CHIP_MT6295 || MD_DRV_IS_CHIP_MT6297
771#define MD_DRV_IS_BPI_DATA_32_BIT_CHIP 1
772#else
773#define MD_DRV_IS_BPI_DATA_32_BIT_CHIP 0
774#endif
775
776// For MD2G SW mode
777#if MD_DRV_IS_CHIP_MT6276 || MD_DRV_IS_CHIP_MT6573 || MD_DRV_IS_CHIP_MT6575 || MD_DRV_IS_CHIP_MT6280 || 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_MT6752_MD2 || 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
778#define MD_DRV_IS_MD2G_PWD_DEFAULT_SW_MODE 0
779#else
780#define MD_DRV_IS_MD2G_PWD_DEFAULT_SW_MODE 1
781#endif
782
783// Feature of Fix AFC
784#define MD_DRV_IS_DUAL_LOOP_AFC_CONTROL_SUPPORT 1
785
786// Feature of MIPI Control
787#if defined(__2G_MIPI_SUPPORT__)
788#define MD_DRV_IS_2G_MIPI_SUPPORT 1
789#else
790#define MD_DRV_IS_2G_MIPI_SUPPORT 0
791#endif
792
793#if MD_DRV_IS_2G_MIPI_SUPPORT && defined(__2G_MIPI_INTERSLOT_RAMPING_OPTIMIZE_SUPPORT__)
794/* Macro MD_DRV_IS_MIPI_INTERSLOT_RAMPING_OPTIMIZE_SUPPORT has been removed from GL1 code after TK6291 */
795#define MD_DRV_IS_MIPI_INTERSLOT_RAMPING_OPTIMIZE_SUPPORT 1
796#else
797#define MD_DRV_IS_MIPI_INTERSLOT_RAMPING_OPTIMIZE_SUPPORT 0
798#endif
799
800#if defined (__TX_POWER_OFFSET_SUPPORT__)
801#define MD_DRV_IS_TX_POWER_OFFSET_SUPPORT 1 /* Enable Tx power offset */
802#else
803#define MD_DRV_IS_TX_POWER_OFFSET_SUPPORT 0 /* Disable Tx power offset */
804#endif /*__TX_POWER_OFFSET_SUPPORT__*/
805
806#if defined (__NSFT_ADJUST_TX_POWER_OFFSET_SUPPORT__)
807#define MD_DRV_IS_NSFT_ADJUST_TX_POWER_OFFSET_SUPPORT 1 /* Enable Tx power offset */
808#else
809#define MD_DRV_IS_NSFT_ADJUST_TX_POWER_OFFSET_SUPPORT 0 /* Disable Tx power offset */
810#endif//__NSFT_ADJUST_TX_POWER_OFFSET_SUPPORT__
811
812#if defined(__TAS_SUPPORT__)
813 #if defined(__MD93__)
814#define MD_DRV_IS_2G_TAS_SUPPORT 1
815#define MD_DRV_IS_2G_Gen95_UTAS_SUPPORT 0
816#define MD_DRV_IS_2G_Gen97_UTAS_SUPPORT 0
817#define MD_DRV_IS_2G_TAS_INHERIT_4G_ANT 1
818 #elif defined(__MD95__) /*GL1D is not involved from Gen95 onwards since GL1C is taking care of it*/
819#define MD_DRV_IS_2G_TAS_SUPPORT 0
820#define MD_DRV_IS_2G_Gen95_UTAS_SUPPORT 1
821#define MD_DRV_IS_2G_Gen97_UTAS_SUPPORT 0
822#define MD_DRV_IS_2G_TAS_INHERIT_4G_ANT 0
823 #elif (defined(__MD97__) || defined(__MD97P__))
824#define MD_DRV_IS_2G_TAS_SUPPORT 0
825#define MD_DRV_IS_2G_Gen95_UTAS_SUPPORT 0
826#define MD_DRV_IS_2G_Gen97_UTAS_SUPPORT 1
827#define MD_DRV_IS_2G_TAS_INHERIT_4G_ANT 0
828 #else
829 #error "[ERROR] Invalid MD generation"
830 #endif
831#define MD_DRV_IS_2G_TAS_ANT_IDX_FOR_PM_WINDOW_SUPPORT 1
832#else
833#define MD_DRV_IS_2G_TAS_SUPPORT 0
834#define MD_DRV_IS_2G_TAS_ANT_IDX_FOR_PM_WINDOW_SUPPORT 0
835#define MD_DRV_IS_2G_TAS_INHERIT_4G_ANT 0
836#define MD_DRV_IS_2G_Gen95_UTAS_SUPPORT 0
837#define MD_DRV_IS_2G_Gen97_UTAS_SUPPORT 0
838#endif
839
840#if defined(__DYNAMIC_ANTENNA_TUNING__)
841 #if defined(__MD93__)
842 #define MD_DRV_IS_2G_DAT_SUPPORT 1
843 #define MD_DRV_IS_2G_Gen95_UDAT_SUPPORT 0
844 #elif defined(__MD95__)
845 #define MD_DRV_IS_2G_DAT_SUPPORT 0
846 #define MD_DRV_IS_2G_Gen95_UDAT_SUPPORT 1
847 #else
848 #error "[ERROR] Invalid MD generation"
849 #endif
850#else
851#define MD_DRV_IS_2G_DAT_SUPPORT 0
852#define MD_DRV_IS_2G_Gen95_UDAT_SUPPORT 0
853#endif
854
855/* Support using external LNA and adjust RX gain table in L1 code flow */
856#if MD_DRV_IS_RF_MT6179 || MD_DRV_IS_RF_MT6177L || MD_DRV_IS_RF_TRINITYE1 || MD_DRV_IS_RF_TRINITYL || MD_DRV_IS_RF_MT6186 || MD_DRV_IS_RF_MT6186M || MD_DRV_IS_RF_MT6190T || MD_DRV_IS_RF_MT6177M
857#define MD_DRV_IS_2G_EXTERNAL_LNA_SUPPORT 1
858#else
859#define MD_DRV_IS_2G_EXTERNAL_LNA_SUPPORT 0
860#endif
861
862/* Support using BYPASS and adjust RX gain table in L1 code flow */
863#if MD_DRV_IS_2G_EXTERNAL_LNA_SUPPORT
864 #if MD_DRV_IS_RF_MT6177L || MD_DRV_IS_RF_TRINITYE1 || MD_DRV_IS_RF_TRINITYL || MD_DRV_IS_RF_MT6186 || MD_DRV_IS_RF_MT6186M || MD_DRV_IS_RF_MT6190T || MD_DRV_IS_RF_MT6177M
865#define MD_DRV_IS_2G_EXTERNAL_LNA_BYPASS_SUPPORT 1
866 #else
867#define MD_DRV_IS_2G_EXTERNAL_LNA_BYPASS_SUPPORT 0
868 #endif
869#else
870#define MD_DRV_IS_2G_EXTERNAL_LNA_BYPASS_SUPPORT 0
871#endif
872
873#if MD_DRV_IS_CHIP_MT6293 || MD_DRV_IS_CHIP_MT6295
874#define MD_DRV_IS_2G_BANK_B_ENABLE 1
875#else
876 #if defined(L1_SIM) && !MD_DRV_IS_CHIP_MT6292
877//#error "need to use bank B at simulation"
878 #endif
879#define MD_DRV_IS_2G_BANK_B_ENABLE 0
880#endif
881
882#if MD_DRV_IS_CHIP_MT6295
883#define IS_DYNAMICAL_NOISE_FLOOR_AND_SATURATION_SUPPORT 1
884#else
885#define IS_DYNAMICAL_NOISE_FLOOR_AND_SATURATION_SUPPORT 0
886#endif
887
888#endif