/****************************************************************************** * (c)2008-2009 Broadcom Corporation * * This program is the proprietary software of Broadcom Corporation and/or its licensors, * and may only be used, duplicated, modified or distributed pursuant to the terms and * conditions of a separate, written license agreement executed between you and Broadcom * (an "Authorized License"). Except as set forth in an Authorized License, Broadcom grants * no license (express or implied), right to use, or waiver of any kind with respect to the * Software, and Broadcom expressly reserves all rights in and to the Software and all * intellectual property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU * HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY * NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. * * Except as expressly set forth in the Authorized License, * * 1. This program, including its structure, sequence and organization, constitutes the valuable trade * secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof, * and to use this information only in connection with your use of Broadcom integrated circuit products. * * 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" * AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO * THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES * OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, * LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION * OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF * USE OR PERFORMANCE OF THE SOFTWARE. * * 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS * LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR * EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR * USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT * ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE * LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF * ANY LIMITED REMEDY. * * $brcm_Workfile: $ * $brcm_Revision: $ * $brcm_Date: $ * * Module Description: * * Return the requency table to use for channel scanning. * * Revision History: * * Created: 09/28/2009 by Jeff Fisher * * $brcm_Log: $ * * *****************************************************************************/ #include "bapp_freq_table.h" /* frequencies for US Cable */ const unsigned int s_ch_to_freq_cable[] = { #if 1 567000 /* 561000, 357000, 381000, 387000, 603000, 633000, 711000, 723000 */ #else 57000, 63000, 69000, 79000, 85000, 177000, 183000, 189000, 195000, 201000, 207000, 213000, 123000, 129000, 135000, 141000, 147000, 153000, 159000, 165000, 171000, 219000, 225000, 231000, 237000, 243000, 249000, 255000, 261000, 267000, 273000, 279000, 285000, 291000, 297000, 303000, 309000, 315000, 321000, 327000, 333000, 339000, 345000, 351000, 357000, 363000, 369000, 375000, 381000, 387000, 393000, 399000, 405000, 411000, 417000, 423000, 429000, 435000, 441000, 447000, 453000, 459000, 465000, 471000, 477000, 483000, 489000, 495000, 501000, 507000, 513000, 519000, 525000, 531000, 537000, 543000, 547000, 555000, 561000, 567000, 573000, 579000, 585000, 591000, 597000, 603000, 609000, 615000, 621000, 627000, 633000, 639000, 645000, 93000, 99000, 105000, 111000, 117000, 651000, 657000, 663000, 669000, 675000, 681000, 687000, 693000, 699000, 705000, 711000, 717000, 723000, 729000, 735000, 741000, 747000, 753000, 759000, 765000, 771000, 777000, 783000, 789000, 795000, 801000, 813000, 819000, 825000, 831000, 837000, 843000, 849000, 855000, 861000 #endif }; const unsigned int s_ch_to_freq_cable_num = (sizeof(s_ch_to_freq_cable)/sizeof(s_ch_to_freq_cable[0])); /* frequencies from the channel number i.e. 2 - 69 in MHz*/ const unsigned int s_ch_to_freq_atsc[68] = { 57000, 63000, 69000, 79000, /* 2 - 5 VHF-L 2 - 6 */ 85000, 177000, 183000, 189000, /* 6 - 9 VHF-H 7 - 13*/ 195000, 201000, 207000, 213000, /* 10 - 13 */ 473000, 479000, 485000, 491000, /* 14 - 17000, 14 - Begin UHF */ 497000, 503000, 509000, 515000, /* 18 - 21 */ 521000, 527000, 533000, 539000, /* 22 - 25 */ 545000, 551000, 557000, 563000, /* 26 - 29 */ 569000, 575000, 581000, 587000, /* 30 to 33 */ 593000, 599000, 605000, 611000, /* 34 to 37 */ 617000, 623000, 629000, 635000, /* 38 to 41 */ 641000, 647000, 653000, 659000, /* 42 to 45 */ 665000, 671000, 677000, 683000, /* 46 to 49 */ 689000, 695000, 701000, 707000, /* 50 to 53 */ 713000, 719000, 725000, 731000, /* 54 to 57 */ 737000, 743000, 749000, 755000, /* 58 to 61 */ 761000, 767000, 773000, 779000, /* 62 to 65 */ 785000, 791000, 797000, 803000, /* 66 to 69 */ }; const unsigned int s_ch_to_freq_atsc_num = (sizeof(s_ch_to_freq_atsc)/sizeof(s_ch_to_freq_atsc[0])); const unsigned int s_select_freq[] = { /* Select List */ 567000, 573000, 579000, 585000, 591000, 651000, 657000, 489000, 495000, 807000, 565750, 571750, /* EIA */ 57000, 63000, 69000, 85000, 177000, 183000, 189000, 195000, 201000, 207000, 213000, 123000, 129000, 135000, 141000, 147000, 153000, 159000, 165000, 171000, 219000, 225000, 231000, 237000, 243000, 249000, 255000, 261000, 267000, 273000, 279000, 285000, 291000, 297000, 303000, 309000, 315000, 321000, 327000, 333000, 339000, 345000, 351000, 357000, 363000, 375000, 381000, 387000, 393000, 399000, 405000, 411000, 417000, 423000, 429000, 435000, 441000, 447000, 453000, 459000, 465000, 471000, 477000, 483000, 489000, 495000, 501000, 507000, 513000, 519000, 525000, 531000, 537000, 543000, 549000, 555000, 561000, 567000, 573000, 579000, 585000, 591000, 597000, 603000, 609000, 615000, 621000, 627000, 633000, 639000, 645000, 93000, 99000, 105000, 111000, 117000, 651000, 657000, 663000, 669000, 675000, 681000, 687000, 693000, 699000, 705000, 711000, 717000, 723000, 729000, 735000, 741000, 747000, 753000, 759000, 765000, 771000, 777000, 783000, 789000, 795000, 801000, 807000, 813000, 837000, 843000, 849000, 855000, 861000, /* HRC */ 58750, 64750, 70750, 86750, 178750, 184750, 190750, 196750, 202750, 208750, 214750, 124750, 130750, 36750, 142750, 148750, 154750, 160750, 166750, 172750, 220750, 226750, 232750, 238750, 244750, 250750, 256750, 262750, 268750, 274750, 280750, 286750, 292750, 298750, 304750, 310750, 316750, 322750, 328750, 334750, 340750, 346750, 352750, 358750, 364750, 370750, 376750, 382750, 388750, 394750, 400750, 406750, 412750, 418750, 424750, 430750, 436750, 442750, 448750, 454750, 460750, 466750, 472750, 478750, 484750, 490750, 496750, 502750, 508750, 514750, 520750, 526750, 532750, 538750, 544750, 550750, 556750, 562750, 568750, 574750, 580750, 586750, 592750, 598750, 604750, 610750, 616750, 622750, 628750, 634750, 640750, 646750, 94750, 100750, 106750, 112750, 118750, 652750, 658750, 664750, 670750, 676750, 682750, 688750, 694750, 700750, 706750, 712750, 718750, 724750, 730750, 736750, 742750, 748750, 754750, 760750, 766750, 772750, 778750, 784750, 790750, 796750, 802750, 808750, 814750, 820750, 826750, 832750, 838750, 844750, 850750, 856750, 862750 }; const unsigned int s_select_freq_num = (sizeof(s_select_freq)/sizeof(s_select_freq[0])); /** Summary: Return the frequency table and number of entries. **/ bapp_result_t bapp_freq_table_get(bapp_freq_table_type_t type, const unsigned int *freq_table[], unsigned int *num_freq) { *num_freq = 0; *freq_table = NULL; switch(type) { case eFREQ_TABLE_NORTH_AMERICA_QAM: *freq_table = s_ch_to_freq_cable; *num_freq = s_ch_to_freq_cable_num; break; case eFREQ_TABLE_NTIA_VSB: *freq_table = s_ch_to_freq_atsc; *num_freq = s_ch_to_freq_atsc_num; break; case eFREQ_TABLE_DTA_SELECT: *freq_table = s_select_freq; *num_freq = s_select_freq_num; break; default: break; } return (*num_freq > 0) ? eBAPP_RESULT_OK : eBAPP_RESULT_FAILURE; }