| rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | /***************************************************************************** | 
|  | 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 |  | 
|  | 524 | kal_uint16 max_offset   =  0; /*MAX_OFFSET*/ | 
|  | 525 | __SECTION_INTSRAM_RW__ | 
|  | 526 | kal_uint16 vm_offset    =  0; /*(MAX_OFFSET - VM_OFFSET)*/ | 
|  | 527 | kal_uint16 vbias_offset =  0; /*(MAX_OFFSET - VBIAS_OFFSET)*/ | 
|  | 528 | kal_uint16 dc2dc_offset =  0; /*(MAX_OFFSET - DC2DC_OFFSET)*/ | 
|  | 529 | kal_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 |  | 
|  | 548 | kal_int16 max_rx_start_offset = MAX_RX_START_OFFSET; | 
|  | 549 | kal_int16 max_tx_start_offset = MAX_TX_START_OFFSET; | 
|  | 550 |  | 
|  | 551 | kal_int16 max_txcal_start_offset = TC_ST_CAL; | 
|  | 552 |  | 
|  | 553 | kal_int16 max_rx_end_offset = MAX_RX_END_OFFSET; | 
|  | 554 | kal_int16 max_tx_end_offset = MAX_TX_END_OFFSET; | 
|  | 555 |  | 
|  | 556 | kal_int16 min_rx_end_offset = MIN_RX_END_OFFSET; | 
|  | 557 |  | 
|  | 558 | kal_int16 min_tx_end_offset = MIN_TX_END_OFFSET; | 
|  | 559 |  | 
|  | 560 | kal_uint8 max_rx_end_reg_idx; | 
|  | 561 | kal_int16 min_rx_off_evt_cancel_margin; | 
|  | 562 |  | 
|  | 563 | //Add for R8 to support RXD and Dual cell | 
|  | 564 | kal_int16 max_rx_dc_reconfig_offset = TC_DC_SR1; | 
|  | 565 | kal_int16 max_rxd_start_offset = MAX_DIST(TC_RXD_SR1, TC_PR1_2); | 
|  | 566 | kal_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 | 
|  | 574 | kal_uint16 ul1_mipi_offset  =  0; /*(MAX_OFFSET - MIPI_OFFSET)*/ | 
|  | 575 | kal_bool is_3g_mipi_enable = KAL_TRUE; | 
|  | 576 | #endif | 
|  | 577 |  | 
|  | 578 | kal_bool is_3g_pga_ab_k_enable = KAL_TRUE; | 
|  | 579 |  | 
|  | 580 | kal_uint8  pa_section = 3; | 
|  | 581 |  | 
|  | 582 | #if IS_URF_COLUMBUS | 
|  | 583 | kal_int32  UMTS_RX_TQ_UCNT_TABLE[3] = | 
|  | 584 | { | 
|  | 585 | -TC_SR1_UCNT, | 
|  | 586 | -TC_SR2_UCNT, | 
|  | 587 | TC_SR3_UCNT | 
|  | 588 | }; | 
|  | 589 |  | 
|  | 590 | kal_int32  UMTS_TX_TQ_UCNT_TABLE[3] = | 
|  | 591 | { | 
|  | 592 | -TC_ST1_UCNT, | 
|  | 593 | -TC_ST2_UCNT, | 
|  | 594 | TC_ST3_UCNT | 
|  | 595 | }; | 
|  | 596 |  | 
|  | 597 | kal_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 |  | 
|  | 605 | kal_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 |  | 
|  | 616 | kal_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 |  | 
|  | 624 | kal_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 |  | 
|  | 635 | kal_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 | 
|  | 643 | kal_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 | 
|  | 651 | kal_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 |  | 
|  | 662 | kal_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 | 
|  | 676 | BPI_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 |  | 
|  | 709 | BPI_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 |  | 
|  | 746 | BPI_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 |  | 
|  | 766 | BPI_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) | 
|  | 793 | UMTS_TAS_ANT_IDX_T UMTS_TAS_ANT_IDX_by_band; | 
|  | 794 | #endif | 
|  | 795 |  | 
|  | 796 | kal_uint8 DC2DC[3/*pa_mode*/] = | 
|  | 797 | { | 
|  | 798 | DC2DC_H, | 
|  | 799 | DC2DC_M, | 
|  | 800 | DC2DC_L | 
|  | 801 | }; | 
|  | 802 |  | 
|  | 803 | kal_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. */ | 
|  | 813 | UL1_RF_RX_IO_E band1_ch_sel =  BAND1_CHANNEL_SEL; | 
|  | 814 | UL1_RF_RX_IO_E band2_ch_sel =  BAND2_CHANNEL_SEL; | 
|  | 815 | UL1_RF_RX_IO_E band3_ch_sel =  BAND3_CHANNEL_SEL; | 
|  | 816 | UL1_RF_RX_IO_E band4_ch_sel =  BAND4_CHANNEL_SEL; | 
|  | 817 |  | 
|  | 818 | UL1_RF_RX_IO_E band5_ch_sel =  BAND5_CHANNEL_SEL; | 
|  | 819 | UL1_RF_RX_IO_E band6_ch_sel =  BAND6_CHANNEL_SEL; | 
|  | 820 | UL1_RF_RX_IO_E band8_ch_sel =  BAND8_CHANNEL_SEL; | 
|  | 821 | UL1_RF_RX_IO_E band9_ch_sel =  BAND9_CHANNEL_SEL; | 
|  | 822 | UL1_RF_RX_IO_E band10_ch_sel = BAND10_CHANNEL_SEL; | 
|  | 823 | UL1_RF_RX_IO_E band11_ch_sel = BAND10_CHANNEL_SEL; | 
|  | 824 | UL1_RF_RX_IO_E band19_ch_sel = BAND19_CHANNEL_SEL; | 
|  | 825 |  | 
|  | 826 | #if IS_RF_RXD_SUPPORT | 
|  | 827 | UL1_RF_RXD_IO_E band1_ch2_sel =  BAND1_CHANNEL2_SEL; | 
|  | 828 | UL1_RF_RXD_IO_E band2_ch2_sel =  BAND2_CHANNEL2_SEL; | 
|  | 829 | UL1_RF_RXD_IO_E band3_ch2_sel =  BAND3_CHANNEL2_SEL; | 
|  | 830 | UL1_RF_RXD_IO_E band4_ch2_sel =  BAND4_CHANNEL2_SEL; | 
|  | 831 | UL1_RF_RXD_IO_E band5_ch2_sel =  BAND5_CHANNEL2_SEL; | 
|  | 832 | UL1_RF_RXD_IO_E band6_ch2_sel =  BAND6_CHANNEL2_SEL; | 
|  | 833 | UL1_RF_RXD_IO_E band8_ch2_sel =  BAND8_CHANNEL2_SEL; | 
|  | 834 | UL1_RF_RXD_IO_E band9_ch2_sel =  BAND9_CHANNEL2_SEL; | 
|  | 835 | UL1_RF_RXD_IO_E band10_ch2_sel = BAND10_CHANNEL2_SEL; | 
|  | 836 | UL1_RF_RXD_IO_E band11_ch2_sel = BAND11_CHANNEL2_SEL; | 
|  | 837 | UL1_RF_RXD_IO_E band19_ch2_sel = BAND19_CHANNEL2_SEL; | 
|  | 838 | #endif | 
|  | 839 | #else | 
|  | 840 | //Useless after Gen97 | 
|  | 841 | #endif | 
|  | 842 |  | 
|  | 843 | kal_bool pmu_pasetting = KAL_TRUE; | 
|  | 844 | kal_bool ultra_low_cost= KAL_FALSE; | 
|  | 845 | kal_bool TM_enable = TEAMPERATURE_MEAS_EN; | 
|  | 846 | kal_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 | 
|  | 851 | kal_uint32 rxd_support_mask = 0x0; | 
|  | 852 |  | 
|  | 853 | kal_uint32 rx_diversity_always_on = KAL_FALSE; | 
|  | 854 | kal_uint32 pa_dirft_bitmap        = 0x0; | 
|  | 855 | #endif | 
|  | 856 |  | 
|  | 857 | kal_bool is_band5_and_band6_indicator = KAL_FALSE; | 
|  | 858 | #if IS_3G_B5_AND_B19_INDICATOR_SUPPORT | 
|  | 859 | kal_bool is_band5_and_band19_indicator = KAL_FALSE; | 
|  | 860 | kal_bool is_disable_band5_indicator = KAL_FALSE; | 
|  | 861 | #endif | 
|  | 862 | #if IS_3G_SUPPORT_8_BANDINDICATOR | 
|  | 863 | kal_uint8 ul1d_BandInfo[MAX_SUPPORTED_BAND_INDEX] ={ UMTSBand1, | 
|  | 864 | UMTSBand2, | 
|  | 865 | UMTSBand4, | 
|  | 866 | UMTSBand5, | 
|  | 867 | UMTSBand8, | 
|  | 868 | UMTSBandNone, | 
|  | 869 | UMTSBandNone, | 
|  | 870 | UMTSBandNone}; | 
|  | 871 | kal_uint32 band_info_debug = 0; | 
|  | 872 | #else | 
|  | 873 | kal_uint8 ul1d_BandInfo[5] ={ UMTSBand1, | 
|  | 874 | UMTSBand2, | 
|  | 875 | UMTSBand4, | 
|  | 876 | UMTSBand5, | 
|  | 877 | UMTSBand8}; | 
|  | 878 | #endif // IS_3G_SUPPORT_8_BANDINDICATOR | 
|  | 879 |  | 
|  | 880 | kal_uint32 ul1d_CaBandInfo[UMTS_RF_CA_FE_NUM_MAX] = {0}; | 
|  | 881 | UMTS_FE_ROUTE_TABLE_T  UMTS_FE_ROUTE_TBL[UMTS_RF_FRONT_END_NUM_MAX] = | 
|  | 882 | { | 
|  | 883 | {0, 0, {{0}}} | 
|  | 884 | }; | 
|  | 885 |  | 
|  | 886 | UMTS_RX_ROUTE_TABLE_T        UMTS_RX_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = | 
|  | 887 | { | 
|  | 888 | {0, {{0}}, {0}, 0, 0, 0, 0} | 
|  | 889 | }; | 
|  | 890 |  | 
|  | 891 | UMTS_TX_ROUTE_TABLE_T        UMTS_TX_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = | 
|  | 892 | { | 
|  | 893 | {0, {{0}}, {0}, 0, 0} | 
|  | 894 | }; | 
|  | 895 |  | 
|  | 896 | UMTS_RX_COMP_ROUTE_TABLE_T   UMTS_RX_COMP_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = {0}; | 
|  | 897 | UMTS_TX_COMP_ROUTE_TABLE_T   UMTS_TX_COMP_ROUTE_TBL[UMTS_ROUTE_TBL_SIZE_MAX] = {0}; | 
|  | 898 |  | 
|  | 899 | UMTS_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 | 
|  | 905 | UL1_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 |  | 
|  | 926 | UL1_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 |  | 
|  | 951 | kal_bool is_rf_setting_by_nvram = KAL_TRUE; | 
|  | 952 | kal_bool is_rfic_bsi_port_swap = KAL_FALSE; | 
|  | 953 |  | 
|  | 954 | #if IS_3G_GEN97_TAS_SUPPORT | 
|  | 955 | UMTS_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 -------------*/ | 
|  | 964 | kal_uint8 ul1custom_debug_enable = UL1CUSTOM_DEBUG_ENABLE; | 
|  | 965 | kal_uint8 ul1custom_gpio_set_nums = UL1CUSTOM_GPIO_SET_NUMS; | 
|  | 966 | kal_uint8 ul1custom_adc_set_nums = UL1CUSTOM_ADC_SET_NUMS; | 
|  | 967 | kal_uint8 ul1custom_nvram_barcode_set_nums = UL1CUSTOM_NVRAM_BARCODE_SET_NUMS; | 
|  | 968 | kal_uint8 ul1custom_gpio_nums_in_calc = UL1CUSTOM_GPIO_NUMS_IN_CALC; | 
|  | 969 | kal_uint8 ul1custom_ADC_nums_in_calc = UL1CUSTOM_ADC_NUMS_IN_CALC; | 
|  | 970 | kal_uint8 ul1custom_nvram_barcode_nums_in_calc = UL1CUSTOM_NVRAM_BARCODE_NUMS_IN_CALC; | 
|  | 971 | kal_uint8 ul1custom_first_index = UL1CUSTOM_FIRST_INDEX; | 
|  | 972 | kal_uint8 ul1custom_second_index = UL1CUSTOM_SECOND_INDEX; | 
|  | 973 | kal_uint8 ul1custom_third_index = UL1CUSTOM_THIRD_INDEX; | 
|  | 974 | kal_uint8 ul1custom_first_index_base = UL1CUSTOM_FIRST_INDEX_BASE; | 
|  | 975 | kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use = UL1CUSTOM_GPIO_NUM_OF_DETECT_PINS_IN_USE; | 
|  | 976 | kal_uint8 ul1custom_adc_level_total = UL1CUSTOM_ADC_LEVEL_TOTAL; | 
|  | 977 | kal_uint8 ul1custom_barcode_read_digit_num = UL1CUSTOM_BARCODE_READ_DIGIT_NUM; | 
|  | 978 | kal_uint8 ul1custom_barcode_digit_value_1 = UL1CUSTOM_BARCODE_DIGIT_VALUE_1; | 
|  | 979 | kal_uint8 ul1custom_barcode_digit_value_2 = UL1CUSTOM_BARCODE_DIGIT_VALUE_2; | 
|  | 980 | kal_uint8 ul1custom_barcode_digit_value_3 = UL1CUSTOM_BARCODE_DIGIT_VALUE_3; | 
|  | 981 | kal_uint8 ul1custom_max_rf_support_band_num = UL1CUSTOM_MAX_RF_SUPPORT_BAND_NUM; | 
|  | 982 | kal_uint8 ul1custom_adc_calibrate_enable = UL1CUSTOM_ADC_CALIBARTE_ENABLE; | 
|  | 983 | kal_uint8 ul1custom_adc_bits = UL1CUSTOM_ADC_BITS; | 
|  | 984 | kal_uint16 ul1custom_adc_meas_count_2_order = UL1CUSTOM_ADC_MEAS_COUNT_2_ORDER; | 
|  | 985 | kal_uint16 ul1custom_total_set_nums = UL1CUSTOM_TOTAL_SET_NUMS; | 
|  | 986 | kal_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 -------------*/ | 
|  | 990 | kal_uint8 ul1custom_debug_enable = 0; | 
|  | 991 | kal_uint8 ul1custom_gpio_set_nums = 0; | 
|  | 992 | kal_uint8 ul1custom_adc_set_nums = 0; | 
|  | 993 | kal_uint8 ul1custom_nvram_barcode_set_nums = 0; | 
|  | 994 | kal_uint8 ul1custom_gpio_nums_in_calc = 0; | 
|  | 995 | kal_uint8 ul1custom_ADC_nums_in_calc = 0; | 
|  | 996 | kal_uint8 ul1custom_nvram_barcode_nums_in_calc = 0; | 
|  | 997 | kal_uint8 ul1custom_first_index = 0; | 
|  | 998 | kal_uint8 ul1custom_second_index = 0; | 
|  | 999 | kal_uint8 ul1custom_third_index = 0; | 
|  | 1000 | kal_uint8 ul1custom_first_index_base = 0; | 
|  | 1001 | kal_uint8 ul1custom_gpio_num_of_detect_pins_in_use = 0; | 
|  | 1002 | kal_uint8 ul1custom_adc_level_total = 0; | 
|  | 1003 | kal_uint8 ul1custom_barcode_read_digit_num = 0; | 
|  | 1004 | kal_uint8 ul1custom_barcode_digit_value_1 = 0; | 
|  | 1005 | kal_uint8 ul1custom_barcode_digit_value_2 = 0; | 
|  | 1006 | kal_uint8 ul1custom_barcode_digit_value_3 = 0; | 
|  | 1007 | kal_uint8 ul1custom_max_rf_support_band_num = 0; | 
|  | 1008 | kal_uint8 ul1custom_adc_calibrate_enable = 0; | 
|  | 1009 | kal_uint8 ul1custom_adc_bits = 0; | 
|  | 1010 | kal_uint16 ul1custom_adc_meas_count_2_order = 0; | 
|  | 1011 | kal_uint16 ul1custom_total_set_nums = 0; | 
|  | 1012 | kal_uint32 ul1custom_adc_max_input_voltage = 0; | 
|  | 1013 | /*------------- Single Software Load for Multiple Components Compatible -------------*/ | 
|  | 1014 | #endif | 
|  | 1015 |  | 
|  | 1016 | kal_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) | 
|  | 1020 | kal_bool ul1d_afc_vcxo_support = KAL_TRUE; | 
|  | 1021 | #else | 
|  | 1022 | kal_bool ul1d_afc_vcxo_support = KAL_FALSE; | 
|  | 1023 | #endif | 
|  | 1024 |  | 
|  | 1025 |  | 
|  | 1026 | /*********************************************************************/ | 
|  | 1027 | /**                        Custom RF Timing                         **/ | 
|  | 1028 | /*********************************************************************/ | 
|  | 1029 |  | 
|  | 1030 | kal_int16  ddpc_trigger_offset    = (-7); | 
|  | 1031 | kal_int16  meas_sample_offset_5M  = (-9); | 
|  | 1032 | kal_int16  wait_sample_offset_5M  = (34); | 
|  | 1033 | kal_int16  meas_sample_offset_10M = (0); | 
|  | 1034 | kal_int16  wait_sample_offset_10M = (0); | 
|  | 1035 | kal_int16  adc_off_offset_0 = (3); | 
|  | 1036 | kal_int16  adc_off_offset_1 = (2); | 
|  | 1037 | kal_int16  adc_off_offset_2 = (2); | 
|  | 1038 |  | 
|  | 1039 | kal_uint32  tri_sw_lm1 = 50; | 
|  | 1040 | kal_uint32  tri_sw_et1 = 50; | 
|  | 1041 | kal_uint32  tri_sw_dpd = 50; | 
|  | 1042 | kal_uint32  tri_sw_lm2 = 50; | 
|  | 1043 | kal_uint32  tri_sw_et2 = 50; | 
|  | 1044 |  | 
|  | 1045 | /*********************************************************************/ | 
|  | 1046 | /**                        Custom RF Data Pointer Structure Declare **/ | 
|  | 1047 | /*********************************************************************/ | 
|  | 1048 | U_sUl1dRfCustomInputData *UMTS_RF_CUSTOM_INPUT_DATA_ptr; | 
|  | 1049 |  | 
|  | 1050 | #if IS_3G_ELNA_IDX_SUPPORT | 
|  | 1051 | UMTS_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 | 
|  | 1055 | UMTS_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 | 
|  | 1059 | U_sSARBackoffDATA UMTS_SAR_BACKOFF_TABLE_BACKUP[UL1D_RF_CUSTOM_BAND]; | 
|  | 1060 | kal_uint32 TPO_3G_TOTAL_TYPE_NUM = TPO_3G_TABLE_TYPE_NUM; | 
|  | 1061 | #endif | 
|  | 1062 |  | 
|  | 1063 | #if IS_3G_SAR_TX_POWER_BACKOFF_SUPPORT | 
|  | 1064 | U_sSARBackoffDATA *UMTS_SAR_BACKOFF_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1065 | #endif | 
|  | 1066 |  | 
|  | 1067 | #if IS_3G_TX_POWER_OFFSET_SUPPORT | 
|  | 1068 | U_sTXPOWEROFFSETDATA *UMTS_TX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1069 | #endif | 
|  | 1070 |  | 
|  | 1071 | #if IS_3G_TX_NSFT_POWER_OFFSET_SUPPORT | 
|  | 1072 | U_sTXNSFTPOWEROFFSETDATA_ALLBAND *UMTS_TX_NSFT_POWER_OFFSET_ptr; | 
|  | 1073 | #endif | 
|  | 1074 |  | 
|  | 1075 | #if(IS_3G_RX_POWER_OFFSET_SUPPORT) | 
|  | 1076 | U_sRXPOWEROFFSETDATA *UMTS_RX_POWER_OFFSET_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1077 | #endif | 
|  | 1078 | #if (IS_3G_VPA_SEL_BY_BAND_SUPPORT) | 
|  | 1079 | UMTS_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 | 
|  | 1086 | U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE]; | 
|  | 1087 | U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_RXD_TABLE[UMTS_AGC_PATHLOSS_TBL_SIZE]; //RXD path loss | 
|  | 1088 | #else | 
|  | 1089 | U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1090 | U_sTEMPAGCOFFSET    *U_AGC_PATHLOSS_RXD_TABLE[UL1D_RF_CUSTOM_BAND]; //RXD path loss | 
|  | 1091 | #endif | 
|  | 1092 | U_sRAMPDATA         *UMTS_RampData[UL1D_RF_CUSTOM_BAND]; | 
|  | 1093 | U_sPAOCTLVLSETTING  *U_PA_OCTLEV_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1094 | U_sPARACHTMCOMPDATA *U_PA_RACH_COMP_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1095 | U_sPADRIFTSETTING   *U_PA_DRIFT_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1096 |  | 
|  | 1097 | #if __IS_UL1D_DPD_SUPPORT__ | 
|  | 1098 | U_sDPD_GROUP_ALL          *p_U_DPD_GROUP_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1099 | U_sUl1dDpdCustomInputData *UMTS_DPD_CUSTOM_INPUT_DATA_ptr; | 
|  | 1100 | DPD_ENABLE_E              *UMTS_DPD_ENABLE_ptr; | 
|  | 1101 | #endif | 
|  | 1102 |  | 
|  | 1103 | U_sAFCDACDATA       *U_AFC_DAC_ptr; | 
|  | 1104 | U_sAFCCAPDATA       *U_AFC_CAP_ptr; | 
|  | 1105 | kal_uint16          *U_TEMP_DAC_ptr; | 
|  | 1106 |  | 
|  | 1107 | UMTS_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 | 
|  | 1111 | UMTS_CUSTOM_TAS_FE_DATABASE_T       *UMTS_TAS_FE_DATABASE_TABLE_ptr = NULL; | 
|  | 1112 | #endif | 
|  | 1113 | UMTS_CUSTOM_TAS_FE_ROUTE_DATABASE_T *UMTS_TAS_FE_ROUTE_TABLE_ptr = &UMTS_TAS_FE_ROUTE_TABLE; | 
|  | 1114 | UMTS_CUSTOM_TAS_FEATURE_BY_RAT_T    *UMTS_TAS_FEATURE_BY_RAT_ptr = NULL; | 
|  | 1115 |  | 
|  | 1116 | #if IS_3G_GEN97_TAS_SUPPORT | 
|  | 1117 | UMTS_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 | 
|  | 1121 | UMTS_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 | 
|  | 1124 | UMTS_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 | 
|  | 1130 | UMTS_CUSTOM_DAT_FE_DATABASE_T       *UMTS_DAT_FE_DATABASE_TABLE_ptr = NULL; | 
|  | 1131 | #endif | 
|  | 1132 | #if !IS_3G_GEN97_DAT_SUPPORT | 
|  | 1133 | UMTS_CUSTOM_DAT_FE_ROUTE_DATABASE_T *UMTS_DAT_FE_ROUTE_TABLE_ptr = NULL; | 
|  | 1134 | #endif | 
|  | 1135 | UMTS_CUSTOM_DAT_FEATURE_BY_RAT_T    *UMTS_DAT_FEATURE_BY_RAT_ptr = NULL; | 
|  | 1136 | #endif | 
|  | 1137 |  | 
|  | 1138 | #if IS_3G_RFEQ_COEF_SUBBAND_SUPPORT | 
|  | 1139 | hs_dsch_rfeq_info_band_T *UMTS_RFEQ_COEF_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1140 | #endif | 
|  | 1141 |  | 
|  | 1142 | #if IS_3G_RFEQ_REAL_COEF_TEST | 
|  | 1143 | URXDFE_REAL_RFEQ_CUSTOM_BAND_T *UMTS_RFEQ_REAL_COEF_TABLE[UL1D_RF_CUSTOM_BAND]; | 
|  | 1144 | #endif | 
|  | 1145 |  |