2 * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org>
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.
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.
17 #ifndef _IEEE80211_REGDOMAIN_H_
18 #define _IEEE80211_REGDOMAIN_H_
20 #include <linux/types.h>
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
29 DMN_NULL_WORLD
= 0x03,
30 DMN_NULL_ETSIB
= 0x07,
31 DMN_NULL_ETSIC
= 0x08,
33 DMN_FCC1_WORLD
= 0x11,
35 DMN_FCC2_WORLD
= 0x21,
36 DMN_FCC2_ETSIC
= 0x22,
37 DMN_FRANCE_NULL
= 0x31,
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,
50 DMN_APL4_WORLD
= 0x42,
53 DMN_APL2_WORLD
= 0x45,
55 DMN_APL3_WORLD
= 0x47,
58 DMN_MKK1_MKKA1
= 0x4A,
59 DMN_MKK1_MKKA2
= 0x4B,
60 DMN_APL1_WORLD
= 0x52,
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,
75 DMN_WOR9_WORLD
= 0x69,
76 DMN_WORA_WORLD
= 0x6A,
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 */
105 #define IEEE80211_DMN(_d) ((_d) & ~0xf0000000)
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 */
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 */
231 struct ath5k_regchannel
{
233 enum ath5k_regdom domain
;
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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 }, \
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
);