| 1 | /****************************************************************************** |
|---|
| 2 | * (c)2008-2009 Broadcom Corporation |
|---|
| 3 | * |
|---|
| 4 | * This program is the proprietary software of Broadcom Corporation and/or its licensors, |
|---|
| 5 | * and may only be used, duplicated, modified or distributed pursuant to the terms and |
|---|
| 6 | * conditions of a separate, written license agreement executed between you and Broadcom |
|---|
| 7 | * (an "Authorized License"). Except as set forth in an Authorized License, Broadcom grants |
|---|
| 8 | * no license (express or implied), right to use, or waiver of any kind with respect to the |
|---|
| 9 | * Software, and Broadcom expressly reserves all rights in and to the Software and all |
|---|
| 10 | * intellectual property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU |
|---|
| 11 | * HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY |
|---|
| 12 | * NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. |
|---|
| 13 | * |
|---|
| 14 | * Except as expressly set forth in the Authorized License, |
|---|
| 15 | * |
|---|
| 16 | * 1. This program, including its structure, sequence and organization, constitutes the valuable trade |
|---|
| 17 | * secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof, |
|---|
| 18 | * and to use this information only in connection with your use of Broadcom integrated circuit products. |
|---|
| 19 | * |
|---|
| 20 | * 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" |
|---|
| 21 | * AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR |
|---|
| 22 | * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO |
|---|
| 23 | * THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES |
|---|
| 24 | * OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, |
|---|
| 25 | * LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION |
|---|
| 26 | * OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF |
|---|
| 27 | * USE OR PERFORMANCE OF THE SOFTWARE. |
|---|
| 28 | * |
|---|
| 29 | * 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS |
|---|
| 30 | * LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR |
|---|
| 31 | * EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR |
|---|
| 32 | * USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF |
|---|
| 33 | * THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT |
|---|
| 34 | * ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE |
|---|
| 35 | * LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF |
|---|
| 36 | * ANY LIMITED REMEDY. |
|---|
| 37 | * |
|---|
| 38 | * $brcm_Workfile: $ |
|---|
| 39 | * $brcm_Revision: $ |
|---|
| 40 | * $brcm_Date: $ |
|---|
| 41 | * |
|---|
| 42 | * Module Description: |
|---|
| 43 | * |
|---|
| 44 | * Return the requency table to use for channel scanning. |
|---|
| 45 | * |
|---|
| 46 | * Revision History: |
|---|
| 47 | * |
|---|
| 48 | * Created: 09/28/2009 by Jeff Fisher |
|---|
| 49 | * |
|---|
| 50 | * $brcm_Log: $ |
|---|
| 51 | * |
|---|
| 52 | * |
|---|
| 53 | *****************************************************************************/ |
|---|
| 54 | |
|---|
| 55 | #include "bapp_freq_table.h" |
|---|
| 56 | |
|---|
| 57 | |
|---|
| 58 | /* frequencies for US Cable */ |
|---|
| 59 | const unsigned int s_ch_to_freq_cable[] = |
|---|
| 60 | { |
|---|
| 61 | #if 1 |
|---|
| 62 | 567000 |
|---|
| 63 | /* 561000, 357000, 381000, 387000, 603000, 633000, 711000, 723000 */ |
|---|
| 64 | #else |
|---|
| 65 | 57000, 63000, 69000, 79000, |
|---|
| 66 | 85000, 177000, 183000, 189000, |
|---|
| 67 | 195000, 201000, 207000, 213000, |
|---|
| 68 | 123000, 129000, 135000, 141000, |
|---|
| 69 | 147000, 153000, 159000, 165000, |
|---|
| 70 | |
|---|
| 71 | 171000, 219000, 225000, 231000, |
|---|
| 72 | 237000, 243000, 249000, 255000, |
|---|
| 73 | 261000, 267000, 273000, 279000, |
|---|
| 74 | 285000, 291000, 297000, 303000, |
|---|
| 75 | 309000, 315000, 321000, 327000, |
|---|
| 76 | |
|---|
| 77 | 333000, 339000, 345000, 351000, |
|---|
| 78 | 357000, 363000, 369000, 375000, |
|---|
| 79 | 381000, 387000, 393000, 399000, |
|---|
| 80 | 405000, 411000, 417000, 423000, |
|---|
| 81 | 429000, 435000, 441000, 447000, |
|---|
| 82 | |
|---|
| 83 | 453000, 459000, 465000, 471000, |
|---|
| 84 | 477000, 483000, 489000, 495000, |
|---|
| 85 | 501000, 507000, 513000, 519000, |
|---|
| 86 | 525000, 531000, 537000, 543000, |
|---|
| 87 | 547000, 555000, 561000, 567000, |
|---|
| 88 | |
|---|
| 89 | 573000, 579000, 585000, 591000, |
|---|
| 90 | 597000, 603000, 609000, 615000, |
|---|
| 91 | 621000, 627000, 633000, 639000, |
|---|
| 92 | 645000, 93000, 99000, 105000, |
|---|
| 93 | 111000, 117000, 651000, 657000, |
|---|
| 94 | |
|---|
| 95 | 663000, 669000, 675000, 681000, |
|---|
| 96 | 687000, 693000, 699000, 705000, |
|---|
| 97 | 711000, 717000, 723000, 729000, |
|---|
| 98 | 735000, 741000, 747000, 753000, |
|---|
| 99 | 759000, 765000, 771000, 777000, |
|---|
| 100 | |
|---|
| 101 | 783000, 789000, 795000, 801000, |
|---|
| 102 | 813000, 819000, 825000, 831000, |
|---|
| 103 | 837000, 843000, 849000, 855000, |
|---|
| 104 | 861000 |
|---|
| 105 | #endif |
|---|
| 106 | }; |
|---|
| 107 | const unsigned int s_ch_to_freq_cable_num = (sizeof(s_ch_to_freq_cable)/sizeof(s_ch_to_freq_cable[0])); |
|---|
| 108 | |
|---|
| 109 | /* frequencies from the channel number i.e. 2 - 69 in MHz*/ |
|---|
| 110 | const unsigned int s_ch_to_freq_atsc[68] = |
|---|
| 111 | { |
|---|
| 112 | 57000, 63000, 69000, 79000, /* 2 - 5 VHF-L 2 - 6 */ |
|---|
| 113 | 85000, 177000, 183000, 189000, /* 6 - 9 VHF-H 7 - 13*/ |
|---|
| 114 | 195000, 201000, 207000, 213000, /* 10 - 13 */ |
|---|
| 115 | 473000, 479000, 485000, 491000, /* 14 - 17000, 14 - Begin UHF */ |
|---|
| 116 | 497000, 503000, 509000, 515000, /* 18 - 21 */ |
|---|
| 117 | 521000, 527000, 533000, 539000, /* 22 - 25 */ |
|---|
| 118 | 545000, 551000, 557000, 563000, /* 26 - 29 */ |
|---|
| 119 | 569000, 575000, 581000, 587000, /* 30 to 33 */ |
|---|
| 120 | 593000, 599000, 605000, 611000, /* 34 to 37 */ |
|---|
| 121 | 617000, 623000, 629000, 635000, /* 38 to 41 */ |
|---|
| 122 | 641000, 647000, 653000, 659000, /* 42 to 45 */ |
|---|
| 123 | 665000, 671000, 677000, 683000, /* 46 to 49 */ |
|---|
| 124 | 689000, 695000, 701000, 707000, /* 50 to 53 */ |
|---|
| 125 | 713000, 719000, 725000, 731000, /* 54 to 57 */ |
|---|
| 126 | 737000, 743000, 749000, 755000, /* 58 to 61 */ |
|---|
| 127 | 761000, 767000, 773000, 779000, /* 62 to 65 */ |
|---|
| 128 | 785000, 791000, 797000, 803000, /* 66 to 69 */ |
|---|
| 129 | }; |
|---|
| 130 | const unsigned int s_ch_to_freq_atsc_num = (sizeof(s_ch_to_freq_atsc)/sizeof(s_ch_to_freq_atsc[0])); |
|---|
| 131 | |
|---|
| 132 | const unsigned int s_select_freq[] = |
|---|
| 133 | { |
|---|
| 134 | /* Select List */ |
|---|
| 135 | 567000, 573000, 579000, 585000, |
|---|
| 136 | 591000, 651000, 657000, 489000, |
|---|
| 137 | 495000, 807000, 565750, 571750, |
|---|
| 138 | /* EIA */ |
|---|
| 139 | 57000, 63000, 69000, 85000, |
|---|
| 140 | 177000, 183000, 189000, 195000, |
|---|
| 141 | 201000, 207000, 213000, 123000, |
|---|
| 142 | 129000, 135000, 141000, 147000, |
|---|
| 143 | 153000, 159000, 165000, 171000, |
|---|
| 144 | 219000, 225000, 231000, 237000, |
|---|
| 145 | 243000, 249000, 255000, 261000, |
|---|
| 146 | 267000, 273000, 279000, 285000, |
|---|
| 147 | 291000, 297000, 303000, 309000, |
|---|
| 148 | 315000, 321000, 327000, 333000, |
|---|
| 149 | 339000, 345000, 351000, 357000, |
|---|
| 150 | 363000, 375000, 381000, 387000, |
|---|
| 151 | 393000, 399000, 405000, 411000, |
|---|
| 152 | 417000, 423000, 429000, 435000, |
|---|
| 153 | 441000, 447000, 453000, 459000, |
|---|
| 154 | 465000, 471000, 477000, 483000, |
|---|
| 155 | 489000, 495000, 501000, 507000, |
|---|
| 156 | 513000, 519000, 525000, 531000, |
|---|
| 157 | 537000, 543000, 549000, 555000, |
|---|
| 158 | 561000, 567000, 573000, 579000, |
|---|
| 159 | 585000, 591000, 597000, 603000, |
|---|
| 160 | 609000, 615000, 621000, 627000, |
|---|
| 161 | 633000, 639000, 645000, 93000, |
|---|
| 162 | 99000, 105000, 111000, 117000, |
|---|
| 163 | 651000, 657000, 663000, 669000, |
|---|
| 164 | 675000, 681000, 687000, 693000, |
|---|
| 165 | 699000, 705000, 711000, 717000, |
|---|
| 166 | 723000, 729000, 735000, 741000, |
|---|
| 167 | 747000, 753000, 759000, 765000, |
|---|
| 168 | 771000, 777000, 783000, 789000, |
|---|
| 169 | 795000, 801000, 807000, 813000, |
|---|
| 170 | 837000, 843000, 849000, 855000, |
|---|
| 171 | 861000, |
|---|
| 172 | /* HRC */ |
|---|
| 173 | 58750, 64750, 70750, 86750, |
|---|
| 174 | 178750, 184750, 190750, 196750, |
|---|
| 175 | 202750, 208750, 214750, 124750, |
|---|
| 176 | 130750, 36750, 142750, 148750, |
|---|
| 177 | 154750, 160750, 166750, 172750, |
|---|
| 178 | 220750, 226750, 232750, 238750, |
|---|
| 179 | 244750, 250750, 256750, 262750, |
|---|
| 180 | 268750, 274750, 280750, 286750, |
|---|
| 181 | 292750, 298750, 304750, 310750, |
|---|
| 182 | 316750, 322750, 328750, 334750, |
|---|
| 183 | 340750, 346750, 352750, 358750, |
|---|
| 184 | 364750, 370750, 376750, 382750, |
|---|
| 185 | 388750, 394750, 400750, 406750, |
|---|
| 186 | 412750, 418750, 424750, 430750, |
|---|
| 187 | 436750, 442750, 448750, 454750, |
|---|
| 188 | 460750, 466750, 472750, 478750, |
|---|
| 189 | 484750, 490750, 496750, 502750, |
|---|
| 190 | 508750, 514750, 520750, 526750, |
|---|
| 191 | 532750, 538750, 544750, 550750, |
|---|
| 192 | 556750, 562750, 568750, 574750, |
|---|
| 193 | 580750, 586750, 592750, 598750, |
|---|
| 194 | 604750, 610750, 616750, 622750, |
|---|
| 195 | 628750, 634750, 640750, 646750, |
|---|
| 196 | 94750, 100750, 106750, 112750, |
|---|
| 197 | 118750, 652750, 658750, 664750, |
|---|
| 198 | 670750, 676750, 682750, 688750, |
|---|
| 199 | 694750, 700750, 706750, 712750, |
|---|
| 200 | 718750, 724750, 730750, 736750, |
|---|
| 201 | 742750, 748750, 754750, 760750, |
|---|
| 202 | 766750, 772750, 778750, 784750, |
|---|
| 203 | 790750, 796750, 802750, 808750, |
|---|
| 204 | 814750, 820750, 826750, 832750, |
|---|
| 205 | 838750, 844750, 850750, 856750, |
|---|
| 206 | 862750 |
|---|
| 207 | }; |
|---|
| 208 | const unsigned int s_select_freq_num = (sizeof(s_select_freq)/sizeof(s_select_freq[0])); |
|---|
| 209 | |
|---|
| 210 | /** |
|---|
| 211 | Summary: |
|---|
| 212 | Return the frequency table and number of entries. |
|---|
| 213 | **/ |
|---|
| 214 | |
|---|
| 215 | bapp_result_t bapp_freq_table_get(bapp_freq_table_type_t type, |
|---|
| 216 | const unsigned int *freq_table[], |
|---|
| 217 | unsigned int *num_freq) |
|---|
| 218 | { |
|---|
| 219 | *num_freq = 0; |
|---|
| 220 | *freq_table = NULL; |
|---|
| 221 | switch(type) |
|---|
| 222 | { |
|---|
| 223 | case eFREQ_TABLE_NORTH_AMERICA_QAM: |
|---|
| 224 | *freq_table = s_ch_to_freq_cable; |
|---|
| 225 | *num_freq = s_ch_to_freq_cable_num; |
|---|
| 226 | break; |
|---|
| 227 | case eFREQ_TABLE_NTIA_VSB: |
|---|
| 228 | *freq_table = s_ch_to_freq_atsc; |
|---|
| 229 | *num_freq = s_ch_to_freq_atsc_num; |
|---|
| 230 | break; |
|---|
| 231 | case eFREQ_TABLE_DTA_SELECT: |
|---|
| 232 | *freq_table = s_select_freq; |
|---|
| 233 | *num_freq = s_select_freq_num; |
|---|
| 234 | break; |
|---|
| 235 | default: |
|---|
| 236 | break; |
|---|
| 237 | } |
|---|
| 238 | return (*num_freq > 0) ? eBAPP_RESULT_OK : eBAPP_RESULT_FAILURE; |
|---|
| 239 | } |
|---|
| 240 | |
|---|