blob: 7fe043da93468570658201abfd8db25d00bea69e [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
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 * wdata.c
41 *
42 * Project:
43 * --------
44 * MT6268
45 *
46 * Description:
47 * ------------
48 * Variables/Arrays for customer to make their own configurations.
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 *
68 * removed!
69 * removed!
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 * removed!
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 *
95 * removed!
96 * removed!
97 * removed!
98 *
99 * removed!
100 * removed!
101 * removed!
102 *
103 * removed!
104 * removed!
105 * removed!
106 *
107 * removed!
108 * removed!
109 *
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 *
119 * removed!
120 * removed!
121 *
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 *
131 * removed!
132 * removed!
133 *
134 * removed!
135 * removed!
136 * removed!
137 *
138 * removed!
139 * removed!
140 * removed!
141 * removed!
142 *
143 * removed!
144 * removed!
145 *
146 * removed!
147 * removed!
148 * removed!
149 * removed!
150 *
151 * removed!
152 * removed!
153 *
154 * removed!
155 * removed!
156 * removed!
157 *
158 * removed!
159 * removed!
160 * removed!
161 *
162 * removed!
163 * removed!
164 * removed!
165 *
166 * removed!
167 * removed!
168 * removed!
169 * removed!
170 *
171 * removed!
172 * removed!
173 *
174 * removed!
175 * removed!
176 * removed!
177 *
178 * removed!
179 * removed!
180 * removed!
181 *
182 * removed!
183 * removed!
184 * removed!
185 *
186 * removed!
187 * removed!
188 * removed!
189 *
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 *
200 * removed!
201 * removed!
202 * removed!
203 *
204 * removed!
205 * removed!
206 * removed!
207 *
208 * removed!
209 * removed!
210 *
211 * removed!
212 * removed!
213 *
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 *
224 * removed!
225 * removed!
226 *
227 * removed!
228 * removed!
229 *
230 * removed!
231 * removed!
232 *
233 * removed!
234 * removed!
235 * removed!
236 * removed!
237 *
238 * removed!
239 * removed!
240 * removed!
241 *
242 * removed!
243 * removed!
244 * removed!
245 *
246 * removed!
247 * removed!
248 * removed!
249 *
250 * removed!
251 * removed!
252 * removed!
253 *
254 * removed!
255 * removed!
256 * removed!
257 *
258 * removed!
259 * removed!
260 * removed!
261 *
262 * removed!
263 * removed!
264 * removed!
265 *
266 * removed!
267 * removed!
268 * removed!
269 *
270 * removed!
271 * removed!
272 * removed!
273 *
274 * removed!
275 * removed!
276 * removed!
277 * removed!
278 * removed!
279 * removed!
280 *
281 * removed!
282 * removed!
283 *
284 * removed!
285 * removed!
286 * removed!
287 *
288 * removed!
289 * removed!
290 * removed!
291 *
292 * removed!
293 * removed!
294 * removed!
295 *
296 * removed!
297 * removed!
298 * removed!
299 *
300 * removed!
301 * removed!
302 * removed!
303 *
304 * removed!
305 * removed!
306 * removed!
307 *
308 * removed!
309 * removed!
310 * removed!
311 *
312 * removed!
313 * removed!
314 * removed!
315 *
316 * removed!
317 * removed!
318 * removed!
319 *
320 * removed!
321 * removed!
322 * removed!
323 *
324 * removed!
325 * removed!
326 * removed!
327 *
328 * removed!
329 * removed!
330 * removed!
331 *
332 * removed!
333 * removed!
334 * removed!
335 *
336 * removed!
337 * removed!
338 * removed!
339 * removed!
340 * removed!
341 * removed!
342 * removed!
343 * removed!
344 * removed!
345 * removed!
346 * removed!
347 * removed!
348 *
349 * removed!
350 * removed!
351 * removed!
352 *
353 * removed!
354 * removed!
355 * removed!
356 * removed!
357 *
358 * removed!
359 * removed!
360 * removed!
361 *
362 * removed!
363 * removed!
364 * removed!
365 *
366 * removed!
367 * removed!
368 * removed!
369 *
370 * removed!
371 * removed!
372 * removed!
373 *
374 * removed!
375 * removed!
376 * removed!
377 *
378 * removed!
379 * removed!
380 * removed!
381 *
382 * removed!
383 * removed!
384 * removed!
385 *
386 * removed!
387 * removed!
388 * removed!
389 *
390 * removed!
391 * removed!
392 * removed!
393 *
394 * removed!
395 * removed!
396 * removed!
397 *
398 * removed!
399 * removed!
400 * removed!
401 *
402 * removed!
403 * removed!
404 * removed!
405 *
406 * removed!
407 * removed!
408 * removed!
409 *
410 * removed!
411 * removed!
412 * removed!
413 *
414 * removed!
415 * removed!
416 * removed!
417 * removed!
418 * removed!
419 *
420 * removed!
421 * removed!
422 * removed!
423 *
424 * removed!
425 * removed!
426 * removed!
427 * removed!
428 *
429 * removed!
430 * removed!
431 * removed!
432 *
433 * removed!
434 * removed!
435 * removed!
436 *
437 * removed!
438 * removed!
439 * removed!
440 *
441 * removed!
442 * removed!
443 * removed!
444 *
445 * removed!
446 * removed!
447 * removed!
448 *
449 * removed!
450 * removed!
451 * removed!
452 *
453 * removed!
454 * removed!
455 * removed!
456 *
457 * removed!
458 * removed!
459 * removed!
460 *
461 *----------------------------------------------------------------------------
462 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
463 *============================================================================
464 ****************************************************************************/
465
466/*===============================================================================*/
467#include "kal_general_types.h"
468
469#include "ul1d_rf_public.h"
470#include "ul1d_rf_common.h"
471#include "ul1d_rf_cid.h"
472#include "ul1cal.h"
473#include "mml1_dpd_def.h"
474/*===============================================================================*/
475
476#if defined(__MTK_TARGET__)
477
478#define __ATTRIBUTE_SECTION__(_s) __attribute__ ((section(#_s)))
479#define __ATTRIBUTE_ALIGNED__(_a) __attribute__ ((aligned((_a))))
480#define __ATTRIBUTE_ZI__ __attribute__ ((zero_init))
481
482#else
483
484#define __ATTRIBUTE_SECTION__(_s)
485#define __ATTRIBUTE_ALIGNED__(_a)
486#define __ATTRIBUTE_ZI__
487
488#endif
489
490#define __SECTION_INTSRAM_RODATA__ //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_RODATA)
491/* #define __SECTION_INTSRAM_ROCODE__ //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_ROCODE) */ /* remove after tk6291 */
492#define __SECTION_INTSRAM_ZI__ //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_ZI)
493#define __SECTION_INTSRAM_RW__ //Removed due to AutoTCM __ATTRIBUTE_SECTION__(INTSRAM_RW)
494
495#define __SECTION_NONCACHEDZI__ __ATTRIBUTE_SECTION__(NONCACHEDZI) __ATTRIBUTE_ZI__
496#define __SECTION_NONCACHEDRW__ __ATTRIBUTE_SECTION__(NONCACHEDRW)
497
498#define __SECTION_DYNAMICCACHEABLEZI_C__ __ATTRIBUTE_SECTION__(DYNAMICCACHEABLEZI_C) __ATTRIBUTE_ZI__
499
500
501#define MAX_DIST(m,n) (((m)>(n))?(m):(n))
502#define MIN_DIST(m,n) (((m)<(n))?(m):(n))
503
504//BPI timing default invalid zero definition for l1core. MUST to be defined in ul1d_custom_rf.h in pcore
505#ifndef TC_PR1
506#define TC_PR1 0
507#endif
508#ifndef TC_PR2
509#define TC_PR2 0
510#endif
511#ifndef TC_PR3
512#define TC_PR3 0
513#endif
514#ifndef TC_PT1
515#define TC_PT1 0
516#endif
517#ifndef TC_PT2
518#define TC_PT2 0
519#endif
520#ifndef TC_PT3
521#define TC_PT3 0
522#endif
523
524kal_uint16 max_offset = 0; /*MAX_OFFSET*/
525__SECTION_INTSRAM_RW__
526kal_uint16 vm_offset = 0; /*(MAX_OFFSET - VM_OFFSET)*/
527kal_uint16 vbias_offset = 0; /*(MAX_OFFSET - VBIAS_OFFSET)*/
528kal_uint16 dc2dc_offset = 0; /*(MAX_OFFSET - DC2DC_OFFSET)*/
529kal_uint16 vga_offset = 0; /*(MAX_OFFSET - VGA_OFFSET)*/
530
531#ifdef __GNUC__ //These are GCC specific pragmas
532#pragma GCC diagnostic push
533#pragma GCC diagnostic ignored "-Wtautological-compare"
534#endif
535/*Notes: due to use SR(T)1,PR(T)1,SR(T)3,PR(T)3 for max and min distance calculating, which is
536 used for the RF timer setting, so must make sure the SR1,PR1 must larger than other
537 event timing, and PT1,ST1 is smaller than other event timing, even in ul1d_custom_rf.h
538 you can set like SR2>SR1 */
539#define MAX_RX_START_OFFSET MAX_DIST(TC_SR1, TC_PR1)
540#define MAX_TX_START_OFFSET MAX_DIST(TC_ST1, TC_PT1)
541#define MAX_RX_END_OFFSET MAX_DIST(TC_SR3, TC_PR3A)
542#define MAX_TX_END_OFFSET MAX_DIST(TC_ST3, TC_PT3A)
543#define MIN_RX_END_OFFSET MIN_DIST(TC_SR3, TC_PR3)
544#define MIN_TX_END_OFFSET MIN_DIST(TC_ST3, TC_PT3)
545
546#define MAX_MODE_START_OFFSET MAX_DIST(TC_SR2B, TC_ST2C)
547
548kal_int16 max_rx_start_offset = MAX_RX_START_OFFSET;
549kal_int16 max_tx_start_offset = MAX_TX_START_OFFSET;
550
551kal_int16 max_txcal_start_offset = TC_ST_CAL;
552
553kal_int16 max_rx_end_offset = MAX_RX_END_OFFSET;
554kal_int16 max_tx_end_offset = MAX_TX_END_OFFSET;
555
556kal_int16 min_rx_end_offset = MIN_RX_END_OFFSET;
557
558kal_int16 min_tx_end_offset = MIN_TX_END_OFFSET;
559
560kal_uint8 max_rx_end_reg_idx;
561kal_int16 min_rx_off_evt_cancel_margin;
562
563//Add for R8 to support RXD and Dual cell
564kal_int16 max_rx_dc_reconfig_offset = TC_DC_SR1;
565kal_int16 max_rxd_start_offset = MAX_DIST(TC_RXD_SR1, TC_PR1_2);
566kal_int16 min_rxd_end_offset = MIN_DIST(TC_RXD_SR3, TC_PR3_2);
567//kal_int16 max_rxd_start_offset = MAX_DIST(TC_RXD_SR1, TC_PR1);
568//kal_int16 min_rxd_end_offset = MIN_DIST(TC_RXD_SR3, TC_PR3)
569#ifdef __GNUC__
570#pragma GCC diagnostic pop
571#endif
572
573#if IS_3G_MIPI_SUPPORT
574kal_uint16 ul1_mipi_offset = 0; /*(MAX_OFFSET - MIPI_OFFSET)*/
575kal_bool is_3g_mipi_enable = KAL_TRUE;
576#endif
577
578kal_bool is_3g_pga_ab_k_enable = KAL_TRUE;
579
580kal_uint8 pa_section = 3;
581
582#if IS_URF_COLUMBUS
583kal_int32 UMTS_RX_TQ_UCNT_TABLE[3] =
584{
585 -TC_SR1_UCNT,
586 -TC_SR2_UCNT,
587 TC_SR3_UCNT
588};
589
590kal_int32 UMTS_TX_TQ_UCNT_TABLE[3] =
591{
592 -TC_ST1_UCNT,
593 -TC_ST2_UCNT,
594 TC_ST3_UCNT
595};
596
597kal_int32 UMTS_RX_OFF2ON_TQ_UCNT_TABLE[3] =
598{
599 -TC_DC_SR1_UCNT,
600 -TC_DC_SR2_UCNT,
601 -TC_DC_SR2B_UCNT,
602};
603#endif
604
605kal_int16 UMTS_RX_START_TQ_TABLE[6] =
606{
607 /* TQ_SLOT_BEGIN(i) + */ -TC_SR1,
608 /* TQ_SLOT_BEGIN(i) + */ -TC_SR2,
609 /* TQ_SLOT_BEGIN(i) + */ -TC_SR2B,
610 /* TQ_SLOT_BEGIN(i) + */ -TC_PR1,
611 /* TQ_SLOT_BEGIN(i) + */ -TC_PR2,
612 /* TQ_SLOT_BEGIN(i) + */ -TC_PR2B
613};
614
615
616kal_int16 UMTS_RX_END_TQ_TABLE[3] =
617{
618 /* TQ_SLOT_BEGIN(i) + */ TC_SR3,
619 /* TQ_SLOT_BEGIN(i) + */ TC_PR3,
620 /* TQ_SLOT_BEGIN(i) + */ TC_PR3A
621};
622
623
624kal_int16 UMTS_TX_START_TQ_TABLE[7] =
625{
626 /* TQ_SLOT_BEGIN(i) + */ -TC_ST1,
627 /* TQ_SLOT_BEGIN(i) + */ -TC_ST2,
628 /* TQ_SLOT_BEGIN(i) + */ -TC_ST2B,
629 /* TQ_SLOT_BEGIN(i) + */ -TC_ST2C,
630 /* TQ_SLOT_BEGIN(i) + */ -TC_PT1,
631 /* TQ_SLOT_BEGIN(i) + */ -TC_PT2,
632 /* TQ_SLOT_BEGIN(i) + */ -TC_PT2B
633};
634
635kal_int16 UMTS_TX_END_TQ_TABLE[3] =
636{
637 /* TQ_SLOT_BEGIN(i) + */ TC_ST3,
638 /* TQ_SLOT_BEGIN(i) + */ TC_PT3,
639 /* TQ_SLOT_BEGIN(i) + */ TC_PT3A
640};
641
642//Add following table to support RXD and Dual Cell
643kal_int16 UMTS_RX_OFF2ON_TQ_TABLE[3] =
644{
645 -TC_DC_SR1,
646 -TC_DC_SR2,
647 -TC_DC_SR2B,
648};
649
650#if IS_RF_RXD_SUPPORT
651kal_int16 UMTS_RXD_START_TQ_TABLE[7] =
652{
653 -TC_RXD_SR1,
654 -TC_PR1,
655 -TC_PR2,
656 -TC_PR2B,
657 -TC_PR1_2,
658 -TC_PR2_2,
659 -TC_PR2B_2
660};
661
662kal_int16 UMTS_RXD_END_TQ_TABLE[5] =
663{
664 TC_RXD_SR3,
665 TC_PR3,
666 TC_PR3A,
667 TC_PR3_2,
668 TC_PR3A_2
669};
670#endif
671
672
673#if IS_3G_REMOVE_MIPI
674//Notes: UMTS_PDATA_TABLE is used to determine which pin is for Rx and which pin is for Tx
675// so can't put other data except BPI here
676BPI_data_type UMTS_PDATA_TABLE[UL1D_RF_CUSTOM_BAND][2][5] =
677{ /* FrequencyBand0 */
678 { { PDATA_BAND1_PR1, PDATA_BAND1_PR2, PDATA_BAND1_PR2B, PDATA_BAND1_PR3, PDATA_BAND1_PR3A } , /* RX */
679 { PDATA_BAND1_PT1, PDATA_BAND1_PT2, PDATA_BAND1_PT2B, PDATA_BAND1_PT3, PDATA_BAND1_PT3A } , /* TX */
680 }, /* FrequencyBand1 */
681 { { PDATA_BAND1_PR1, PDATA_BAND1_PR2, PDATA_BAND1_PR2B, PDATA_BAND1_PR3, PDATA_BAND1_PR3A } , /* RX */
682 { PDATA_BAND1_PT1, PDATA_BAND1_PT2, PDATA_BAND1_PT2B, PDATA_BAND1_PT3, PDATA_BAND1_PT3A } , /* TX */
683 }, /* FrequencyBand2 */
684 { { PDATA_BAND2_PR1, PDATA_BAND2_PR2, PDATA_BAND2_PR2B, PDATA_BAND2_PR3, PDATA_BAND2_PR3A } , /* RX */
685 { PDATA_BAND2_PT1, PDATA_BAND2_PT2, PDATA_BAND2_PT2B, PDATA_BAND2_PT3, PDATA_BAND2_PT3A } , /* TX */
686 }, /* FrequencyBand4 */
687 { { PDATA_BAND4_PR1, PDATA_BAND4_PR2, PDATA_BAND4_PR2B, PDATA_BAND4_PR3, PDATA_BAND4_PR3A } , /* RX */
688 { PDATA_BAND4_PT1, PDATA_BAND4_PT2, PDATA_BAND4_PT2B, PDATA_BAND4_PT3, PDATA_BAND4_PT3A } , /* TX */
689 }, /* FrequencyBand5 */
690 { { PDATA_BAND5_PR1, PDATA_BAND5_PR2, PDATA_BAND5_PR2B, PDATA_BAND5_PR3, PDATA_BAND5_PR3A } , /* RX */
691 { PDATA_BAND5_PT1, PDATA_BAND5_PT2, PDATA_BAND5_PT2B, PDATA_BAND5_PT3, PDATA_BAND5_PT3A } , /* TX */
692 }, /* FrequencyBand8 */
693 { { PDATA_BAND8_PR1, PDATA_BAND8_PR2, PDATA_BAND8_PR2B, PDATA_BAND8_PR3, PDATA_BAND8_PR3A } , /* RX */
694 { PDATA_BAND8_PT1, PDATA_BAND8_PT2, PDATA_BAND8_PT2B, PDATA_BAND8_PT3, PDATA_BAND8_PT3A } , /* TX */
695 },
696#if IS_3G_SUPPORT_8_BANDINDICATOR
697 { { PDATA_BAND6_PR1, PDATA_BAND6_PR2, PDATA_BAND6_PR2B, PDATA_BAND6_PR3, PDATA_BAND6_PR3A } , /* RX */
698 { PDATA_BAND6_PT1, PDATA_BAND6_PT2, PDATA_BAND6_PT2B, PDATA_BAND6_PT3, PDATA_BAND6_PT3A } , /* TX */
699 },
700 { { PDATA_BAND11_PR1, PDATA_BAND11_PR2, PDATA_BAND11_PR2B, PDATA_BAND11_PR3, PDATA_BAND11_PR3A } , /* RX */
701 { PDATA_BAND11_PT1, PDATA_BAND11_PT2, PDATA_BAND11_PT2B, PDATA_BAND11_PT3, PDATA_BAND11_PT3A } , /* TX */
702 },
703 { { PDATA_BAND19_PR1, PDATA_BAND19_PR2, PDATA_BAND19_PR2B, PDATA_BAND19_PR3, PDATA_BAND19_PR3A } , /* RX */
704 { PDATA_BAND19_PT1, PDATA_BAND19_PT2, PDATA_BAND19_PT2B, PDATA_BAND19_PT3, PDATA_BAND19_PT3A } , /* TX */
705 },
706#endif
707};
708
709BPI_data_type UMTS_PDATA_TABLE_H[UL1D_RF_CUSTOM_BAND][2][5] =
710{ /* FrequencyBand0 */
711 { { 0, 0, 0, 0, 0 } , /* RX */
712 { 0, 0, 0, 0, 0 } , /* TX */
713 }, /* FrequencyBand1 */
714 { { 0, 0, 0, 0, 0 } , /* RX */
715 { 0, 0, 0, 0, 0 } , /* TX */
716 }, /* FrequencyBand2 */
717 { { 0, 0, 0, 0, 0 } , /* RX */
718 { 0, 0, 0, 0, 0 } , /* TX */
719 }, /* FrequencyBand4 */
720 { { 0, 0, 0, 0, 0 } , /* RX */
721 { 0, 0, 0, 0, 0 } , /* TX */
722 }, /* FrequencyBand5 */
723 { { 0, 0, 0, 0, 0 } , /* RX */
724 { 0, 0, 0, 0, 0 } , /* TX */
725 }, /* FrequencyBand8 */
726 { { 0, 0, 0, 0, 0 } , /* RX */
727 { 0, 0, 0, 0, 0 } , /* TX */
728 },
729#if IS_3G_SUPPORT_8_BANDINDICATOR
730 { { 0, 0, 0, 0, 0 } , /* RX */
731 { 0, 0, 0, 0, 0 } , /* TX */
732 },
733 { { 0, 0, 0, 0, 0 } , /* RX */
734 { 0, 0, 0, 0, 0 } , /* TX */
735 },
736 { { 0, 0, 0, 0, 0 } , /* RX */
737 { 0, 0, 0, 0, 0 } , /* TX */
738 },
739#endif
740};
741
742
743//Notes: UMTS_PDATA2_TABLE is used to determine which pin is for RXD
744// so can't put other data except BPI here
745
746BPI_data_type UMTS_PDATA2_RX_TABLE[UL1D_RF_CUSTOM_BAND][5] =
747{ /* FrequencyBand0 */
748 { PDATA2_BAND1_PR1, PDATA2_BAND1_PR2, PDATA2_BAND1_PR2B, PDATA2_BAND1_PR3, PDATA2_BAND1_PR3A } , /* RX */
749 /* FrequencyBand1 */
750 { PDATA2_BAND1_PR1, PDATA2_BAND1_PR2, PDATA2_BAND1_PR2B, PDATA2_BAND1_PR3, PDATA2_BAND1_PR3A } , /* RX */
751 /* FrequencyBand2 */
752 { PDATA2_BAND2_PR1, PDATA2_BAND2_PR2, PDATA2_BAND2_PR2B, PDATA2_BAND2_PR3, PDATA2_BAND2_PR3A } , /* RX */
753 /* FrequencyBand4 */
754 { PDATA2_BAND4_PR1, PDATA2_BAND4_PR2, PDATA2_BAND4_PR2B, PDATA2_BAND4_PR3, PDATA2_BAND4_PR3A } , /* RX */
755 /* FrequencyBand5 */
756 { PDATA2_BAND5_PR1, PDATA2_BAND5_PR2, PDATA2_BAND5_PR2B, PDATA2_BAND5_PR3, PDATA2_BAND5_PR3A } , /* RX */
757 /* FrequencyBand8 */
758 { PDATA2_BAND8_PR1, PDATA2_BAND8_PR2, PDATA2_BAND8_PR2B, PDATA2_BAND8_PR3, PDATA2_BAND8_PR3A } , /* RX */
759#if IS_3G_SUPPORT_8_BANDINDICATOR
760 { PDATA2_BAND6_PR1, PDATA2_BAND6_PR2, PDATA2_BAND6_PR2B, PDATA2_BAND6_PR3, PDATA2_BAND6_PR3A } , /* RX */
761 { PDATA2_BAND11_PR1, PDATA2_BAND11_PR2, PDATA2_BAND11_PR2B, PDATA2_BAND11_PR3, PDATA2_BAND11_PR3A } , /* RX */
762 { PDATA2_BAND19_PR1, PDATA2_BAND19_PR2, PDATA2_BAND19_PR2B, PDATA2_BAND19_PR3, PDATA2_BAND19_PR3A } , /* RX */
763#endif
764};
765
766BPI_data_type UMTS_PDATA2_RX_TABLE_H[UL1D_RF_CUSTOM_BAND][5] =
767{ /* FrequencyBand0 */
768 { 0, 0, 0, 0, 0 } , /* RX */
769 /* FrequencyBand1 */
770 { 0, 0, 0, 0, 0 } , /* RX */
771 /* FrequencyBand2 */
772 { 0, 0, 0, 0, 0 } , /* RX */
773 /* FrequencyBand4 */
774 { 0, 0, 0, 0, 0 } , /* RX */
775 /* FrequencyBand5 */
776 { 0, 0, 0, 0, 0 } , /* RX */
777 /* FrequencyBand8 */
778 { 0, 0, 0, 0, 0 } , /* RX */
779#if IS_3G_SUPPORT_8_BANDINDICATOR
780 /* FrequencyBand8 */
781 { 0, 0, 0, 0, 0 } , /* RX */
782 /* FrequencyBand8 */
783 { 0, 0, 0, 0, 0 } , /* RX */
784 /* FrequencyBand8 */
785 { 0, 0, 0, 0, 0 } , /* RX */
786#endif/*IS_3G_SUPPORT_8_BANDINDICATOR*/
787};
788#else
789//Useless after Gen97
790#endif
791
792#if (IS_3G_TAS_ANTENNA_IDX_ON_TEST_SIM)
793UMTS_TAS_ANT_IDX_T UMTS_TAS_ANT_IDX_by_band;
794#endif
795
796kal_uint8 DC2DC[3/*pa_mode*/] =
797{
798 DC2DC_H,
799 DC2DC_M,
800 DC2DC_L
801};
802
803kal_uint8 VM_data[3/*pa_mode*/] =
804{
805 VM_H,
806 VM_M,
807 VM_L
808};
809
810#if IS_3G_REMOVE_MIPI
811/* mtk02653: For checking the notch tuning scenario (cases) */
812/* and also checking whether wrong customer setting exists. */
813UL1_RF_RX_IO_E band1_ch_sel = BAND1_CHANNEL_SEL;
814UL1_RF_RX_IO_E band2_ch_sel = BAND2_CHANNEL_SEL;
815UL1_RF_RX_IO_E band3_ch_sel = BAND3_CHANNEL_SEL;
816UL1_RF_RX_IO_E band4_ch_sel = BAND4_CHANNEL_SEL;
817
818UL1_RF_RX_IO_E band5_ch_sel = BAND5_CHANNEL_SEL;
819UL1_RF_RX_IO_E band6_ch_sel = BAND6_CHANNEL_SEL;
820UL1_RF_RX_IO_E band8_ch_sel = BAND8_CHANNEL_SEL;
821UL1_RF_RX_IO_E band9_ch_sel = BAND9_CHANNEL_SEL;
822UL1_RF_RX_IO_E band10_ch_sel = BAND10_CHANNEL_SEL;
823UL1_RF_RX_IO_E band11_ch_sel = BAND10_CHANNEL_SEL;
824UL1_RF_RX_IO_E band19_ch_sel = BAND19_CHANNEL_SEL;
825
826#if IS_RF_RXD_SUPPORT
827UL1_RF_RXD_IO_E band1_ch2_sel = BAND1_CHANNEL2_SEL;
828UL1_RF_RXD_IO_E band2_ch2_sel = BAND2_CHANNEL2_SEL;
829UL1_RF_RXD_IO_E band3_ch2_sel = BAND3_CHANNEL2_SEL;
830UL1_RF_RXD_IO_E band4_ch2_sel = BAND4_CHANNEL2_SEL;
831UL1_RF_RXD_IO_E band5_ch2_sel = BAND5_CHANNEL2_SEL;
832UL1_RF_RXD_IO_E band6_ch2_sel = BAND6_CHANNEL2_SEL;
833UL1_RF_RXD_IO_E band8_ch2_sel = BAND8_CHANNEL2_SEL;
834UL1_RF_RXD_IO_E band9_ch2_sel = BAND9_CHANNEL2_SEL;
835UL1_RF_RXD_IO_E band10_ch2_sel = BAND10_CHANNEL2_SEL;
836UL1_RF_RXD_IO_E band11_ch2_sel = BAND11_CHANNEL2_SEL;
837UL1_RF_RXD_IO_E band19_ch2_sel = BAND19_CHANNEL2_SEL;
838#endif
839#else
840//Useless after Gen97
841#endif
842
843kal_bool pmu_pasetting = KAL_TRUE;
844kal_bool ultra_low_cost= KAL_FALSE;
845kal_bool TM_enable = TEAMPERATURE_MEAS_EN;
846kal_bool VPA_mode_setting = KAL_FALSE;
847
848#if defined (__UMTS_R8__)
849/** [20130429 LY] replace 0xFFFFFFFF by custom setting to avoid false alarm of cal. data download */
850//Should be quered by Band, customize in rf_custim.h to indicate support of RXD
851kal_uint32 rxd_support_mask = 0x0;
852
853kal_uint32 rx_diversity_always_on = KAL_FALSE;
854kal_uint32 pa_dirft_bitmap = 0x0;
855#endif
856
857kal_bool is_band5_and_band6_indicator = KAL_FALSE;
858#if IS_3G_B5_AND_B19_INDICATOR_SUPPORT
859kal_bool is_band5_and_band19_indicator = KAL_FALSE;
860kal_bool is_disable_band5_indicator = KAL_FALSE;
861#endif
862#if IS_3G_SUPPORT_8_BANDINDICATOR
863kal_uint8 ul1d_BandInfo[MAX_SUPPORTED_BAND_INDEX] ={ UMTSBand1,
864 UMTSBand2,
865 UMTSBand4,
866 UMTSBand5,
867 UMTSBand8,
868 UMTSBandNone,
869 UMTSBandNone,
870 UMTSBandNone};
871kal_uint32 band_info_debug = 0;
872#else
873kal_uint8 ul1d_BandInfo[5] ={ UMTSBand1,
874 UMTSBand2,
875 UMTSBand4,
876 UMTSBand5,
877 UMTSBand8};
878#endif // IS_3G_SUPPORT_8_BANDINDICATOR
879
880kal_uint32 ul1d_CaBandInfo[UMTS_RF_CA_FE_NUM_MAX] = {0};
881UMTS_FE_ROUTE_TABLE_T UMTS_FE_ROUTE_TBL[UMTS_RF_FRONT_END_NUM_MAX] =
882{
883 {0, 0, {{0}}}
884};
885
886UMTS_RX_ROUTE_TABLE_T UMTS_RX_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] =
887{
888 {0, {{0}}, {0}, 0, 0, 0, 0}
889};
890
891UMTS_TX_ROUTE_TABLE_T UMTS_TX_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] =
892{
893 {0, {{0}}, {0}, 0, 0}
894};
895
896UMTS_RX_COMP_ROUTE_TABLE_T UMTS_RX_COMP_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = {0};
897UMTS_TX_COMP_ROUTE_TABLE_T UMTS_TX_COMP_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = {0};
898
899UMTS_USAGE_DES_T UMTS_USAGE_TBL[UMTS_USAGE_TBL_SIZE_MAX] =
900{
901 {{0}, {0}, 0, {0}}
902};
903
904#if IS_3G_REMOVE_MIPI
905UL1_RF_TX_IO_E band_output_sel[20]={TX_NULL_BAND,
906 BAND1_OUTPUT_SEL,
907 BAND2_OUTPUT_SEL,
908 BAND3_OUTPUT_SEL,
909 BAND4_OUTPUT_SEL,
910 BAND5_OUTPUT_SEL,
911 BAND6_OUTPUT_SEL,
912 TX_NULL_BAND,
913 BAND8_OUTPUT_SEL,
914 BAND9_OUTPUT_SEL,
915 BAND10_OUTPUT_SEL,
916 BAND11_OUTPUT_SEL,
917 TX_NULL_BAND,
918 TX_NULL_BAND,
919 TX_NULL_BAND,
920 TX_NULL_BAND,
921 TX_NULL_BAND,
922 TX_NULL_BAND,
923 TX_NULL_BAND,
924 BAND19_OUTPUT_SEL};
925
926UL1_RF_TX_DET_IO_E band_output_det_sel[20]={TX_NULL_BAND,
927 BAND1_OUTPUT_DET_SEL,
928 BAND2_OUTPUT_DET_SEL,
929 BAND3_OUTPUT_DET_SEL,
930 BAND4_OUTPUT_DET_SEL,
931 BAND5_OUTPUT_DET_SEL,
932 BAND6_OUTPUT_DET_SEL,
933 TX_NULL_BAND,
934 BAND8_OUTPUT_DET_SEL,
935 BAND9_OUTPUT_DET_SEL,
936 BAND10_OUTPUT_DET_SEL,
937 BAND11_OUTPUT_DET_SEL,
938 TX_NULL_BAND,
939 TX_NULL_BAND,
940 TX_NULL_BAND,
941 TX_NULL_BAND,
942 TX_NULL_BAND,
943 TX_NULL_BAND,
944 TX_NULL_BAND,
945 BAND19_OUTPUT_DET_SEL};
946
947#else
948//Useless after Gen97
949#endif
950
951kal_bool is_rf_setting_by_nvram = KAL_TRUE;
952kal_bool is_rfic_bsi_port_swap = KAL_FALSE;
953
954#if IS_3G_GEN97_TAS_SUPPORT
955UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T UMTS_TAS_FE_ROUTE_TABLE = {{{0}}};
956#endif
957
958/* mtk02653: */
959/* Pre-processing compiler option concerning to supported RF band mode */
960/* to see if there is any wrong customer configurations. */
961
962#if IS_PCORE_HANDLE
963/*------------- Single Software Load for Multiple Components Compatible -------------*/
964kal_uint8 ul1custom_debug_enable = UL1CUSTOM_DEBUG_ENABLE;
965kal_uint8 ul1custom_gpio_set_nums = UL1CUSTOM_GPIO_SET_NUMS;
966kal_uint8 ul1custom_adc_set_nums = UL1CUSTOM_ADC_SET_NUMS;
967kal_uint8 ul1custom_nvram_barcode_set_nums = UL1CUSTOM_NVRAM_BARCODE_SET_NUMS;
968kal_uint8 ul1custom_gpio_nums_in_calc = UL1CUSTOM_GPIO_NUMS_IN_CALC;
969kal_uint8 ul1custom_ADC_nums_in_calc = UL1CUSTOM_ADC_NUMS_IN_CALC;
970kal_uint8 ul1custom_nvram_barcode_nums_in_calc = UL1CUSTOM_NVRAM_BARCODE_NUMS_IN_CALC;
971kal_uint8 ul1custom_first_index = UL1CUSTOM_FIRST_INDEX;
972kal_uint8 ul1custom_second_index = UL1CUSTOM_SECOND_INDEX;
973kal_uint8 ul1custom_third_index = UL1CUSTOM_THIRD_INDEX;
974kal_uint8 ul1custom_first_index_base = UL1CUSTOM_FIRST_INDEX_BASE;
975kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use = UL1CUSTOM_GPIO_NUM_OF_DETECT_PINS_IN_USE;
976kal_uint8 ul1custom_adc_level_total = UL1CUSTOM_ADC_LEVEL_TOTAL;
977kal_uint8 ul1custom_barcode_read_digit_num = UL1CUSTOM_BARCODE_READ_DIGIT_NUM;
978kal_uint8 ul1custom_barcode_digit_value_1 = UL1CUSTOM_BARCODE_DIGIT_VALUE_1;
979kal_uint8 ul1custom_barcode_digit_value_2 = UL1CUSTOM_BARCODE_DIGIT_VALUE_2;
980kal_uint8 ul1custom_barcode_digit_value_3 = UL1CUSTOM_BARCODE_DIGIT_VALUE_3;
981kal_uint8 ul1custom_max_rf_support_band_num = UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM;
982kal_uint8 ul1custom_adc_calibrate_enable = UL1CUSTOM_ADC_CALIBARTE_ENABLE;
983kal_uint8 ul1custom_adc_bits = UL1CUSTOM_ADC_BITS;
984kal_uint16 ul1custom_adc_meas_count_2_order = UL1CUSTOM_ADC_MEAS_COUNT_2_ORDER;
985kal_uint16 ul1custom_total_set_nums = UL1CUSTOM_TOTAL_SET_NUMS;
986kal_uint32 ul1custom_adc_max_input_voltage = UL1CUSTOM_ADC_MAX_INPUT_VOLTAGE;
987/*------------- Single Software Load for Multiple Components Compatible -------------*/
988#else
989/*------------- Single Software Load for Multiple Components Compatible -------------*/
990kal_uint8 ul1custom_debug_enable = 0;
991kal_uint8 ul1custom_gpio_set_nums = 0;
992kal_uint8 ul1custom_adc_set_nums = 0;
993kal_uint8 ul1custom_nvram_barcode_set_nums = 0;
994kal_uint8 ul1custom_gpio_nums_in_calc = 0;
995kal_uint8 ul1custom_ADC_nums_in_calc = 0;
996kal_uint8 ul1custom_nvram_barcode_nums_in_calc = 0;
997kal_uint8 ul1custom_first_index = 0;
998kal_uint8 ul1custom_second_index = 0;
999kal_uint8 ul1custom_third_index = 0;
1000kal_uint8 ul1custom_first_index_base = 0;
1001kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use = 0;
1002kal_uint8 ul1custom_adc_level_total = 0;
1003kal_uint8 ul1custom_barcode_read_digit_num = 0;
1004kal_uint8 ul1custom_barcode_digit_value_1 = 0;
1005kal_uint8 ul1custom_barcode_digit_value_2 = 0;
1006kal_uint8 ul1custom_barcode_digit_value_3 = 0;
1007kal_uint8 ul1custom_max_rf_support_band_num = 0;
1008kal_uint8 ul1custom_adc_calibrate_enable = 0;
1009kal_uint8 ul1custom_adc_bits = 0;
1010kal_uint16 ul1custom_adc_meas_count_2_order = 0;
1011kal_uint16 ul1custom_total_set_nums = 0;
1012kal_uint32 ul1custom_adc_max_input_voltage = 0;
1013/*------------- Single Software Load for Multiple Components Compatible -------------*/
1014#endif
1015
1016kal_int32 pd_threshold = ((-5)<<5); // Power detection threshold
1017
1018/** DCXO/VCTCXO switch by difinition of AFC_VCXO, but need to be updated by MMRF API query*/
1019#if defined (AFC_VCXO)
1020kal_bool ul1d_afc_vcxo_support = KAL_TRUE;
1021#else
1022kal_bool ul1d_afc_vcxo_support = KAL_FALSE;
1023#endif
1024
1025
1026/*********************************************************************/
1027/** Custom RF Timing **/
1028/*********************************************************************/
1029
1030kal_int16 ddpc_trigger_offset = (-7);
1031kal_int16 meas_sample_offset_5M = (-9);
1032kal_int16 wait_sample_offset_5M = (34);
1033kal_int16 meas_sample_offset_10M = (0);
1034kal_int16 wait_sample_offset_10M = (0);
1035kal_int16 adc_off_offset_0 = (3);
1036kal_int16 adc_off_offset_1 = (2);
1037kal_int16 adc_off_offset_2 = (2);
1038
1039kal_uint32 tri_sw_lm1 = 50;
1040kal_uint32 tri_sw_et1 = 50;
1041kal_uint32 tri_sw_dpd = 50;
1042kal_uint32 tri_sw_lm2 = 50;
1043kal_uint32 tri_sw_et2 = 50;
1044
1045/*********************************************************************/
1046/** Custom RF Data Pointer Structure Declare **/
1047/*********************************************************************/
1048U_sUl1dRfCustomInputData *UMTS_RF_CUSTOM_INPUT_DATA_ptr;
1049
1050#if IS_3G_ELNA_IDX_SUPPORT
1051UMTS_CUSTOM_ELNA_IDX_T *UMTS_ELNA_IDX_LUT_ptr;
1052#endif/*IS_3G_ELNA_IDX_SUPPORT*/
1053
1054#if IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT
1055UMTS_RF_INTERFERENCE_FREQUENCY_T *UMTS_RF_INTERFERENCE_FREQUENCY_ptr;
1056#endif/*IS_3G_FDD_INDICATION_FOR_AP_CLOCK_HOPPING_SUPPORT*/
1057
1058#if IS_3G_SAR_TX_POWER_OFFSET_CONDI_SUPPORT
1059U_sSARBackoffDATA UMTS_SAR_BACKOFF_TABLE_BACKUP[UL1D_RF_CUSTOM_BAND];
1060kal_uint32 TPO_3G_TOTAL_TYPE_NUM = TPO_3G_TABLE_TYPE_NUM;
1061#endif
1062
1063#if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT
1064U_sSARBackoffDATA *UMTS_SAR_BACKOFF_TABLE[UL1D_RF_CUSTOM_BAND];
1065#endif
1066
1067#if IS_3G_TX_POWER_OFFSET_SUPPORT
1068U_sTXPOWEROFFSETDATA *UMTS_TX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND];
1069#endif
1070
1071#if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT
1072U_sTXNSFTPOWEROFFSETDATA_ALLBAND *UMTS_TX_NSFT_POWER_OFFSET_ptr;
1073#endif
1074
1075#if(IS_3G_RX_POWER_OFFSET_SUPPORT)
1076U_sRXPOWEROFFSETDATA *UMTS_RX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND];
1077#endif
1078#if (IS_3G_VPA_SEL_BY_BAND_SUPPORT)
1079UMTS_VPA_SOURCE_TYPE * UMTS_VPA_SRC_SEL_TABLE[UL1D_RF_CUSTOM_BAND];
1080#endif
1081
1082/*********************************************************************/
1083/** Calibration Data Pointer Structure Declare**/
1084/*********************************************************************/
1085#if IS_3G_RF_NCCA_SUPPORT
1086U_sTEMPAGCOFFSET *U_AGC_PATHLOSS_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE];
1087U_sTEMPAGCOFFSET *U_AGC_PATHLOSS_RXD_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE]; //RXD path loss
1088#else
1089U_sTEMPAGCOFFSET *U_AGC_PATHLOSS_TABLE[UL1D_RF_CUSTOM_BAND];
1090U_sTEMPAGCOFFSET *U_AGC_PATHLOSS_RXD_TABLE[UL1D_RF_CUSTOM_BAND]; //RXD path loss
1091#endif
1092U_sRAMPDATA *UMTS_RampData[UL1D_RF_CUSTOM_BAND];
1093U_sPAOCTLVLSETTING *U_PA_OCTLEV_TABLE[UL1D_RF_CUSTOM_BAND];
1094U_sPARACHTMCOMPDATA *U_PA_RACH_COMP_TABLE[UL1D_RF_CUSTOM_BAND];
1095U_sPADRIFTSETTING *U_PA_DRIFT_TABLE[UL1D_RF_CUSTOM_BAND];
1096
1097#if __IS_UL1D_DPD_SUPPORT__
1098U_sDPD_GROUP_ALL *p_U_DPD_GROUP_TABLE[UL1D_RF_CUSTOM_BAND];
1099U_sUl1dDpdCustomInputData *UMTS_DPD_CUSTOM_INPUT_DATA_ptr;
1100DPD_ENABLE_E *UMTS_DPD_ENABLE_ptr;
1101#endif
1102
1103U_sAFCDACDATA *U_AFC_DAC_ptr;
1104U_sAFCCAPDATA *U_AFC_CAP_ptr;
1105kal_uint16 *U_TEMP_DAC_ptr;
1106
1107UMTS_RF_POWER_ON_CAL_DATA_T *U_POC_CAL_DATA_ptr = NULL;
1108
1109#if IS_3G_TAS_UL1_CUSTOM_SUPPORT
1110#if !IS_3G_UTAS_SUPPORT
1111UMTS_CUSTOM_TAS_FE_DATABASE_T *UMTS_TAS_FE_DATABASE_TABLE_ptr = NULL;
1112#endif
1113UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T *UMTS_TAS_FE_ROUTE_TABLE_ptr = &UMTS_TAS_FE_ROUTE_TABLE;
1114UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T *UMTS_TAS_FEATURE_BY_RAT_ptr = NULL;
1115
1116#if IS_3G_GEN97_TAS_SUPPORT
1117UMTS_CUSTOM_TAS_FE_ROUTE_DATA_T *UMTS_TAS_FE_ROUTE_DATA_TABLE_ptr = NULL; //Gen97 NVRAM+Custom
1118#endif
1119
1120#if IS_3G_TAS_TST_SUPPORT
1121UMTS_CUSTOM_TAS_TST_FE_ROUTE_DATABASE_T *UMTS_TAS_TST_FE_ROUTE_DATABASE_ptr = NULL;
1122#endif
1123#if IS_3G_TAS_INHERIT_4G_ANT
1124UMTS_CUSTOM_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_T *UMTS_TAS_INHERIT_LTE_BAND_BITMAP_TABLE_ptr=NULL;
1125#endif
1126#endif
1127
1128#if IS_3G_DAT_UL1_CUSTOM_SUPPORT
1129#if !IS_3G_UDAT_SUPPORT
1130UMTS_CUSTOM_DAT_FE_DATABASE_T *UMTS_DAT_FE_DATABASE_TABLE_ptr = NULL;
1131#endif
1132#if !IS_3G_GEN97_DAT_SUPPORT
1133UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T *UMTS_DAT_FE_ROUTE_TABLE_ptr = NULL;
1134#endif
1135UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T *UMTS_DAT_FEATURE_BY_RAT_ptr = NULL;
1136#endif
1137
1138#if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT
1139hs_dsch_rfeq_info_band_T *UMTS_RFEQ_COEF_TABLE[UL1D_RF_CUSTOM_BAND];
1140#endif
1141
1142#if IS_3G_RFEQ_REAL_COEF_TEST
1143URXDFE_REAL_RFEQ_CUSTOM_BAND_T *UMTS_RFEQ_REAL_COEF_TABLE[UL1D_RF_CUSTOM_BAND];
1144#endif
1145