]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/staging/rtl8188eu/core/rtw_rf.c
Merge tag 'driver-core-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / drivers / staging / rtl8188eu / core / rtw_rf.c
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
22 struct ch_freq {
23         u32 channel;
24         u32 frequency;
25 };
26
27 static 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
49 static int ch_freq_map_num = ARRAY_SIZE(ch_freq_map);
50
51 u32 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 }