1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
| /******************************************************************************
| *
| * Copyright(c) 2007 - 2017 Realtek Corporation.
| *
| * This program is free software; you can redistribute it and/or modify it
| * under the terms of version 2 of the GNU General Public License as
| * published by the Free Software Foundation.
| *
| * This program is distributed in the hope that it will be useful, but WITHOUT
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
| * more details.
| *
| *****************************************************************************/
|
| /*Image2HeaderVersion: 3.5.2*/
| #include "mp_precomp.h"
| #include "../phydm_precomp.h"
|
| #if (RTL8703B_SUPPORT == 1)
| static boolean
| check_positive(
| struct dm_struct *dm,
| const u32 condition1,
| const u32 condition2,
| const u32 condition3,
| const u32 condition4
| )
| {
| u8 _board_type = ((dm->board_type & BIT(4)) >> 4) << 0 | /* _GLNA*/
| ((dm->board_type & BIT(3)) >> 3) << 1 | /* _GPA*/
| ((dm->board_type & BIT(7)) >> 7) << 2 | /* _ALNA*/
| ((dm->board_type & BIT(6)) >> 6) << 3 | /* _APA */
| ((dm->board_type & BIT(2)) >> 2) << 4 | /* _BT*/
| ((dm->board_type & BIT(1)) >> 1) << 5 | /* _NGFF*/
| ((dm->board_type & BIT(5)) >> 5) << 6; /* _TRSWT*/
|
| u32 cond1 = condition1, cond2 = condition2, cond3 = condition3, cond4 = condition4;
|
| u8 cut_version_for_para = (dm->cut_version == ODM_CUT_A) ? 15 : dm->cut_version;
| u8 pkg_type_for_para = (dm->package_type == 0) ? 15 : dm->package_type;
|
| u32 driver1 = cut_version_for_para << 24 |
| (dm->support_interface & 0xF0) << 16 |
| dm->support_platform << 16 |
| pkg_type_for_para << 12 |
| (dm->support_interface & 0x0F) << 8 |
| _board_type;
|
| u32 driver2 = (dm->type_glna & 0xFF) << 0 |
| (dm->type_gpa & 0xFF) << 8 |
| (dm->type_alna & 0xFF) << 16 |
| (dm->type_apa & 0xFF) << 24;
|
| u32 driver3 = 0;
|
| u32 driver4 = (dm->type_glna & 0xFF00) >> 8 |
| (dm->type_gpa & 0xFF00) |
| (dm->type_alna & 0xFF00) << 8 |
| (dm->type_apa & 0xFF00) << 16;
|
| PHYDM_DBG(dm, ODM_COMP_INIT,
| "===> %s (cond1, cond2, cond3, cond4) = (0x%X 0x%X 0x%X 0x%X)\n",
| __func__, cond1, cond2, cond3, cond4);
| PHYDM_DBG(dm, ODM_COMP_INIT,
| "===> %s (driver1, driver2, driver3, driver4) = (0x%X 0x%X 0x%X 0x%X)\n",
| __func__, driver1, driver2, driver3, driver4);
|
| PHYDM_DBG(dm, ODM_COMP_INIT,
| " (Platform, Interface) = (0x%X, 0x%X)\n",
| dm->support_platform, dm->support_interface);
| PHYDM_DBG(dm, ODM_COMP_INIT,
| " (Board, Package) = (0x%X, 0x%X)\n", dm->board_type,
| dm->package_type);
|
|
| /*============== value Defined Check ===============*/
| /*QFN type [15:12] and cut version [27:24] need to do value check*/
|
| if (((cond1 & 0x0000F000) != 0) && ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
| return false;
| if (((cond1 & 0x0F000000) != 0) && ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
| return false;
|
| /*=============== Bit Defined Check ================*/
| /* We don't care [31:28] */
|
| cond1 &= 0x00FF0FFF;
| driver1 &= 0x00FF0FFF;
|
| if ((cond1 & driver1) == cond1) {
| u32 bit_mask = 0;
|
| if ((cond1 & 0x0F) == 0) /* board_type is DONTCARE*/
| return true;
|
| if ((cond1 & BIT(0)) != 0) /*GLNA*/
| bit_mask |= 0x000000FF;
| if ((cond1 & BIT(1)) != 0) /*GPA*/
| bit_mask |= 0x0000FF00;
| if ((cond1 & BIT(2)) != 0) /*ALNA*/
| bit_mask |= 0x00FF0000;
| if ((cond1 & BIT(3)) != 0) /*APA*/
| bit_mask |= 0xFF000000;
|
| if (((cond2 & bit_mask) == (driver2 & bit_mask)) && ((cond4 & bit_mask) == (driver4 & bit_mask))) /* board_type of each RF path is matched*/
| return true;
| else
| return false;
| } else
| return false;
| }
|
| /******************************************************************************
| * radioa.TXT
| ******************************************************************************/
|
| u32 array_mp_8703b_radioa[] = {
| 0x018, 0x00008C01,
| 0x0B5, 0x0008C050,
| 0x0B1, 0x00054258,
| 0x0B2, 0x00054C00,
| 0x030, 0x00018000,
| 0x031, 0x00000027,
| 0x032, 0x000A7F07,
| 0x030, 0x00020000,
| 0x031, 0x00000027,
| 0x032, 0x000E7D87,
| 0x01C, 0x000F8635,
| 0x0EF, 0x00080000,
| 0x030, 0x00008000,
| 0x031, 0x00000004,
| 0x032, 0x00006105,
| 0x0EF, 0x00000000,
| 0x0EF, 0x00000400,
| 0x041, 0x0000BD54,
| 0x041, 0x00003DD4,
| 0x041, 0x0000FDD4,
| 0x0EF, 0x00000000,
| 0x0DF, 0x00000600,
| 0x050, 0x0000C6DB,
| 0x051, 0x00004505,
| 0x052, 0x0000E31D,
| 0x053, 0x00040579,
| 0x054, 0x00000000,
| 0x055, 0x0008206E,
| 0x056, 0x00040000,
| 0x0EF, 0x00000100,
| 0x034, 0x0000ADD7,
| 0x034, 0x00009DD4,
| 0x034, 0x00008DD1,
| 0x034, 0x00007DCE,
| 0x034, 0x00006DCB,
| 0x034, 0x00005CCE,
| 0x034, 0x000048CD,
| 0x034, 0x000034CC,
| 0x034, 0x0000244F,
| 0x034, 0x0000144C,
| 0x034, 0x0000004E,
| 0x0EF, 0x00000000,
| 0x0EF, 0x00002000,
| 0x03B, 0x0003801F,
| 0x03B, 0x00030002,
| 0x03B, 0x00028001,
| 0x03B, 0x00020000,
| 0x03B, 0x00018003,
| 0x03B, 0x00010002,
| 0x03B, 0x00008001,
| 0x03B, 0x00000000,
| 0x0EF, 0x00000000,
| 0x082, 0x000C0000,
| 0x083, 0x000AF025,
| 0x01E, 0x00000C08,
|
| };
|
| void
| odm_read_and_config_mp_8703b_radioa(struct dm_struct *dm)
| {
| u32 i = 0;
| u8 c_cond;
| boolean is_matched = true, is_skipped = false;
| u32 array_len = sizeof(array_mp_8703b_radioa) / sizeof(u32);
| u32 *array = array_mp_8703b_radioa;
|
| u32 v1 = 0, v2 = 0, pre_v1 = 0, pre_v2 = 0;
|
| PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
|
| while ((i + 1) < array_len) {
| v1 = array[i];
| v2 = array[i + 1];
|
| if (v1 & (BIT(31) | BIT(30))) {/*positive & negative condition*/
| if (v1 & BIT(31)) {/* positive condition*/
| c_cond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
| if (c_cond == COND_ENDIF) {/*end*/
| is_matched = true;
| is_skipped = false;
| PHYDM_DBG(dm, ODM_COMP_INIT, "ENDIF\n");
| } else if (c_cond == COND_ELSE) { /*else*/
| is_matched = is_skipped ? false : true;
| PHYDM_DBG(dm, ODM_COMP_INIT, "ELSE\n");
| } else {/*if , else if*/
| pre_v1 = v1;
| pre_v2 = v2;
| PHYDM_DBG(dm, ODM_COMP_INIT, "IF or ELSE IF\n");
| }
| } else if (v1 & BIT(30)) { /*negative condition*/
| if (is_skipped == false) {
| if (check_positive(dm, pre_v1, pre_v2, v1, v2)) {
| is_matched = true;
| is_skipped = true;
| } else {
| is_matched = false;
| is_skipped = false;
| }
| } else
| is_matched = false;
| }
| } else {
| if (is_matched)
| odm_config_rf_radio_a_8703b(dm, v1, v2);
| }
| i = i + 2;
| }
| }
|
| u32
| odm_get_version_mp_8703b_radioa(void)
| {
| return 18;
| }
|
| /******************************************************************************
| * txpowertrack_sdio.TXT
| ******************************************************************************/
|
| #if DEV_BUS_TYPE == RT_SDIO_INTERFACE
| u8 g_delta_swing_table_idx_mp_5gb_n_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| };
| u8 g_delta_swing_table_idx_mp_5gb_p_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| };
| u8 g_delta_swing_table_idx_mp_5ga_n_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| };
| u8 g_delta_swing_table_idx_mp_5ga_p_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| };
| u8 g_delta_swing_table_idx_mp_2gb_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2gb_p_txpowertrack_sdio_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
| u8 g_delta_swing_table_idx_mp_2ga_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2ga_p_txpowertrack_sdio_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
| u8 g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_sdio_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
| u8 g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_sdio_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
| #endif
|
| void
| odm_read_and_config_mp_8703b_txpowertrack_sdio(struct dm_struct *dm)
| {
| #if DEV_BUS_TYPE == RT_SDIO_INTERFACE
| struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
|
| PHYDM_DBG(dm, ODM_COMP_INIT, "===> ODM_ReadAndConfig_MP_mp_8703b\n");
|
|
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_p, g_delta_swing_table_idx_mp_2ga_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_n, g_delta_swing_table_idx_mp_2ga_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_p, g_delta_swing_table_idx_mp_2gb_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_n, g_delta_swing_table_idx_mp_2gb_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
|
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_p, g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_n, g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_p, g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_n, g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
|
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_p, g_delta_swing_table_idx_mp_5ga_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_n, g_delta_swing_table_idx_mp_5ga_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_p, g_delta_swing_table_idx_mp_5gb_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_n, g_delta_swing_table_idx_mp_5gb_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
| #endif
| }
|
| /******************************************************************************
| * txpowertrack_usb.TXT
| ******************************************************************************/
|
| #if DEV_BUS_TYPE == RT_USB_INTERFACE
| u8 g_delta_swing_table_idx_mp_5gb_n_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| };
| u8 g_delta_swing_table_idx_mp_5gb_p_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| };
| u8 g_delta_swing_table_idx_mp_5ga_n_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
| };
| u8 g_delta_swing_table_idx_mp_5ga_p_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
| {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
| };
| u8 g_delta_swing_table_idx_mp_2gb_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2gb_p_txpowertrack_usb_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
| u8 g_delta_swing_table_idx_mp_2ga_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2ga_p_txpowertrack_usb_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
| u8 g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_usb_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
| u8 g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
| u8 g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_usb_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
| #endif
|
| void
| odm_read_and_config_mp_8703b_txpowertrack_usb(struct dm_struct *dm)
| {
| #if DEV_BUS_TYPE == RT_USB_INTERFACE
| struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
|
| PHYDM_DBG(dm, ODM_COMP_INIT, "===> ODM_ReadAndConfig_MP_mp_8703b\n");
|
|
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_p, g_delta_swing_table_idx_mp_2ga_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_n, g_delta_swing_table_idx_mp_2ga_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_p, g_delta_swing_table_idx_mp_2gb_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_n, g_delta_swing_table_idx_mp_2gb_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
|
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_p, g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_n, g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_p, g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_n, g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
|
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_p, g_delta_swing_table_idx_mp_5ga_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_n, g_delta_swing_table_idx_mp_5ga_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_p, g_delta_swing_table_idx_mp_5gb_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
| odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_n, g_delta_swing_table_idx_mp_5gb_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
| #endif
| }
|
| /******************************************************************************
| * txpwr_lmt.TXT
| ******************************************************************************/
|
| const char *array_mp_8703b_txpwr_lmt[] = {
| "FCC", "2.4G", "20M", "CCK", "1T", "01", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "01", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "01", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "02", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "02", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "02", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "03", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "03", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "03", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "04", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "04", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "04", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "05", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "05", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "05", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "06", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "06", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "06", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "07", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "07", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "07", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "08", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "08", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "08", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "09", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "09", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "09", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "10", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "10", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "10", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "11", "30",
| "ETSI", "2.4G", "20M", "CCK", "1T", "11", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "11", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "12", "63",
| "ETSI", "2.4G", "20M", "CCK", "1T", "12", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "12", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "13", "63",
| "ETSI", "2.4G", "20M", "CCK", "1T", "13", "26",
| "MKK", "2.4G", "20M", "CCK", "1T", "13", "32",
| "FCC", "2.4G", "20M", "CCK", "1T", "14", "63",
| "ETSI", "2.4G", "20M", "CCK", "1T", "14", "63",
| "MKK", "2.4G", "20M", "CCK", "1T", "14", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "01", "28",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "01", "28",
| "MKK", "2.4G", "20M", "OFDM", "1T", "01", "28",
| "FCC", "2.4G", "20M", "OFDM", "1T", "02", "28",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "02", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "02", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "03", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "03", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "03", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "04", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "04", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "04", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "05", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "05", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "05", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "06", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "06", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "06", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "07", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "07", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "07", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "08", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "08", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "08", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "09", "32",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "09", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "09", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "10", "28",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "10", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "10", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "11", "28",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "11", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "11", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "12", "63",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "12", "32",
| "MKK", "2.4G", "20M", "OFDM", "1T", "12", "32",
| "FCC", "2.4G", "20M", "OFDM", "1T", "13", "63",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "13", "28",
| "MKK", "2.4G", "20M", "OFDM", "1T", "13", "28",
| "FCC", "2.4G", "20M", "OFDM", "1T", "14", "63",
| "ETSI", "2.4G", "20M", "OFDM", "1T", "14", "63",
| "MKK", "2.4G", "20M", "OFDM", "1T", "14", "63",
| "FCC", "2.4G", "20M", "HT", "1T", "01", "26",
| "ETSI", "2.4G", "20M", "HT", "1T", "01", "26",
| "MKK", "2.4G", "20M", "HT", "1T", "01", "28",
| "FCC", "2.4G", "20M", "HT", "1T", "02", "26",
| "ETSI", "2.4G", "20M", "HT", "1T", "02", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "02", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "03", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "03", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "03", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "04", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "04", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "04", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "05", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "05", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "05", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "06", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "06", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "06", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "07", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "07", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "07", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "08", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "08", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "08", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "09", "32",
| "ETSI", "2.4G", "20M", "HT", "1T", "09", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "09", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "10", "26",
| "ETSI", "2.4G", "20M", "HT", "1T", "10", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "10", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "11", "26",
| "ETSI", "2.4G", "20M", "HT", "1T", "11", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "11", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "12", "63",
| "ETSI", "2.4G", "20M", "HT", "1T", "12", "32",
| "MKK", "2.4G", "20M", "HT", "1T", "12", "32",
| "FCC", "2.4G", "20M", "HT", "1T", "13", "63",
| "ETSI", "2.4G", "20M", "HT", "1T", "13", "26",
| "MKK", "2.4G", "20M", "HT", "1T", "13", "28",
| "FCC", "2.4G", "20M", "HT", "1T", "14", "63",
| "ETSI", "2.4G", "20M", "HT", "1T", "14", "63",
| "MKK", "2.4G", "20M", "HT", "1T", "14", "63",
| "FCC", "2.4G", "20M", "HT", "2T", "01", "28",
| "ETSI", "2.4G", "20M", "HT", "2T", "01", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "01", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "02", "28",
| "ETSI", "2.4G", "20M", "HT", "2T", "02", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "02", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "03", "30",
| "ETSI", "2.4G", "20M", "HT", "2T", "03", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "03", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "04", "30",
| "ETSI", "2.4G", "20M", "HT", "2T", "04", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "04", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "05", "30",
| "ETSI", "2.4G", "20M", "HT", "2T", "05", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "05", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "06", "30",
| "ETSI", "2.4G", "20M", "HT", "2T", "06", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "06", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "07", "30",
| "ETSI", "2.4G", "20M", "HT", "2T", "07", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "07", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "08", "30",
| "ETSI", "2.4G", "20M", "HT", "2T", "08", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "08", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "09", "28",
| "ETSI", "2.4G", "20M", "HT", "2T", "09", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "09", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "10", "28",
| "ETSI", "2.4G", "20M", "HT", "2T", "10", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "10", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "11", "28",
| "ETSI", "2.4G", "20M", "HT", "2T", "11", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "11", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "12", "63",
| "ETSI", "2.4G", "20M", "HT", "2T", "12", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "12", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "13", "63",
| "ETSI", "2.4G", "20M", "HT", "2T", "13", "30",
| "MKK", "2.4G", "20M", "HT", "2T", "13", "30",
| "FCC", "2.4G", "20M", "HT", "2T", "14", "63",
| "ETSI", "2.4G", "20M", "HT", "2T", "14", "63",
| "MKK", "2.4G", "20M", "HT", "2T", "14", "63",
| "FCC", "2.4G", "40M", "HT", "1T", "01", "63",
| "ETSI", "2.4G", "40M", "HT", "1T", "01", "63",
| "MKK", "2.4G", "40M", "HT", "1T", "01", "63",
| "FCC", "2.4G", "40M", "HT", "1T", "02", "63",
| "ETSI", "2.4G", "40M", "HT", "1T", "02", "63",
| "MKK", "2.4G", "40M", "HT", "1T", "02", "63",
| "FCC", "2.4G", "40M", "HT", "1T", "03", "26",
| "ETSI", "2.4G", "40M", "HT", "1T", "03", "26",
| "MKK", "2.4G", "40M", "HT", "1T", "03", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "04", "26",
| "ETSI", "2.4G", "40M", "HT", "1T", "04", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "04", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "05", "28",
| "ETSI", "2.4G", "40M", "HT", "1T", "05", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "05", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "06", "28",
| "ETSI", "2.4G", "40M", "HT", "1T", "06", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "06", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "07", "28",
| "ETSI", "2.4G", "40M", "HT", "1T", "07", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "07", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "08", "26",
| "ETSI", "2.4G", "40M", "HT", "1T", "08", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "08", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "09", "26",
| "ETSI", "2.4G", "40M", "HT", "1T", "09", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "09", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "10", "26",
| "ETSI", "2.4G", "40M", "HT", "1T", "10", "28",
| "MKK", "2.4G", "40M", "HT", "1T", "10", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "11", "26",
| "ETSI", "2.4G", "40M", "HT", "1T", "11", "26",
| "MKK", "2.4G", "40M", "HT", "1T", "11", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "12", "63",
| "ETSI", "2.4G", "40M", "HT", "1T", "12", "26",
| "MKK", "2.4G", "40M", "HT", "1T", "12", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "13", "63",
| "ETSI", "2.4G", "40M", "HT", "1T", "13", "26",
| "MKK", "2.4G", "40M", "HT", "1T", "13", "26",
| "FCC", "2.4G", "40M", "HT", "1T", "14", "63",
| "ETSI", "2.4G", "40M", "HT", "1T", "14", "63",
| "MKK", "2.4G", "40M", "HT", "1T", "14", "63",
| "FCC", "2.4G", "40M", "HT", "2T", "01", "63",
| "ETSI", "2.4G", "40M", "HT", "2T", "01", "63",
| "MKK", "2.4G", "40M", "HT", "2T", "01", "63",
| "FCC", "2.4G", "40M", "HT", "2T", "02", "63",
| "ETSI", "2.4G", "40M", "HT", "2T", "02", "63",
| "MKK", "2.4G", "40M", "HT", "2T", "02", "63",
| "FCC", "2.4G", "40M", "HT", "2T", "03", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "03", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "03", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "04", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "04", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "04", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "05", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "05", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "05", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "06", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "06", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "06", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "07", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "07", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "07", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "08", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "08", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "08", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "09", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "09", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "09", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "10", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "10", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "10", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "11", "26",
| "ETSI", "2.4G", "40M", "HT", "2T", "11", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "11", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "12", "63",
| "ETSI", "2.4G", "40M", "HT", "2T", "12", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "12", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "13", "63",
| "ETSI", "2.4G", "40M", "HT", "2T", "13", "26",
| "MKK", "2.4G", "40M", "HT", "2T", "13", "26",
| "FCC", "2.4G", "40M", "HT", "2T", "14", "63",
| "ETSI", "2.4G", "40M", "HT", "2T", "14", "63",
| "MKK", "2.4G", "40M", "HT", "2T", "14", "63",
| "FCC", "5G", "20M", "OFDM", "1T", "36", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "36", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "36", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "40", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "40", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "40", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "44", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "44", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "44", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "48", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "48", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "48", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "52", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "52", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "52", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "56", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "56", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "56", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "60", "32",
| "ETSI", "5G", "20M", "OFDM", "1T", "60", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "60", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "64", "28",
| "ETSI", "5G", "20M", "OFDM", "1T", "64", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "64", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "100", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "100", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "100", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "114", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "114", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "114", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "108", "32",
| "ETSI", "5G", "20M", "OFDM", "1T", "108", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "108", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "112", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "112", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "112", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "116", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "116", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "116", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "120", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "120", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "120", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "124", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "124", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "124", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "128", "32",
| "ETSI", "5G", "20M", "OFDM", "1T", "128", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "128", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "132", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "132", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "132", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "136", "30",
| "ETSI", "5G", "20M", "OFDM", "1T", "136", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "136", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "140", "28",
| "ETSI", "5G", "20M", "OFDM", "1T", "140", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "140", "32",
| "FCC", "5G", "20M", "OFDM", "1T", "149", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "149", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "149", "63",
| "FCC", "5G", "20M", "OFDM", "1T", "153", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "153", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "153", "63",
| "FCC", "5G", "20M", "OFDM", "1T", "157", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "157", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "157", "63",
| "FCC", "5G", "20M", "OFDM", "1T", "161", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "161", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "161", "63",
| "FCC", "5G", "20M", "OFDM", "1T", "165", "34",
| "ETSI", "5G", "20M", "OFDM", "1T", "165", "32",
| "MKK", "5G", "20M", "OFDM", "1T", "165", "63",
| "FCC", "5G", "20M", "HT", "1T", "36", "30",
| "ETSI", "5G", "20M", "HT", "1T", "36", "32",
| "MKK", "5G", "20M", "HT", "1T", "36", "32",
| "FCC", "5G", "20M", "HT", "1T", "40", "30",
| "ETSI", "5G", "20M", "HT", "1T", "40", "32",
| "MKK", "5G", "20M", "HT", "1T", "40", "32",
| "FCC", "5G", "20M", "HT", "1T", "44", "30",
| "ETSI", "5G", "20M", "HT", "1T", "44", "32",
| "MKK", "5G", "20M", "HT", "1T", "44", "32",
| "FCC", "5G", "20M", "HT", "1T", "48", "30",
| "ETSI", "5G", "20M", "HT", "1T", "48", "32",
| "MKK", "5G", "20M", "HT", "1T", "48", "32",
| "FCC", "5G", "20M", "HT", "1T", "52", "34",
| "ETSI", "5G", "20M", "HT", "1T", "52", "32",
| "MKK", "5G", "20M", "HT", "1T", "52", "32",
| "FCC", "5G", "20M", "HT", "1T", "56", "34",
| "ETSI", "5G", "20M", "HT", "1T", "56", "32",
| "MKK", "5G", "20M", "HT", "1T", "56", "32",
| "FCC", "5G", "20M", "HT", "1T", "60", "32",
| "ETSI", "5G", "20M", "HT", "1T", "60", "32",
| "MKK", "5G", "20M", "HT", "1T", "60", "32",
| "FCC", "5G", "20M", "HT", "1T", "64", "28",
| "ETSI", "5G", "20M", "HT", "1T", "64", "32",
| "MKK", "5G", "20M", "HT", "1T", "64", "32",
| "FCC", "5G", "20M", "HT", "1T", "100", "30",
| "ETSI", "5G", "20M", "HT", "1T", "100", "32",
| "MKK", "5G", "20M", "HT", "1T", "100", "32",
| "FCC", "5G", "20M", "HT", "1T", "114", "30",
| "ETSI", "5G", "20M", "HT", "1T", "114", "32",
| "MKK", "5G", "20M", "HT", "1T", "114", "32",
| "FCC", "5G", "20M", "HT", "1T", "108", "32",
| "ETSI", "5G", "20M", "HT", "1T", "108", "32",
| "MKK", "5G", "20M", "HT", "1T", "108", "32",
| "FCC", "5G", "20M", "HT", "1T", "112", "34",
| "ETSI", "5G", "20M", "HT", "1T", "112", "32",
| "MKK", "5G", "20M", "HT", "1T", "112", "32",
| "FCC", "5G", "20M", "HT", "1T", "116", "34",
| "ETSI", "5G", "20M", "HT", "1T", "116", "32",
| "MKK", "5G", "20M", "HT", "1T", "116", "32",
| "FCC", "5G", "20M", "HT", "1T", "120", "34",
| "ETSI", "5G", "20M", "HT", "1T", "120", "32",
| "MKK", "5G", "20M", "HT", "1T", "120", "32",
| "FCC", "5G", "20M", "HT", "1T", "124", "34",
| "ETSI", "5G", "20M", "HT", "1T", "124", "32",
| "MKK", "5G", "20M", "HT", "1T", "124", "32",
| "FCC", "5G", "20M", "HT", "1T", "128", "32",
| "ETSI", "5G", "20M", "HT", "1T", "128", "32",
| "MKK", "5G", "20M", "HT", "1T", "128", "32",
| "FCC", "5G", "20M", "HT", "1T", "132", "30",
| "ETSI", "5G", "20M", "HT", "1T", "132", "32",
| "MKK", "5G", "20M", "HT", "1T", "132", "32",
| "FCC", "5G", "20M", "HT", "1T", "136", "30",
| "ETSI", "5G", "20M", "HT", "1T", "136", "32",
| "MKK", "5G", "20M", "HT", "1T", "136", "32",
| "FCC", "5G", "20M", "HT", "1T", "140", "28",
| "ETSI", "5G", "20M", "HT", "1T", "140", "32",
| "MKK", "5G", "20M", "HT", "1T", "140", "32",
| "FCC", "5G", "20M", "HT", "1T", "149", "34",
| "ETSI", "5G", "20M", "HT", "1T", "149", "32",
| "MKK", "5G", "20M", "HT", "1T", "149", "63",
| "FCC", "5G", "20M", "HT", "1T", "153", "34",
| "ETSI", "5G", "20M", "HT", "1T", "153", "32",
| "MKK", "5G", "20M", "HT", "1T", "153", "63",
| "FCC", "5G", "20M", "HT", "1T", "157", "34",
| "ETSI", "5G", "20M", "HT", "1T", "157", "32",
| "MKK", "5G", "20M", "HT", "1T", "157", "63",
| "FCC", "5G", "20M", "HT", "1T", "161", "34",
| "ETSI", "5G", "20M", "HT", "1T", "161", "32",
| "MKK", "5G", "20M", "HT", "1T", "161", "63",
| "FCC", "5G", "20M", "HT", "1T", "165", "34",
| "ETSI", "5G", "20M", "HT", "1T", "165", "32",
| "MKK", "5G", "20M", "HT", "1T", "165", "63",
| "FCC", "5G", "20M", "HT", "2T", "36", "28",
| "ETSI", "5G", "20M", "HT", "2T", "36", "30",
| "MKK", "5G", "20M", "HT", "2T", "36", "30",
| "FCC", "5G", "20M", "HT", "2T", "40", "28",
| "ETSI", "5G", "20M", "HT", "2T", "40", "30",
| "MKK", "5G", "20M", "HT", "2T", "40", "30",
| "FCC", "5G", "20M", "HT", "2T", "44", "28",
| "ETSI", "5G", "20M", "HT", "2T", "44", "30",
| "MKK", "5G", "20M", "HT", "2T", "44", "30",
| "FCC", "5G", "20M", "HT", "2T", "48", "28",
| "ETSI", "5G", "20M", "HT", "2T", "48", "30",
| "MKK", "5G", "20M", "HT", "2T", "48", "30",
| "FCC", "5G", "20M", "HT", "2T", "52", "34",
| "ETSI", "5G", "20M", "HT", "2T", "52", "30",
| "MKK", "5G", "20M", "HT", "2T", "52", "30",
| "FCC", "5G", "20M", "HT", "2T", "56", "32",
| "ETSI", "5G", "20M", "HT", "2T", "56", "30",
| "MKK", "5G", "20M", "HT", "2T", "56", "30",
| "FCC", "5G", "20M", "HT", "2T", "60", "30",
| "ETSI", "5G", "20M", "HT", "2T", "60", "30",
| "MKK", "5G", "20M", "HT", "2T", "60", "30",
| "FCC", "5G", "20M", "HT", "2T", "64", "26",
| "ETSI", "5G", "20M", "HT", "2T", "64", "30",
| "MKK", "5G", "20M", "HT", "2T", "64", "30",
| "FCC", "5G", "20M", "HT", "2T", "100", "28",
| "ETSI", "5G", "20M", "HT", "2T", "100", "30",
| "MKK", "5G", "20M", "HT", "2T", "100", "30",
| "FCC", "5G", "20M", "HT", "2T", "114", "28",
| "ETSI", "5G", "20M", "HT", "2T", "114", "30",
| "MKK", "5G", "20M", "HT", "2T", "114", "30",
| "FCC", "5G", "20M", "HT", "2T", "108", "30",
| "ETSI", "5G", "20M", "HT", "2T", "108", "30",
| "MKK", "5G", "20M", "HT", "2T", "108", "30",
| "FCC", "5G", "20M", "HT", "2T", "112", "32",
| "ETSI", "5G", "20M", "HT", "2T", "112", "30",
| "MKK", "5G", "20M", "HT", "2T", "112", "30",
| "FCC", "5G", "20M", "HT", "2T", "116", "32",
| "ETSI", "5G", "20M", "HT", "2T", "116", "30",
| "MKK", "5G", "20M", "HT", "2T", "116", "30",
| "FCC", "5G", "20M", "HT", "2T", "120", "34",
| "ETSI", "5G", "20M", "HT", "2T", "120", "30",
| "MKK", "5G", "20M", "HT", "2T", "120", "30",
| "FCC", "5G", "20M", "HT", "2T", "124", "32",
| "ETSI", "5G", "20M", "HT", "2T", "124", "30",
| "MKK", "5G", "20M", "HT", "2T", "124", "30",
| "FCC", "5G", "20M", "HT", "2T", "128", "30",
| "ETSI", "5G", "20M", "HT", "2T", "128", "30",
| "MKK", "5G", "20M", "HT", "2T", "128", "30",
| "FCC", "5G", "20M", "HT", "2T", "132", "28",
| "ETSI", "5G", "20M", "HT", "2T", "132", "30",
| "MKK", "5G", "20M", "HT", "2T", "132", "30",
| "FCC", "5G", "20M", "HT", "2T", "136", "28",
| "ETSI", "5G", "20M", "HT", "2T", "136", "30",
| "MKK", "5G", "20M", "HT", "2T", "136", "30",
| "FCC", "5G", "20M", "HT", "2T", "140", "26",
| "ETSI", "5G", "20M", "HT", "2T", "140", "30",
| "MKK", "5G", "20M", "HT", "2T", "140", "30",
| "FCC", "5G", "20M", "HT", "2T", "149", "34",
| "ETSI", "5G", "20M", "HT", "2T", "149", "30",
| "MKK", "5G", "20M", "HT", "2T", "149", "63",
| "FCC", "5G", "20M", "HT", "2T", "153", "34",
| "ETSI", "5G", "20M", "HT", "2T", "153", "30",
| "MKK", "5G", "20M", "HT", "2T", "153", "63",
| "FCC", "5G", "20M", "HT", "2T", "157", "34",
| "ETSI", "5G", "20M", "HT", "2T", "157", "30",
| "MKK", "5G", "20M", "HT", "2T", "157", "63",
| "FCC", "5G", "20M", "HT", "2T", "161", "34",
| "ETSI", "5G", "20M", "HT", "2T", "161", "30",
| "MKK", "5G", "20M", "HT", "2T", "161", "63",
| "FCC", "5G", "20M", "HT", "2T", "165", "34",
| "ETSI", "5G", "20M", "HT", "2T", "165", "30",
| "MKK", "5G", "20M", "HT", "2T", "165", "63",
| "FCC", "5G", "40M", "HT", "1T", "38", "30",
| "ETSI", "5G", "40M", "HT", "1T", "38", "32",
| "MKK", "5G", "40M", "HT", "1T", "38", "32",
| "FCC", "5G", "40M", "HT", "1T", "46", "30",
| "ETSI", "5G", "40M", "HT", "1T", "46", "32",
| "MKK", "5G", "40M", "HT", "1T", "46", "32",
| "FCC", "5G", "40M", "HT", "1T", "54", "32",
| "ETSI", "5G", "40M", "HT", "1T", "54", "32",
| "MKK", "5G", "40M", "HT", "1T", "54", "32",
| "FCC", "5G", "40M", "HT", "1T", "62", "32",
| "ETSI", "5G", "40M", "HT", "1T", "62", "32",
| "MKK", "5G", "40M", "HT", "1T", "62", "32",
| "FCC", "5G", "40M", "HT", "1T", "102", "28",
| "ETSI", "5G", "40M", "HT", "1T", "102", "32",
| "MKK", "5G", "40M", "HT", "1T", "102", "32",
| "FCC", "5G", "40M", "HT", "1T", "110", "32",
| "ETSI", "5G", "40M", "HT", "1T", "110", "32",
| "MKK", "5G", "40M", "HT", "1T", "110", "32",
| "FCC", "5G", "40M", "HT", "1T", "118", "34",
| "ETSI", "5G", "40M", "HT", "1T", "118", "32",
| "MKK", "5G", "40M", "HT", "1T", "118", "32",
| "FCC", "5G", "40M", "HT", "1T", "126", "34",
| "ETSI", "5G", "40M", "HT", "1T", "126", "32",
| "MKK", "5G", "40M", "HT", "1T", "126", "32",
| "FCC", "5G", "40M", "HT", "1T", "134", "32",
| "ETSI", "5G", "40M", "HT", "1T", "134", "32",
| "MKK", "5G", "40M", "HT", "1T", "134", "32",
| "FCC", "5G", "40M", "HT", "1T", "151", "34",
| "ETSI", "5G", "40M", "HT", "1T", "151", "32",
| "MKK", "5G", "40M", "HT", "1T", "151", "63",
| "FCC", "5G", "40M", "HT", "1T", "159", "34",
| "ETSI", "5G", "40M", "HT", "1T", "159", "32",
| "MKK", "5G", "40M", "HT", "1T", "159", "63",
| "FCC", "5G", "40M", "HT", "2T", "38", "28",
| "ETSI", "5G", "40M", "HT", "2T", "38", "30",
| "MKK", "5G", "40M", "HT", "2T", "38", "30",
| "FCC", "5G", "40M", "HT", "2T", "46", "28",
| "ETSI", "5G", "40M", "HT", "2T", "46", "30",
| "MKK", "5G", "40M", "HT", "2T", "46", "30",
| "FCC", "5G", "40M", "HT", "2T", "54", "30",
| "ETSI", "5G", "40M", "HT", "2T", "54", "30",
| "MKK", "5G", "40M", "HT", "2T", "54", "30",
| "FCC", "5G", "40M", "HT", "2T", "62", "30",
| "ETSI", "5G", "40M", "HT", "2T", "62", "30",
| "MKK", "5G", "40M", "HT", "2T", "62", "30",
| "FCC", "5G", "40M", "HT", "2T", "102", "26",
| "ETSI", "5G", "40M", "HT", "2T", "102", "30",
| "MKK", "5G", "40M", "HT", "2T", "102", "30",
| "FCC", "5G", "40M", "HT", "2T", "110", "30",
| "ETSI", "5G", "40M", "HT", "2T", "110", "30",
| "MKK", "5G", "40M", "HT", "2T", "110", "30",
| "FCC", "5G", "40M", "HT", "2T", "118", "34",
| "ETSI", "5G", "40M", "HT", "2T", "118", "30",
| "MKK", "5G", "40M", "HT", "2T", "118", "30",
| "FCC", "5G", "40M", "HT", "2T", "126", "32",
| "ETSI", "5G", "40M", "HT", "2T", "126", "30",
| "MKK", "5G", "40M", "HT", "2T", "126", "30",
| "FCC", "5G", "40M", "HT", "2T", "134", "30",
| "ETSI", "5G", "40M", "HT", "2T", "134", "30",
| "MKK", "5G", "40M", "HT", "2T", "134", "30",
| "FCC", "5G", "40M", "HT", "2T", "151", "34",
| "ETSI", "5G", "40M", "HT", "2T", "151", "30",
| "MKK", "5G", "40M", "HT", "2T", "151", "63",
| "FCC", "5G", "40M", "HT", "2T", "159", "34",
| "ETSI", "5G", "40M", "HT", "2T", "159", "30",
| "MKK", "5G", "40M", "HT", "2T", "159", "63",
| "FCC", "5G", "80M", "VHT", "1T", "42", "30",
| "ETSI", "5G", "80M", "VHT", "1T", "42", "32",
| "MKK", "5G", "80M", "VHT", "1T", "42", "32",
| "FCC", "5G", "80M", "VHT", "1T", "58", "28",
| "ETSI", "5G", "80M", "VHT", "1T", "58", "32",
| "MKK", "5G", "80M", "VHT", "1T", "58", "32",
| "FCC", "5G", "80M", "VHT", "1T", "106", "30",
| "ETSI", "5G", "80M", "VHT", "1T", "106", "32",
| "MKK", "5G", "80M", "VHT", "1T", "106", "32",
| "FCC", "5G", "80M", "VHT", "1T", "122", "34",
| "ETSI", "5G", "80M", "VHT", "1T", "122", "32",
| "MKK", "5G", "80M", "VHT", "1T", "122", "32",
| "FCC", "5G", "80M", "VHT", "1T", "155", "34",
| "ETSI", "5G", "80M", "VHT", "1T", "155", "32",
| "MKK", "5G", "80M", "VHT", "1T", "155", "63",
| "FCC", "5G", "80M", "VHT", "2T", "42", "28",
| "ETSI", "5G", "80M", "VHT", "2T", "42", "30",
| "MKK", "5G", "80M", "VHT", "2T", "42", "30",
| "FCC", "5G", "80M", "VHT", "2T", "58", "26",
| "ETSI", "5G", "80M", "VHT", "2T", "58", "30",
| "MKK", "5G", "80M", "VHT", "2T", "58", "30",
| "FCC", "5G", "80M", "VHT", "2T", "106", "28",
| "ETSI", "5G", "80M", "VHT", "2T", "106", "30",
| "MKK", "5G", "80M", "VHT", "2T", "106", "30",
| "FCC", "5G", "80M", "VHT", "2T", "122", "32",
| "ETSI", "5G", "80M", "VHT", "2T", "122", "30",
| "MKK", "5G", "80M", "VHT", "2T", "122", "30",
| "FCC", "5G", "80M", "VHT", "2T", "155", "34",
| "ETSI", "5G", "80M", "VHT", "2T", "155", "30",
| "MKK", "5G", "80M", "VHT", "2T", "155", "63"
| };
|
| void
| odm_read_and_config_mp_8703b_txpwr_lmt(struct dm_struct *dm)
| {
| u32 i = 0;
| #if (DM_ODM_SUPPORT_TYPE == ODM_IOT)
| u32 array_len = sizeof(array_mp_8703b_txpwr_lmt) / sizeof(u8);
| u8 *array = (u8 *)array_mp_8703b_txpwr_lmt;
| #else
| u32 array_len = sizeof(array_mp_8703b_txpwr_lmt) / sizeof(u8 *);
| u8 **array = (u8 **)array_mp_8703b_txpwr_lmt;
| #endif
|
| #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
| void *adapter = dm->adapter;
| HAL_DATA_TYPE *hal_data = GET_HAL_DATA(((PADAPTER)adapter));
|
| PlatformZeroMemory(hal_data->BufOfLinesPwrLmt, MAX_LINES_HWCONFIG_TXT * MAX_BYTES_LINE_HWCONFIG_TXT);
| hal_data->nLinesReadPwrLmt = array_len / 7;
| #endif
|
| PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
|
| for (i = 0; i < array_len; i += 7) {
| #if (DM_ODM_SUPPORT_TYPE == ODM_IOT)
| u8 regulation = array[i];
| u8 band = array[i + 1];
| u8 bandwidth = array[i + 2];
| u8 rate = array[i + 3];
| u8 rf_path = array[i + 4];
| u8 chnl = array[i + 5];
| u8 val = array[i + 6];
| #else
| u8 *regulation = array[i];
| u8 *band = array[i + 1];
| u8 *bandwidth = array[i + 2];
| u8 *rate = array[i + 3];
| u8 *rf_path = array[i + 4];
| u8 *chnl = array[i + 5];
| u8 *val = array[i + 6];
| #endif
|
| odm_config_bb_txpwr_lmt_8703b(dm, regulation, band, bandwidth, rate, rf_path, chnl, val);
| #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
| rsprintf((char *)hal_data->BufOfLinesPwrLmt[i / 7], 100, "\"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\",",
| regulation, band, bandwidth, rate, rf_path, chnl, val);
| #endif
| }
| }
|
| /******************************************************************************
| * txxtaltrack.TXT
| ******************************************************************************/
|
| s8 g_delta_swing_table_xtal_mp_n_txxtaltrack_8703b[] = {0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -3, -3, -3, -3, -3, -4, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1};
| s8 g_delta_swing_table_xtal_mp_p_txxtaltrack_8703b[] = {0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 0, -1, -1, -1, -2, -3, -7, -9, -10, -11, -14, -16, -18, -20, -22, -24, -26, -28, -30};
|
| void
| odm_read_and_config_mp_8703b_txxtaltrack(struct dm_struct *dm)
| {
| struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
|
| PHYDM_DBG(dm, ODM_COMP_INIT, "===> ODM_ReadAndConfig_MP_mp_8703b\n");
|
|
| odm_move_memory(dm, cali_info->delta_swing_table_xtal_p, g_delta_swing_table_xtal_mp_p_txxtaltrack_8703b, DELTA_SWINGIDX_SIZE);
| odm_move_memory(dm, cali_info->delta_swing_table_xtal_n, g_delta_swing_table_xtal_mp_n_txxtaltrack_8703b, DELTA_SWINGIDX_SIZE);
| }
|
| #endif /* end of HWIMG_SUPPORT*/
|
|