PCIe: fix double initialization bug
[linux-2.6] / drivers / net / wireless / ath5k / regdom.h
1 /*
2  * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org>
3  *
4  * Permission to use, copy, modify, and distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16
17 #ifndef _IEEE80211_REGDOMAIN_H_
18 #define _IEEE80211_REGDOMAIN_H_
19
20 #include <linux/types.h>
21
22 /* Default regulation domain if stored value EEPROM value is invalid */
23 #define AR5K_TUNE_REGDOMAIN     DMN_FCC2_FCCA   /* Canada */
24 #define AR5K_TUNE_CTRY          CTRY_DEFAULT
25
26
27 enum ath5k_regdom {
28         DMN_DEFAULT             = 0x00,
29         DMN_NULL_WORLD          = 0x03,
30         DMN_NULL_ETSIB          = 0x07,
31         DMN_NULL_ETSIC          = 0x08,
32         DMN_FCC1_FCCA           = 0x10,
33         DMN_FCC1_WORLD          = 0x11,
34         DMN_FCC2_FCCA           = 0x20,
35         DMN_FCC2_WORLD          = 0x21,
36         DMN_FCC2_ETSIC          = 0x22,
37         DMN_FRANCE_NULL         = 0x31,
38         DMN_FCC3_FCCA           = 0x3A,
39         DMN_ETSI1_WORLD         = 0x37,
40         DMN_ETSI3_ETSIA         = 0x32,
41         DMN_ETSI2_WORLD         = 0x35,
42         DMN_ETSI3_WORLD         = 0x36,
43         DMN_ETSI4_WORLD         = 0x30,
44         DMN_ETSI4_ETSIC         = 0x38,
45         DMN_ETSI5_WORLD         = 0x39,
46         DMN_ETSI6_WORLD         = 0x34,
47         DMN_ETSI_NULL           = 0x33,
48         DMN_MKK1_MKKA           = 0x40,
49         DMN_MKK1_MKKB           = 0x41,
50         DMN_APL4_WORLD          = 0x42,
51         DMN_MKK2_MKKA           = 0x43,
52         DMN_APL_NULL            = 0x44,
53         DMN_APL2_WORLD          = 0x45,
54         DMN_APL2_APLC           = 0x46,
55         DMN_APL3_WORLD          = 0x47,
56         DMN_MKK1_FCCA           = 0x48,
57         DMN_APL2_APLD           = 0x49,
58         DMN_MKK1_MKKA1          = 0x4A,
59         DMN_MKK1_MKKA2          = 0x4B,
60         DMN_APL1_WORLD          = 0x52,
61         DMN_APL1_FCCA           = 0x53,
62         DMN_APL1_APLA           = 0x54,
63         DMN_APL1_ETSIC          = 0x55,
64         DMN_APL2_ETSIC          = 0x56,
65         DMN_APL5_WORLD          = 0x58,
66         DMN_WOR0_WORLD          = 0x60,
67         DMN_WOR1_WORLD          = 0x61,
68         DMN_WOR2_WORLD          = 0x62,
69         DMN_WOR3_WORLD          = 0x63,
70         DMN_WOR4_WORLD          = 0x64,
71         DMN_WOR5_ETSIC          = 0x65,
72         DMN_WOR01_WORLD         = 0x66,
73         DMN_WOR02_WORLD         = 0x67,
74         DMN_EU1_WORLD           = 0x68,
75         DMN_WOR9_WORLD          = 0x69,
76         DMN_WORA_WORLD          = 0x6A,
77
78         DMN_APL1                = 0xf0000001,
79         DMN_APL2                = 0xf0000002,
80         DMN_APL3                = 0xf0000004,
81         DMN_APL4                = 0xf0000008,
82         DMN_APL5                = 0xf0000010,
83         DMN_ETSI1               = 0xf0000020,
84         DMN_ETSI2               = 0xf0000040,
85         DMN_ETSI3               = 0xf0000080,
86         DMN_ETSI4               = 0xf0000100,
87         DMN_ETSI5               = 0xf0000200,
88         DMN_ETSI6               = 0xf0000400,
89         DMN_ETSIA               = 0xf0000800,
90         DMN_ETSIB               = 0xf0001000,
91         DMN_ETSIC               = 0xf0002000,
92         DMN_FCC1                = 0xf0004000,
93         DMN_FCC2                = 0xf0008000,
94         DMN_FCC3                = 0xf0010000,
95         DMN_FCCA                = 0xf0020000,
96         DMN_APLD                = 0xf0040000,
97         DMN_MKK1                = 0xf0080000,
98         DMN_MKK2                = 0xf0100000,
99         DMN_MKKA                = 0xf0200000,
100         DMN_NULL                = 0xf0400000,
101         DMN_WORLD               = 0xf0800000,
102         DMN_DEBUG               = 0xf1000000    /* used for debugging */
103 };
104
105 #define IEEE80211_DMN(_d)       ((_d) & ~0xf0000000)
106
107 enum ath5k_countrycode {
108         CTRY_DEFAULT            = 0,   /* Default domain (NA) */
109         CTRY_ALBANIA            = 8,   /* Albania */
110         CTRY_ALGERIA            = 12,  /* Algeria */
111         CTRY_ARGENTINA          = 32,  /* Argentina */
112         CTRY_ARMENIA            = 51,  /* Armenia */
113         CTRY_AUSTRALIA          = 36,  /* Australia */
114         CTRY_AUSTRIA            = 40,  /* Austria */
115         CTRY_AZERBAIJAN         = 31,  /* Azerbaijan */
116         CTRY_BAHRAIN            = 48,  /* Bahrain */
117         CTRY_BELARUS            = 112, /* Belarus */
118         CTRY_BELGIUM            = 56,  /* Belgium */
119         CTRY_BELIZE             = 84,  /* Belize */
120         CTRY_BOLIVIA            = 68,  /* Bolivia */
121         CTRY_BRAZIL             = 76,  /* Brazil */
122         CTRY_BRUNEI_DARUSSALAM  = 96,  /* Brunei Darussalam */
123         CTRY_BULGARIA           = 100, /* Bulgaria */
124         CTRY_CANADA             = 124, /* Canada */
125         CTRY_CHILE              = 152, /* Chile */
126         CTRY_CHINA              = 156, /* People's Republic of China */
127         CTRY_COLOMBIA           = 170, /* Colombia */
128         CTRY_COSTA_RICA         = 188, /* Costa Rica */
129         CTRY_CROATIA            = 191, /* Croatia */
130         CTRY_CYPRUS             = 196, /* Cyprus */
131         CTRY_CZECH              = 203, /* Czech Republic */
132         CTRY_DENMARK            = 208, /* Denmark */
133         CTRY_DOMINICAN_REPUBLIC = 214, /* Dominican Republic */
134         CTRY_ECUADOR            = 218, /* Ecuador */
135         CTRY_EGYPT              = 818, /* Egypt */
136         CTRY_EL_SALVADOR        = 222, /* El Salvador */
137         CTRY_ESTONIA            = 233, /* Estonia */
138         CTRY_FAEROE_ISLANDS     = 234, /* Faeroe Islands */
139         CTRY_FINLAND            = 246, /* Finland */
140         CTRY_FRANCE             = 250, /* France */
141         CTRY_FRANCE2            = 255, /* France2 */
142         CTRY_GEORGIA            = 268, /* Georgia */
143         CTRY_GERMANY            = 276, /* Germany */
144         CTRY_GREECE             = 300, /* Greece */
145         CTRY_GUATEMALA          = 320, /* Guatemala */
146         CTRY_HONDURAS           = 340, /* Honduras */
147         CTRY_HONG_KONG          = 344, /* Hong Kong S.A.R., P.R.C. */
148         CTRY_HUNGARY            = 348, /* Hungary */
149         CTRY_ICELAND            = 352, /* Iceland */
150         CTRY_INDIA              = 356, /* India */
151         CTRY_INDONESIA          = 360, /* Indonesia */
152         CTRY_IRAN               = 364, /* Iran */
153         CTRY_IRAQ               = 368, /* Iraq */
154         CTRY_IRELAND            = 372, /* Ireland */
155         CTRY_ISRAEL             = 376, /* Israel */
156         CTRY_ITALY              = 380, /* Italy */
157         CTRY_JAMAICA            = 388, /* Jamaica */
158         CTRY_JAPAN              = 392, /* Japan */
159         CTRY_JAPAN1             = 393, /* Japan (JP1) */
160         CTRY_JAPAN2             = 394, /* Japan (JP0) */
161         CTRY_JAPAN3             = 395, /* Japan (JP1-1) */
162         CTRY_JAPAN4             = 396, /* Japan (JE1) */
163         CTRY_JAPAN5             = 397, /* Japan (JE2) */
164         CTRY_JORDAN             = 400, /* Jordan */
165         CTRY_KAZAKHSTAN         = 398, /* Kazakhstan */
166         CTRY_KENYA              = 404, /* Kenya */
167         CTRY_KOREA_NORTH        = 408, /* North Korea */
168         CTRY_KOREA_ROC          = 410, /* South Korea */
169         CTRY_KOREA_ROC2         = 411, /* South Korea */
170         CTRY_KUWAIT             = 414, /* Kuwait */
171         CTRY_LATVIA             = 428, /* Latvia */
172         CTRY_LEBANON            = 422, /* Lebanon */
173         CTRY_LIBYA              = 434, /* Libya */
174         CTRY_LIECHTENSTEIN      = 438, /* Liechtenstein */
175         CTRY_LITHUANIA          = 440, /* Lithuania */
176         CTRY_LUXEMBOURG         = 442, /* Luxembourg */
177         CTRY_MACAU              = 446, /* Macau */
178         CTRY_MACEDONIA          = 807, /* Republic of Macedonia */
179         CTRY_MALAYSIA           = 458, /* Malaysia */
180         CTRY_MEXICO             = 484, /* Mexico */
181         CTRY_MONACO             = 492, /* Principality of Monaco */
182         CTRY_MOROCCO            = 504, /* Morocco */
183         CTRY_NETHERLANDS        = 528, /* Netherlands */
184         CTRY_NEW_ZEALAND        = 554, /* New Zealand */
185         CTRY_NICARAGUA          = 558, /* Nicaragua */
186         CTRY_NORWAY             = 578, /* Norway */
187         CTRY_OMAN               = 512, /* Oman */
188         CTRY_PAKISTAN           = 586, /* Islamic Republic of Pakistan */
189         CTRY_PANAMA             = 591, /* Panama */
190         CTRY_PARAGUAY           = 600, /* Paraguay */
191         CTRY_PERU               = 604, /* Peru */
192         CTRY_PHILIPPINES        = 608, /* Republic of the Philippines */
193         CTRY_POLAND             = 616, /* Poland */
194         CTRY_PORTUGAL           = 620, /* Portugal */
195         CTRY_PUERTO_RICO        = 630, /* Puerto Rico */
196         CTRY_QATAR              = 634, /* Qatar */
197         CTRY_ROMANIA            = 642, /* Romania */
198         CTRY_RUSSIA             = 643, /* Russia */
199         CTRY_SAUDI_ARABIA       = 682, /* Saudi Arabia */
200         CTRY_SINGAPORE          = 702, /* Singapore */
201         CTRY_SLOVAKIA           = 703, /* Slovak Republic */
202         CTRY_SLOVENIA           = 705, /* Slovenia */
203         CTRY_SOUTH_AFRICA       = 710, /* South Africa */
204         CTRY_SPAIN              = 724, /* Spain */
205         CTRY_SRI_LANKA          = 728, /* Sri Lanka */
206         CTRY_SWEDEN             = 752, /* Sweden */
207         CTRY_SWITZERLAND        = 756, /* Switzerland */
208         CTRY_SYRIA              = 760, /* Syria */
209         CTRY_TAIWAN             = 158, /* Taiwan */
210         CTRY_THAILAND           = 764, /* Thailand */
211         CTRY_TRINIDAD_Y_TOBAGO  = 780, /* Trinidad y Tobago */
212         CTRY_TUNISIA            = 788, /* Tunisia */
213         CTRY_TURKEY             = 792, /* Turkey */
214         CTRY_UAE                = 784, /* U.A.E. */
215         CTRY_UKRAINE            = 804, /* Ukraine */
216         CTRY_UNITED_KINGDOM     = 826, /* United Kingdom */
217         CTRY_UNITED_STATES      = 840, /* United States */
218         CTRY_URUGUAY            = 858, /* Uruguay */
219         CTRY_UZBEKISTAN         = 860, /* Uzbekistan */
220         CTRY_VENEZUELA          = 862, /* Venezuela */
221         CTRY_VIET_NAM           = 704, /* Viet Nam */
222         CTRY_YEMEN              = 887, /* Yemen */
223         CTRY_ZIMBABWE           = 716, /* Zimbabwe */
224 };
225
226 #define IEEE80211_CHANNELS_2GHZ_MIN     2412    /* 2GHz channel 1 */
227 #define IEEE80211_CHANNELS_2GHZ_MAX     2732    /* 2GHz channel 26 */
228 #define IEEE80211_CHANNELS_5GHZ_MIN     5005    /* 5GHz channel 1 */
229 #define IEEE80211_CHANNELS_5GHZ_MAX     6100    /* 5GHz channel 220 */
230
231 struct ath5k_regchannel {
232         u16 chan;
233         enum ath5k_regdom domain;
234         u32 mode;
235 };
236
237 #define IEEE80211_CHANNELS_2GHZ {                                       \
238 /*2412*/ {   1, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
239 /*2417*/ {   2, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
240 /*2422*/ {   3, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
241 /*2427*/ {   4, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
242 /*2432*/ {   5, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
243 /*2437*/ {   6, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
244 /*2442*/ {   7, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
245 /*2447*/ {   8, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
246 /*2452*/ {   9, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
247 /*2457*/ {  10, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
248 /*2462*/ {  11, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
249 /*2467*/ {  12, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
250 /*2472*/ {  13, DMN_APLD, CHANNEL_CCK|CHANNEL_OFDM },                   \
251                                                                         \
252 /*2432*/ {   5, DMN_ETSIB, CHANNEL_CCK|CHANNEL_OFDM },                  \
253 /*2437*/ {   6, DMN_ETSIB, CHANNEL_CCK|CHANNEL_OFDM|CHANNEL_TURBO },    \
254 /*2442*/ {   7, DMN_ETSIB, CHANNEL_CCK|CHANNEL_OFDM },                  \
255                                                                         \
256 /*2412*/ {   1, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
257 /*2417*/ {   2, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
258 /*2422*/ {   3, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
259 /*2427*/ {   4, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
260 /*2432*/ {   5, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
261 /*2437*/ {   6, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM|CHANNEL_TURBO },    \
262 /*2442*/ {   7, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
263 /*2447*/ {   8, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
264 /*2452*/ {   9, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
265 /*2457*/ {  10, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
266 /*2462*/ {  11, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
267 /*2467*/ {  12, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
268 /*2472*/ {  13, DMN_ETSIC, CHANNEL_CCK|CHANNEL_OFDM },                  \
269                                                                         \
270 /*2412*/ {   1, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
271 /*2417*/ {   2, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
272 /*2422*/ {   3, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
273 /*2427*/ {   4, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
274 /*2432*/ {   5, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
275 /*2437*/ {   6, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM|CHANNEL_TURBO },     \
276 /*2442*/ {   7, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
277 /*2447*/ {   8, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
278 /*2452*/ {   9, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
279 /*2457*/ {  10, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
280 /*2462*/ {  11, DMN_FCCA, CHANNEL_CCK|CHANNEL_OFDM },                   \
281                                                                         \
282 /*2412*/ {   1, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
283 /*2417*/ {   2, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
284 /*2422*/ {   3, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
285 /*2427*/ {   4, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
286 /*2432*/ {   5, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
287 /*2437*/ {   6, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
288 /*2442*/ {   7, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
289 /*2447*/ {   8, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
290 /*2452*/ {   9, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
291 /*2457*/ {  10, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
292 /*2462*/ {  11, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
293 /*2467*/ {  12, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
294 /*2472*/ {  13, DMN_MKKA, CHANNEL_CCK|CHANNEL_OFDM },                   \
295 /*2484*/ {  14, DMN_MKKA, CHANNEL_CCK },                                \
296                                                                         \
297 /*2412*/ {   1, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
298 /*2417*/ {   2, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
299 /*2422*/ {   3, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
300 /*2427*/ {   4, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
301 /*2432*/ {   5, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
302 /*2437*/ {   6, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM|CHANNEL_TURBO },    \
303 /*2442*/ {   7, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
304 /*2447*/ {   8, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
305 /*2452*/ {   9, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
306 /*2457*/ {  10, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
307 /*2462*/ {  11, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
308 /*2467*/ {  12, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
309 /*2472*/ {  13, DMN_WORLD, CHANNEL_CCK|CHANNEL_OFDM },                  \
310 }
311
312 #define IEEE80211_CHANNELS_5GHZ {                       \
313 /*5745*/ { 149, DMN_APL1, CHANNEL_OFDM },               \
314 /*5765*/ { 153, DMN_APL1, CHANNEL_OFDM },               \
315 /*5785*/ { 157, DMN_APL1, CHANNEL_OFDM },               \
316 /*5805*/ { 161, DMN_APL1, CHANNEL_OFDM },               \
317 /*5825*/ { 165, DMN_APL1, CHANNEL_OFDM },               \
318                                                         \
319 /*5745*/ { 149, DMN_APL2, CHANNEL_OFDM },               \
320 /*5765*/ { 153, DMN_APL2, CHANNEL_OFDM },               \
321 /*5785*/ { 157, DMN_APL2, CHANNEL_OFDM },               \
322 /*5805*/ { 161, DMN_APL2, CHANNEL_OFDM },               \
323                                                         \
324 /*5280*/ {  56, DMN_APL3, CHANNEL_OFDM },               \
325 /*5300*/ {  60, DMN_APL3, CHANNEL_OFDM },               \
326 /*5320*/ {  64, DMN_APL3, CHANNEL_OFDM },               \
327 /*5745*/ { 149, DMN_APL3, CHANNEL_OFDM },               \
328 /*5765*/ { 153, DMN_APL3, CHANNEL_OFDM },               \
329 /*5785*/ { 157, DMN_APL3, CHANNEL_OFDM },               \
330 /*5805*/ { 161, DMN_APL3, CHANNEL_OFDM },               \
331                                                         \
332 /*5180*/ {  36, DMN_APL4, CHANNEL_OFDM },               \
333 /*5200*/ {  40, DMN_APL4, CHANNEL_OFDM },               \
334 /*5220*/ {  44, DMN_APL4, CHANNEL_OFDM },               \
335 /*5240*/ {  48, DMN_APL4, CHANNEL_OFDM },               \
336 /*5745*/ { 149, DMN_APL4, CHANNEL_OFDM },               \
337 /*5765*/ { 153, DMN_APL4, CHANNEL_OFDM },               \
338 /*5785*/ { 157, DMN_APL4, CHANNEL_OFDM },               \
339 /*5805*/ { 161, DMN_APL4, CHANNEL_OFDM },               \
340 /*5825*/ { 165, DMN_APL4, CHANNEL_OFDM },               \
341                                                         \
342 /*5745*/ { 149, DMN_APL5, CHANNEL_OFDM },               \
343 /*5765*/ { 153, DMN_APL5, CHANNEL_OFDM },               \
344 /*5785*/ { 157, DMN_APL5, CHANNEL_OFDM },               \
345 /*5805*/ { 161, DMN_APL5, CHANNEL_OFDM },               \
346 /*5825*/ { 165, DMN_APL5, CHANNEL_OFDM },               \
347                                                         \
348 /*5180*/ {  36, DMN_ETSI1, CHANNEL_OFDM },              \
349 /*5200*/ {  40, DMN_ETSI1, CHANNEL_OFDM },              \
350 /*5220*/ {  44, DMN_ETSI1, CHANNEL_OFDM },              \
351 /*5240*/ {  48, DMN_ETSI1, CHANNEL_OFDM },              \
352 /*5260*/ {  52, DMN_ETSI1, CHANNEL_OFDM },              \
353 /*5280*/ {  56, DMN_ETSI1, CHANNEL_OFDM },              \
354 /*5300*/ {  60, DMN_ETSI1, CHANNEL_OFDM },              \
355 /*5320*/ {  64, DMN_ETSI1, CHANNEL_OFDM },              \
356 /*5500*/ { 100, DMN_ETSI1, CHANNEL_OFDM },              \
357 /*5520*/ { 104, DMN_ETSI1, CHANNEL_OFDM },              \
358 /*5540*/ { 108, DMN_ETSI1, CHANNEL_OFDM },              \
359 /*5560*/ { 112, DMN_ETSI1, CHANNEL_OFDM },              \
360 /*5580*/ { 116, DMN_ETSI1, CHANNEL_OFDM },              \
361 /*5600*/ { 120, DMN_ETSI1, CHANNEL_OFDM },              \
362 /*5620*/ { 124, DMN_ETSI1, CHANNEL_OFDM },              \
363 /*5640*/ { 128, DMN_ETSI1, CHANNEL_OFDM },              \
364 /*5660*/ { 132, DMN_ETSI1, CHANNEL_OFDM },              \
365 /*5680*/ { 136, DMN_ETSI1, CHANNEL_OFDM },              \
366 /*5700*/ { 140, DMN_ETSI1, CHANNEL_OFDM },              \
367                                                         \
368 /*5180*/ {  36, DMN_ETSI2, CHANNEL_OFDM },              \
369 /*5200*/ {  40, DMN_ETSI2, CHANNEL_OFDM },              \
370 /*5220*/ {  44, DMN_ETSI2, CHANNEL_OFDM },              \
371 /*5240*/ {  48, DMN_ETSI2, CHANNEL_OFDM },              \
372                                                         \
373 /*5180*/ {  36, DMN_ETSI3, CHANNEL_OFDM },              \
374 /*5200*/ {  40, DMN_ETSI3, CHANNEL_OFDM },              \
375 /*5220*/ {  44, DMN_ETSI3, CHANNEL_OFDM },              \
376 /*5240*/ {  48, DMN_ETSI3, CHANNEL_OFDM },              \
377 /*5260*/ {  52, DMN_ETSI3, CHANNEL_OFDM },              \
378 /*5280*/ {  56, DMN_ETSI3, CHANNEL_OFDM },              \
379 /*5300*/ {  60, DMN_ETSI3, CHANNEL_OFDM },              \
380 /*5320*/ {  64, DMN_ETSI3, CHANNEL_OFDM },              \
381                                                         \
382 /*5180*/ {  36, DMN_ETSI4, CHANNEL_OFDM },              \
383 /*5200*/ {  40, DMN_ETSI4, CHANNEL_OFDM },              \
384 /*5220*/ {  44, DMN_ETSI4, CHANNEL_OFDM },              \
385 /*5240*/ {  48, DMN_ETSI4, CHANNEL_OFDM },              \
386 /*5260*/ {  52, DMN_ETSI4, CHANNEL_OFDM },              \
387 /*5280*/ {  56, DMN_ETSI4, CHANNEL_OFDM },              \
388 /*5300*/ {  60, DMN_ETSI4, CHANNEL_OFDM },              \
389 /*5320*/ {  64, DMN_ETSI4, CHANNEL_OFDM },              \
390                                                         \
391 /*5180*/ {  36, DMN_ETSI5, CHANNEL_OFDM },              \
392 /*5200*/ {  40, DMN_ETSI5, CHANNEL_OFDM },              \
393 /*5220*/ {  44, DMN_ETSI5, CHANNEL_OFDM },              \
394 /*5240*/ {  48, DMN_ETSI5, CHANNEL_OFDM },              \
395                                                         \
396 /*5180*/ {  36, DMN_ETSI6, CHANNEL_OFDM },              \
397 /*5200*/ {  40, DMN_ETSI6, CHANNEL_OFDM },              \
398 /*5220*/ {  44, DMN_ETSI6, CHANNEL_OFDM },              \
399 /*5240*/ {  48, DMN_ETSI6, CHANNEL_OFDM },              \
400 /*5260*/ {  52, DMN_ETSI6, CHANNEL_OFDM },              \
401 /*5280*/ {  56, DMN_ETSI6, CHANNEL_OFDM },              \
402 /*5500*/ { 100, DMN_ETSI6, CHANNEL_OFDM },              \
403 /*5520*/ { 104, DMN_ETSI6, CHANNEL_OFDM },              \
404 /*5540*/ { 108, DMN_ETSI6, CHANNEL_OFDM },              \
405 /*5560*/ { 112, DMN_ETSI6, CHANNEL_OFDM },              \
406 /*5580*/ { 116, DMN_ETSI6, CHANNEL_OFDM },              \
407 /*5600*/ { 120, DMN_ETSI6, CHANNEL_OFDM },              \
408 /*5620*/ { 124, DMN_ETSI6, CHANNEL_OFDM },              \
409 /*5640*/ { 128, DMN_ETSI6, CHANNEL_OFDM },              \
410 /*5660*/ { 132, DMN_ETSI6, CHANNEL_OFDM },              \
411 /*5680*/ { 136, DMN_ETSI6, CHANNEL_OFDM },              \
412 /*5700*/ { 140, DMN_ETSI6, CHANNEL_OFDM },              \
413                                                         \
414 /*5180*/ {  36, DMN_FCC1, CHANNEL_OFDM },               \
415 /*5200*/ {  40, DMN_FCC1, CHANNEL_OFDM },               \
416 /*5210*/ {  42, DMN_FCC1, CHANNEL_OFDM|CHANNEL_TURBO }, \
417 /*5220*/ {  44, DMN_FCC1, CHANNEL_OFDM },               \
418 /*5240*/ {  48, DMN_FCC1, CHANNEL_OFDM },               \
419 /*5250*/ {  50, DMN_FCC1, CHANNEL_OFDM|CHANNEL_TURBO }, \
420 /*5260*/ {  52, DMN_FCC1, CHANNEL_OFDM },               \
421 /*5280*/ {  56, DMN_FCC1, CHANNEL_OFDM },               \
422 /*5290*/ {  58, DMN_FCC1, CHANNEL_OFDM|CHANNEL_TURBO }, \
423 /*5300*/ {  60, DMN_FCC1, CHANNEL_OFDM },               \
424 /*5320*/ {  64, DMN_FCC1, CHANNEL_OFDM },               \
425 /*5745*/ { 149, DMN_FCC1, CHANNEL_OFDM },               \
426 /*5760*/ { 152, DMN_FCC1, CHANNEL_OFDM|CHANNEL_TURBO }, \
427 /*5765*/ { 153, DMN_FCC1, CHANNEL_OFDM },               \
428 /*5785*/ { 157, DMN_FCC1, CHANNEL_OFDM },               \
429 /*5800*/ { 160, DMN_FCC1, CHANNEL_OFDM|CHANNEL_TURBO }, \
430 /*5805*/ { 161, DMN_FCC1, CHANNEL_OFDM },               \
431 /*5825*/ { 165, DMN_FCC1, CHANNEL_OFDM },               \
432                                                         \
433 /*5180*/ {  36, DMN_FCC2, CHANNEL_OFDM },               \
434 /*5200*/ {  40, DMN_FCC2, CHANNEL_OFDM },               \
435 /*5220*/ {  44, DMN_FCC2, CHANNEL_OFDM },               \
436 /*5240*/ {  48, DMN_FCC2, CHANNEL_OFDM },               \
437 /*5260*/ {  52, DMN_FCC2, CHANNEL_OFDM },               \
438 /*5280*/ {  56, DMN_FCC2, CHANNEL_OFDM },               \
439 /*5300*/ {  60, DMN_FCC2, CHANNEL_OFDM },               \
440 /*5320*/ {  64, DMN_FCC2, CHANNEL_OFDM },               \
441 /*5745*/ { 149, DMN_FCC2, CHANNEL_OFDM },               \
442 /*5765*/ { 153, DMN_FCC2, CHANNEL_OFDM },               \
443 /*5785*/ { 157, DMN_FCC2, CHANNEL_OFDM },               \
444 /*5805*/ { 161, DMN_FCC2, CHANNEL_OFDM },               \
445 /*5825*/ { 165, DMN_FCC2, CHANNEL_OFDM },               \
446                                                         \
447 /*5180*/ {  36, DMN_FCC3, CHANNEL_OFDM },               \
448 /*5200*/ {  40, DMN_FCC3, CHANNEL_OFDM },               \
449 /*5210*/ {  42, DMN_FCC3, CHANNEL_OFDM|CHANNEL_TURBO }, \
450 /*5220*/ {  44, DMN_FCC3, CHANNEL_OFDM },               \
451 /*5240*/ {  48, DMN_FCC3, CHANNEL_OFDM },               \
452 /*5250*/ {  50, DMN_FCC3, CHANNEL_OFDM|CHANNEL_TURBO }, \
453 /*5260*/ {  52, DMN_FCC3, CHANNEL_OFDM },               \
454 /*5280*/ {  56, DMN_FCC3, CHANNEL_OFDM },               \
455 /*5290*/ {  58, DMN_FCC3, CHANNEL_OFDM|CHANNEL_TURBO }, \
456 /*5300*/ {  60, DMN_FCC3, CHANNEL_OFDM },               \
457 /*5320*/ {  64, DMN_FCC3, CHANNEL_OFDM },               \
458 /*5500*/ { 100, DMN_FCC3, CHANNEL_OFDM },               \
459 /*5520*/ { 104, DMN_FCC3, CHANNEL_OFDM },               \
460 /*5540*/ { 108, DMN_FCC3, CHANNEL_OFDM },               \
461 /*5560*/ { 112, DMN_FCC3, CHANNEL_OFDM },               \
462 /*5580*/ { 116, DMN_FCC3, CHANNEL_OFDM },               \
463 /*5600*/ { 120, DMN_FCC3, CHANNEL_OFDM },               \
464 /*5620*/ { 124, DMN_FCC3, CHANNEL_OFDM },               \
465 /*5640*/ { 128, DMN_FCC3, CHANNEL_OFDM },               \
466 /*5660*/ { 132, DMN_FCC3, CHANNEL_OFDM },               \
467 /*5680*/ { 136, DMN_FCC3, CHANNEL_OFDM },               \
468 /*5700*/ { 140, DMN_FCC3, CHANNEL_OFDM },               \
469 /*5745*/ { 149, DMN_FCC3, CHANNEL_OFDM },               \
470 /*5760*/ { 152, DMN_FCC3, CHANNEL_OFDM|CHANNEL_TURBO }, \
471 /*5765*/ { 153, DMN_FCC3, CHANNEL_OFDM },               \
472 /*5785*/ { 157, DMN_FCC3, CHANNEL_OFDM },               \
473 /*5800*/ { 160, DMN_FCC3, CHANNEL_OFDM|CHANNEL_TURBO }, \
474 /*5805*/ { 161, DMN_FCC3, CHANNEL_OFDM },               \
475 /*5825*/ { 165, DMN_FCC3, CHANNEL_OFDM },               \
476                                                         \
477 /*5170*/ {  34, DMN_MKK1, CHANNEL_OFDM },               \
478 /*5190*/ {  38, DMN_MKK1, CHANNEL_OFDM },               \
479 /*5210*/ {  42, DMN_MKK1, CHANNEL_OFDM },               \
480 /*5230*/ {  46, DMN_MKK1, CHANNEL_OFDM },               \
481                                                         \
482 /*5040*/ {   8, DMN_MKK2, CHANNEL_OFDM },               \
483 /*5060*/ {  12, DMN_MKK2, CHANNEL_OFDM },               \
484 /*5080*/ {  16, DMN_MKK2, CHANNEL_OFDM },               \
485 /*5170*/ {  34, DMN_MKK2, CHANNEL_OFDM },               \
486 /*5190*/ {  38, DMN_MKK2, CHANNEL_OFDM },               \
487 /*5210*/ {  42, DMN_MKK2, CHANNEL_OFDM },               \
488 /*5230*/ {  46, DMN_MKK2, CHANNEL_OFDM },               \
489                                                         \
490 /*5180*/ {  36, DMN_WORLD, CHANNEL_OFDM },              \
491 /*5200*/ {  40, DMN_WORLD, CHANNEL_OFDM },              \
492 /*5220*/ {  44, DMN_WORLD, CHANNEL_OFDM },              \
493 /*5240*/ {  48, DMN_WORLD, CHANNEL_OFDM },              \
494 }
495
496 enum ath5k_regdom ath5k_regdom2flag(enum ath5k_regdom, u16);
497 u16 ath5k_regdom_from_ieee(enum ath5k_regdom ieee);
498 enum ath5k_regdom ath5k_regdom_to_ieee(u16 regdomain);
499
500 #endif