linux/drivers/staging/rtl8188eu/core/rtw_rf.c
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of version 2 of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but WITHOUT
  10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12 * more details.
  13 *
  14 ******************************************************************************/
  15#define _RTW_RF_C_
  16
  17#include <osdep_service.h>
  18#include <drv_types.h>
  19#include <recv_osdep.h>
  20#include <xmit_osdep.h>
  21
  22struct ch_freq {
  23        u32 channel;
  24        u32 frequency;
  25};
  26
  27static struct ch_freq ch_freq_map[] = {
  28        {1, 2412}, {2, 2417}, {3, 2422}, {4, 2427}, {5, 2432},
  29        {6, 2437}, {7, 2442}, {8, 2447}, {9, 2452}, {10, 2457},
  30        {11, 2462}, {12, 2467}, {13, 2472}, {14, 2484},
  31        /*  UNII */
  32        {36, 5180}, {40, 5200}, {44, 5220}, {48, 5240}, {52, 5260},
  33        {56, 5280}, {60, 5300}, {64, 5320}, {149, 5745}, {153, 5765},
  34        {157, 5785}, {161, 5805}, {165, 5825}, {167, 5835}, {169, 5845},
  35        {171, 5855}, {173, 5865},
  36        /* HiperLAN2 */
  37        {100, 5500}, {104, 5520}, {108, 5540}, {112, 5560}, {116, 5580},
  38        {120, 5600}, {124, 5620}, {128, 5640}, {132, 5660}, {136, 5680},
  39        {140, 5700},
  40        /* Japan MMAC */
  41        {34, 5170}, {38, 5190}, {42, 5210}, {46, 5230},
  42        /*  Japan */
  43        {184, 4920}, {188, 4940}, {192, 4960}, {196, 4980},
  44        {208, 5040},/* Japan, means J08 */
  45        {212, 5060},/* Japan, means J12 */
  46        {216, 5080},/* Japan, means J16 */
  47};
  48
  49static int ch_freq_map_num = ARRAY_SIZE(ch_freq_map);
  50
  51u32 rtw_ch2freq(u32 channel)
  52{
  53        u8      i;
  54        u32     freq = 0;
  55
  56        for (i = 0; i < ch_freq_map_num; i++) {
  57                if (channel == ch_freq_map[i].channel) {
  58                        freq = ch_freq_map[i].frequency;
  59                                break;
  60                }
  61        }
  62        if (i == ch_freq_map_num)
  63                freq = 2412;
  64
  65        return freq;
  66}
  67