2 * Copyright (c) 2000-2005 ZyDAS Technology Corporation
3 * Copyright (c) 2007-2008 Atheros Communications Inc.
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 /* Module Name : hpreg.h */
20 /* This module contains Regulatory Table definitions. */
25 /************************************************************************/
30 typedef u16_t HAL_CTRY_CODE
; /* country code */
31 typedef u16_t HAL_REG_DOMAIN
; /* regulatory domain code */
33 AH_FALSE
= 0, /* NB: lots of code assumes false is zero */
39 * Country/Region Codes from MS WINNLS.H
40 * Numbering from ISO 3166
43 CTRY_ALBANIA
= 8, /* Albania */
44 CTRY_ALGERIA
= 12, /* Algeria */
45 CTRY_ARGENTINA
= 32, /* Argentina */
46 CTRY_ARMENIA
= 51, /* Armenia */
47 CTRY_AUSTRALIA
= 36, /* Australia */
48 CTRY_AUSTRIA
= 40, /* Austria */
49 CTRY_AZERBAIJAN
= 31, /* Azerbaijan */
50 CTRY_BAHRAIN
= 48, /* Bahrain */
51 CTRY_BELARUS
= 112, /* Belarus */
52 CTRY_BELGIUM
= 56, /* Belgium */
53 CTRY_BELIZE
= 84, /* Belize */
54 CTRY_BOLIVIA
= 68, /* Bolivia */
55 CTRY_BOSNIA
= 70, /* Bosnia */
56 CTRY_BRAZIL
= 76, /* Brazil */
57 CTRY_BRUNEI_DARUSSALAM
= 96, /* Brunei Darussalam */
58 CTRY_BULGARIA
= 100, /* Bulgaria */
59 CTRY_CANADA
= 124, /* Canada */
60 CTRY_CHILE
= 152, /* Chile */
61 CTRY_CHINA
= 156, /* People's Republic of China */
62 CTRY_COLOMBIA
= 170, /* Colombia */
63 CTRY_COSTA_RICA
= 188, /* Costa Rica */
64 CTRY_CROATIA
= 191, /* Croatia */
65 CTRY_CYPRUS
= 196, /* Cyprus */
66 CTRY_CZECH
= 203, /* Czech Republic */
67 CTRY_DENMARK
= 208, /* Denmark */
68 CTRY_DOMINICAN_REPUBLIC
= 214, /* Dominican Republic */
69 CTRY_ECUADOR
= 218, /* Ecuador */
70 CTRY_EGYPT
= 818, /* Egypt */
71 CTRY_EL_SALVADOR
= 222, /* El Salvador */
72 CTRY_ESTONIA
= 233, /* Estonia */
73 CTRY_FAEROE_ISLANDS
= 234, /* Faeroe Islands */
74 CTRY_FINLAND
= 246, /* Finland */
75 CTRY_FRANCE
= 250, /* France */
76 CTRY_FRANCE2
= 255, /* France2 */
77 CTRY_GEORGIA
= 268, /* Georgia */
78 CTRY_GERMANY
= 276, /* Germany */
79 CTRY_GREECE
= 300, /* Greece */
80 CTRY_GUATEMALA
= 320, /* Guatemala */
81 CTRY_HONDURAS
= 340, /* Honduras */
82 CTRY_HONG_KONG
= 344, /* Hong Kong S.A.R., P.R.C. */
83 CTRY_HUNGARY
= 348, /* Hungary */
84 CTRY_ICELAND
= 352, /* Iceland */
85 CTRY_INDIA
= 356, /* India */
86 CTRY_INDONESIA
= 360, /* Indonesia */
87 CTRY_IRAN
= 364, /* Iran */
88 CTRY_IRAQ
= 368, /* Iraq */
89 CTRY_IRELAND
= 372, /* Ireland */
90 CTRY_ISRAEL
= 376, /* Israel */
91 CTRY_ISRAEL2
= 377, /* Israel2 */
92 CTRY_ITALY
= 380, /* Italy */
93 CTRY_JAMAICA
= 388, /* Jamaica */
94 CTRY_JAPAN
= 392, /* Japan */
95 CTRY_JAPAN1
= 393, /* Japan (JP1) */
96 CTRY_JAPAN2
= 394, /* Japan (JP0) */
97 CTRY_JAPAN3
= 395, /* Japan (JP1-1) */
98 CTRY_JAPAN4
= 396, /* Japan (JE1) */
99 CTRY_JAPAN5
= 397, /* Japan (JE2) */
100 CTRY_JAPAN6
= 399, /* Japan (JP6) */
102 CTRY_JAPAN7
= 4007, /* Japan (J7) */
103 CTRY_JAPAN8
= 4008, /* Japan (J8) */
104 CTRY_JAPAN9
= 4009, /* Japan (J9) */
106 CTRY_JAPAN10
= 4010, /* Japan (J10) */
107 CTRY_JAPAN11
= 4011, /* Japan (J11) */
108 CTRY_JAPAN12
= 4012, /* Japan (J12) */
110 CTRY_JAPAN13
= 4013, /* Japan (J13) */
111 CTRY_JAPAN14
= 4014, /* Japan (J14) */
112 CTRY_JAPAN15
= 4015, /* Japan (J15) */
114 CTRY_JAPAN16
= 4016, /* Japan (J16) */
115 CTRY_JAPAN17
= 4017, /* Japan (J17) */
116 CTRY_JAPAN18
= 4018, /* Japan (J18) */
118 CTRY_JAPAN19
= 4019, /* Japan (J19) */
119 CTRY_JAPAN20
= 4020, /* Japan (J20) */
120 CTRY_JAPAN21
= 4021, /* Japan (J21) */
122 CTRY_JAPAN22
= 4022, /* Japan (J22) */
123 CTRY_JAPAN23
= 4023, /* Japan (J23) */
124 CTRY_JAPAN24
= 4024, /* Japan (J24) */
126 CTRY_JAPAN25
= 4025, /* Japan (J25) */
127 CTRY_JAPAN26
= 4026, /* Japan (J26) */
128 CTRY_JAPAN27
= 4027, /* Japan (J27) */
130 CTRY_JAPAN28
= 4028, /* Japan (J28) */
131 CTRY_JAPAN29
= 4029, /* Japan (J29) */
132 CTRY_JAPAN30
= 4030, /* Japan (J30) */
134 CTRY_JAPAN31
= 4031, /* Japan (J31) */
135 CTRY_JAPAN32
= 4032, /* Japan (J32) */
136 CTRY_JAPAN33
= 4033, /* Japan (J33) */
138 CTRY_JAPAN34
= 4034, /* Japan (J34) */
139 CTRY_JAPAN35
= 4035, /* Japan (J35) */
140 CTRY_JAPAN36
= 4036, /* Japan (J36) */
142 CTRY_JAPAN37
= 4037, /* Japan (J37) */
143 CTRY_JAPAN38
= 4038, /* Japan (J38) */
144 CTRY_JAPAN39
= 4039, /* Japan (J39) */
146 CTRY_JAPAN40
= 4040, /* Japan (J40) */
147 CTRY_JAPAN41
= 4041, /* Japan (J41) */
148 CTRY_JAPAN42
= 4042, /* Japan (J42) */
149 CTRY_JAPAN43
= 4043, /* Japan (J43) */
150 CTRY_JAPAN44
= 4044, /* Japan (J44) */
151 CTRY_JAPAN45
= 4045, /* Japan (J45) */
152 CTRY_JAPAN46
= 4046, /* Japan (J46) */
153 CTRY_JAPAN47
= 4047, /* Japan (J47) */
154 CTRY_JAPAN48
= 4048, /* Japan (J48) */
155 CTRY_JAPAN49
= 4049, /* Japan (J49) */
157 CTRY_JAPAN50
= 4050, /* Japan (J50) */
158 CTRY_JAPAN51
= 4051, /* Japan (J51) */
159 CTRY_JAPAN52
= 4052, /* Japan (J52) */
160 CTRY_JAPAN53
= 4053, /* Japan (J53) */
161 CTRY_JAPAN54
= 4054, /* Japan (J54) */
163 CTRY_JORDAN
= 400, /* Jordan */
164 CTRY_KAZAKHSTAN
= 398, /* Kazakhstan */
165 CTRY_KENYA
= 404, /* Kenya */
166 CTRY_KOREA_NORTH
= 408, /* North Korea */
167 CTRY_KOREA_ROC
= 410, /* South Korea */
168 CTRY_KOREA_ROC2
= 411, /* South Korea */
169 CTRY_KOREA_ROC3
= 412, /* 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, /* the Former Yugoslav Republic of Macedonia */
179 CTRY_MALAYSIA
= 458, /* Malaysia */
180 CTRY_MALTA
= 470, /* Malta */
181 CTRY_MEXICO
= 484, /* Mexico */
182 CTRY_MONACO
= 492, /* Principality of Monaco */
183 CTRY_MOROCCO
= 504, /* Morocco */
184 CTRY_NETHERLANDS
= 528, /* Netherlands */
185 CTRY_NETHERLANDS_ANT
= 530, /* Netherlands-Antellis */
186 CTRY_NEW_ZEALAND
= 554, /* New Zealand */
187 CTRY_NICARAGUA
= 558, /* Nicaragua */
188 CTRY_NORWAY
= 578, /* Norway */
189 CTRY_OMAN
= 512, /* Oman */
190 CTRY_PAKISTAN
= 586, /* Islamic Republic of Pakistan */
191 CTRY_PANAMA
= 591, /* Panama */
192 CTRY_PARAGUAY
= 600, /* Paraguay */
193 CTRY_PERU
= 604, /* Peru */
194 CTRY_PHILIPPINES
= 608, /* Republic of the Philippines */
195 CTRY_POLAND
= 616, /* Poland */
196 CTRY_PORTUGAL
= 620, /* Portugal */
197 CTRY_PUERTO_RICO
= 630, /* Puerto Rico */
198 CTRY_QATAR
= 634, /* Qatar */
199 CTRY_ROMANIA
= 642, /* Romania */
200 CTRY_RUSSIA
= 643, /* Russia */
201 CTRY_SAUDI_ARABIA
= 682, /* Saudi Arabia */
202 CTRY_SERBIA_MONT
= 891, /* Serbia and Montenegro */
203 CTRY_SINGAPORE
= 702, /* Singapore */
204 CTRY_SLOVAKIA
= 703, /* Slovak Republic */
205 CTRY_SLOVENIA
= 705, /* Slovenia */
206 CTRY_SOUTH_AFRICA
= 710, /* South Africa */
207 CTRY_SPAIN
= 724, /* Spain */
208 CTRY_SRILANKA
= 144, /* Srilanka */
209 CTRY_SWEDEN
= 752, /* Sweden */
210 CTRY_SWITZERLAND
= 756, /* Switzerland */
211 CTRY_SYRIA
= 760, /* Syria */
212 CTRY_TAIWAN
= 158, /* Taiwan */
213 CTRY_THAILAND
= 764, /* Thailand */
214 CTRY_TRINIDAD_Y_TOBAGO
= 780, /* Trinidad y Tobago */
215 CTRY_TUNISIA
= 788, /* Tunisia */
216 CTRY_TURKEY
= 792, /* Turkey */
217 CTRY_UAE
= 784, /* U.A.E. */
218 CTRY_UKRAINE
= 804, /* Ukraine */
219 CTRY_UNITED_KINGDOM
= 826, /* United Kingdom */
220 CTRY_UNITED_STATES
= 840, /* United States */
221 CTRY_UNITED_STATES_FCC49
= 842, /* United States (Public Safety)*/
222 CTRY_URUGUAY
= 858, /* Uruguay */
223 CTRY_UZBEKISTAN
= 860, /* Uzbekistan */
224 CTRY_VENEZUELA
= 862, /* Venezuela */
225 CTRY_VIET_NAM
= 704, /* Viet Nam */
226 CTRY_YEMEN
= 887, /* Yemen */
227 CTRY_ZIMBABWE
= 716 /* Zimbabwe */
230 /* Enumerated Regulatory Domain Information 8 bit values indicate that
231 * the regdomain is really a pair of unitary regdomains. 12 bit values
232 * are the real unitary regdomains and are the only ones which have the
233 * frequency bitmasks and flags set.
237 * The following regulatory domain definitions are
238 * found in the EEPROM. Each regulatory domain
239 * can operate in either a 5GHz or 2.4GHz wireless mode or
240 * both 5GHz and 2.4GHz wireless modes.
241 * In general, the value holds no special
242 * meaning and is used to decode into either specific
243 * 2.4GHz or 5GHz wireless mode for that particular
247 NULL1_WORLD
= 0x03, /* For 11b-only countries (no 11a allowed) */
248 NULL1_ETSIB
= 0x07, /* Israel */
250 FCC1_FCCA
= 0x10, /* USA */
251 FCC1_WORLD
= 0x11, /* Hong Kong */
252 FCC4_FCCA
= 0x12, /* USA - Public Safety */
253 FCC5_FCCA
= 0x13, /* USA - with no DFS (UNII-1 + UNII-3 only) */
254 FCC6_FCCA
= 0x14, /* Canada */
256 FCC2_FCCA
= 0x20, /* Canada */
257 FCC2_WORLD
= 0x21, /* Australia & HK */
259 FCC6_WORLD
= 0x23, /* Australia */
261 FRANCE_RES
= 0x31, /* Legacy France for OEM */
262 FCC3_FCCA
= 0x3A, /* USA & Canada w/5470 band, 11h, DFS enabled */
263 FCC3_WORLD
= 0x3B, /* USA & Canada w/5470 band, 11h, DFS enabled */
266 ETSI3_ETSIA
= 0x32, /* France (optional) */
267 ETSI2_WORLD
= 0x35, /* Hungary & others */
268 ETSI3_WORLD
= 0x36, /* France & others */
272 ETSI6_WORLD
= 0x34, /* Bulgaria */
273 ETSI_RESERVED
= 0x33, /* Reserved (Do not used) */
275 MKK1_MKKA
= 0x40, /* Japan (JP1) */
276 MKK1_MKKB
= 0x41, /* Japan (JP0) */
277 APL4_WORLD
= 0x42, /* Singapore */
278 MKK2_MKKA
= 0x43, /* Japan with 4.9G channels */
279 APL_RESERVED
= 0x44, /* Reserved (Do not used) */
280 APL2_WORLD
= 0x45, /* Korea */
283 MKK1_FCCA
= 0x48, /* Japan (JP1-1) */
284 APL2_APLD
= 0x49, /* Korea with 2.3G channels */
285 MKK1_MKKA1
= 0x4A, /* Japan (JE1) */
286 MKK1_MKKA2
= 0x4B, /* Japan (JE2) */
287 MKK1_MKKC
= 0x4C, /* Japan (MKK1_MKKA,except Ch14) */
290 APL1_WORLD
= 0x52, /* Latin America */
294 APL2_ETSIC
= 0x56, /* Venezuela */
295 APL2_FCCA
= 0x57, /* new Latin America */
296 APL5_WORLD
= 0x58, /* Chile */
297 APL6_WORLD
= 0x5B, /* Singapore */
298 APL7_FCCA
= 0x5C, /* Taiwan 5.47 Band */
299 APL8_WORLD
= 0x5D, /* Malaysia 5GHz */
300 APL9_WORLD
= 0x5E, /* Korea 5GHz */
305 WOR0_WORLD
= 0x60, /* World0 (WO0 SKU) */
306 WOR1_WORLD
= 0x61, /* World1 (WO1 SKU) */
307 WOR2_WORLD
= 0x62, /* World2 (WO2 SKU) */
308 WOR3_WORLD
= 0x63, /* World3 (WO3 SKU) */
309 WOR4_WORLD
= 0x64, /* World4 (WO4 SKU) */
310 WOR5_ETSIC
= 0x65, /* World5 (WO5 SKU) */
312 WOR01_WORLD
= 0x66, /* World0-1 (WW0-1 SKU) */
313 WOR02_WORLD
= 0x67, /* World0-2 (WW0-2 SKU) */
314 EU1_WORLD
= 0x68, /* Same as World0-2 (WW0-2 SKU), except active scan ch1-13. No ch14 */
316 WOR9_WORLD
= 0x69, /* World9 (WO9 SKU) */
317 WORA_WORLD
= 0x6A, /* WorldA (WOA SKU) */
319 MKK3_MKKB
= 0x80, /* Japan UNI-1 even + MKKB */
320 MKK3_MKKA2
= 0x81, /* Japan UNI-1 even + MKKA2 */
321 MKK3_MKKC
= 0x82, /* Japan UNI-1 even + MKKC */
323 MKK4_MKKB
= 0x83, /* Japan UNI-1 even + UNI-2 + MKKB */
324 MKK4_MKKA2
= 0x84, /* Japan UNI-1 even + UNI-2 + MKKA2 */
325 MKK4_MKKC
= 0x85, /* Japan UNI-1 even + UNI-2 + MKKC */
327 MKK5_MKKB
= 0x86, /* Japan UNI-1 even + UNI-2 + mid-band + MKKB */
328 MKK5_MKKA2
= 0x87, /* Japan UNI-1 even + UNI-2 + mid-band + MKKA2 */
329 MKK5_MKKC
= 0x88, /* Japan UNI-1 even + UNI-2 + mid-band + MKKC */
331 MKK6_MKKB
= 0x89, /* Japan UNI-1 even + UNI-1 odd MKKB */
332 MKK6_MKKA2
= 0x8A, /* Japan UNI-1 even + UNI-1 odd + MKKA2 */
333 MKK6_MKKC
= 0x8B, /* Japan UNI-1 even + UNI-1 odd + MKKC */
335 MKK7_MKKB
= 0x8C, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKB */
336 MKK7_MKKA
= 0x8D, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */
337 MKK7_MKKC
= 0x8E, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKC */
339 MKK8_MKKB
= 0x8F, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB */
340 MKK8_MKKA2
= 0x90, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKA2 */
341 MKK8_MKKC
= 0x91, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKC */
343 MKK6_MKKA1
= 0xF8, /* Japan UNI-1 even + UNI-1 odd + MKKA1 */
344 MKK6_FCCA
= 0xF9, /* Japan UNI-1 even + UNI-1 odd + FCCA */
345 MKK7_MKKA1
= 0xFA, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA1 */
346 MKK7_FCCA
= 0xFB, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + FCCA */
347 MKK9_FCCA
= 0xFC, /* Japan UNI-1 even + 4.9GHz + FCCA */
348 MKK9_MKKA1
= 0xFD, /* Japan UNI-1 even + 4.9GHz + MKKA1 */
349 MKK9_MKKC
= 0xFE, /* Japan UNI-1 even + 4.9GHz + MKKC */
350 MKK9_MKKA2
= 0xFF, /* Japan UNI-1 even + 4.9GHz + MKKA2 */
352 MKK10_FCCA
= 0xD0, /* Japan UNI-1 even + UNI-2 + 4.9GHz + FCCA */
353 MKK10_MKKA1
= 0xD1, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA1 */
354 MKK10_MKKC
= 0xD2, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKC */
355 MKK10_MKKA2
= 0xD3, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA2 */
357 MKK11_MKKA
= 0xD4, /* Japan UNI-1 even + UNI-2 + Midband + 4.9GHz + MKKA */
358 MKK11_FCCA
= 0xD5, /* Japan UNI-1 even + UNI-2 + Midband + 4.9GHz + FCCA */
359 MKK11_MKKA1
= 0xD6, /* Japan UNI-1 even + UNI-2 + Midband + 4.9GHz + MKKA1 */
360 MKK11_MKKC
= 0xD7, /* Japan UNI-1 even + UNI-2 + Midband + 4.9GHz + MKKC */
361 MKK11_MKKA2
= 0xD8, /* Japan UNI-1 even + UNI-2 + Midband + 4.9GHz + MKKA2 */
363 MKK12_MKKA
= 0xD9, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + Midband + 4.9GHz + MKKA */
364 MKK12_FCCA
= 0xDA, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + Midband + 4.9GHz + FCCA */
365 MKK12_MKKA1
= 0xDB, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + Midband + 4.9GHz + MKKA1 */
366 MKK12_MKKC
= 0xDC, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + Midband + 4.9GHz + MKKC */
367 MKK12_MKKA2
= 0xDD, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + Midband + 4.9GHz + MKKA2 */
369 /* Following definitions are used only by s/w to map old
372 MKK3_MKKA
= 0xF0, /* Japan UNI-1 even + MKKA */
373 MKK3_MKKA1
= 0xF1, /* Japan UNI-1 even + MKKA1 */
374 MKK3_FCCA
= 0xF2, /* Japan UNI-1 even + FCCA */
375 MKK4_MKKA
= 0xF3, /* Japan UNI-1 even + UNI-2 + MKKA */
376 MKK4_MKKA1
= 0xF4, /* Japan UNI-1 even + UNI-2 + MKKA1 */
377 MKK4_FCCA
= 0xF5, /* Japan UNI-1 even + UNI-2 + FCCA */
378 MKK9_MKKA
= 0xF6, /* Japan UNI-1 even + 4.9GHz + MKKA*/
379 MKK10_MKKA
= 0xF7, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA */
382 * Regulator domains ending in a number (e.g. APL1,
383 * MK1, ETSI4, etc) apply to 5GHz channel and power
384 * information. Regulator domains ending in a letter
385 * (e.g. APLA, FCCA, etc) apply to 2.4GHz channel and
388 APL1
= 0x0150, /* LAT & Asia */
389 APL2
= 0x0250, /* LAT & Asia */
390 APL3
= 0x0350, /* Taiwan */
391 APL4
= 0x0450, /* Jordan */
392 APL5
= 0x0550, /* Chile */
393 APL6
= 0x0650, /* Singapore */
394 APL7
= 0x0750, /* Taiwan Middle */
395 APL8
= 0x0850, /* Malaysia */
396 APL9
= 0x0950, /* Korea (South) ROC 3 */
398 ETSI1
= 0x0130, /* Europe & others */
399 ETSI2
= 0x0230, /* Europe & others */
400 ETSI3
= 0x0330, /* Europe & others */
401 ETSI4
= 0x0430, /* Europe & others */
402 ETSI5
= 0x0530, /* Europe & others */
403 ETSI6
= 0x0630, /* Europe & others */
404 ETSIA
= 0x0A30, /* France */
405 ETSIB
= 0x0B30, /* Israel */
406 ETSIC
= 0x0C30, /* Latin America */
408 FCC1
= 0x0110, /* US & others */
409 FCC2
= 0x0120, /* Canada, Australia & New Zealand */
410 FCC3
= 0x0160, /* US w/new middle band & DFS */
411 FCC4
= 0x0165, /* US Public Safety */
412 FCC5
= 0x0510, /* US no DFS */
413 FCC6
= 0x0610, /* Canada & Australia */
417 APLD
= 0x0D50, /* South Korea */
419 MKK1
= 0x0140, /* Japan (UNI-1 odd)*/
420 MKK2
= 0x0240, /* Japan (4.9 GHz + UNI-1 odd) */
421 MKK3
= 0x0340, /* Japan (UNI-1 even) */
422 MKK4
= 0x0440, /* Japan (UNI-1 even + UNI-2) */
423 MKK5
= 0x0540, /* Japan (UNI-1 even + UNI-2 + mid-band) */
424 MKK6
= 0x0640, /* Japan (UNI-1 odd + UNI-1 even) */
425 MKK7
= 0x0740, /* Japan (UNI-1 odd + UNI-1 even + UNI-2 */
426 MKK8
= 0x0840, /* Japan (UNI-1 odd + UNI-1 even + UNI-2 + mid-band) */
427 MKK9
= 0x0940, /* Japan (UNI-1 even + 4.9 GHZ) */
428 MKK10
= 0x0B40, /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */
429 MKK11
= 0x1140, /* Japan (UNI-1 even + UNI-2 + mid-band + 4.9 GHZ) */
430 MKK12
= 0x1240, /* Japan (UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9 GHZ) */
431 MKKA
= 0x0A40, /* Japan */
436 DEBUG_REG_DMN
= 0x01ff,
440 #define ZM_REG_FLAG_CHANNEL_CW_INT 0x0002 /* CW interference detected on channel */
441 #define ZM_REG_FLAG_CHANNEL_TURBO 0x0010 /* Turbo Channel */
442 #define ZM_REG_FLAG_CHANNEL_CCK 0x0020 /* CCK channel */
443 #define ZM_REG_FLAG_CHANNEL_OFDM 0x0040 /* OFDM channel */
444 #define ZM_REG_FLAG_CHANNEL_2GHZ 0x0080 /* 2 GHz spectrum channel. */
445 #define ZM_REG_FLAG_CHANNEL_5GHZ 0x0100 /* 5 GHz spectrum channel */
446 #define ZM_REG_FLAG_CHANNEL_PASSIVE 0x0200 /* Only passive scan allowed in the channel */
447 #define ZM_REG_FLAG_CHANNEL_DYN 0x0400 /* dynamic CCK-OFDM channel */
448 #define ZM_REG_FLAG_CHANNEL_XR 0x0800 /* XR channel */
449 #define ZM_REG_FLAG_CHANNEL_CSA 0x1000 /* Channel by CSA(Channel Switch Announcement) */
450 #define ZM_REG_FLAG_CHANNEL_STURBO 0x2000 /* Static turbo, no 11a-only usage */
451 #define ZM_REG_FLAG_CHANNEL_HALF 0x4000 /* Half rate channel */
452 #define ZM_REG_FLAG_CHANNEL_QUARTER 0x8000 /* Quarter rate channel */
455 #define CHANNEL_CW_INT 0x0002 /* CW interference detected on channel */
456 #define CHANNEL_TURBO 0x0010 /* Turbo Channel */
457 #define CHANNEL_CCK 0x0020 /* CCK channel */
458 #define CHANNEL_OFDM 0x0040 /* OFDM channel */
459 #define CHANNEL_2GHZ 0x0080 /* 2 GHz spectrum channel. */
460 #define CHANNEL_5GHZ 0x0100 /* 5 GHz spectrum channel */
461 #define CHANNEL_PASSIVE 0x0200 /* Only passive scan allowed in the channel */
462 #define CHANNEL_DYN 0x0400 /* dynamic CCK-OFDM channel */
463 #define CHANNEL_XR 0x0800 /* XR channel */
464 #define CHANNEL_STURBO 0x2000 /* Static turbo, no 11a-only usage */
465 #define CHANNEL_HALF 0x4000 /* Half rate channel */
466 #define CHANNEL_QUARTER 0x8000 /* Quarter rate channel */
467 #define CHANNEL_HT20 0x10000 /* HT20 channel */
468 #define CHANNEL_HT40 0x20000 /* HT40 channel */
469 #define CHANNEL_HT40U 0x40000 /* control channel can be upper channel */
470 #define CHANNEL_HT40L 0x80000 /* control channel can be lower channel */
473 #define ZM_REG_FLAG_CHANNEL_INTERFERENCE 0x01 /* Software use: channel interference
474 used for as AR as well as RADAR
475 interference detection */
476 #define ZM_REG_FLAG_CHANNEL_DFS 0x02 /* DFS required on channel */
477 #define ZM_REG_FLAG_CHANNEL_4MS_LIMIT 0x04 /* 4msec packet limit on this channel */
478 #define ZM_REG_FLAG_CHANNEL_DFS_CLEAR 0x08 /* if channel has been checked for DFS */
480 #define CHANNEL_A (CHANNEL_5GHZ|CHANNEL_OFDM)
481 #define CHANNEL_B (CHANNEL_2GHZ|CHANNEL_CCK)
482 #define CHANNEL_PUREG (CHANNEL_2GHZ|CHANNEL_OFDM)
484 #define CHANNEL_G (CHANNEL_2GHZ|CHANNEL_DYN)
486 #define CHANNEL_G (CHANNEL_2GHZ|CHANNEL_OFDM)
488 #define CHANNEL_T (CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_TURBO)
489 #define CHANNEL_ST (CHANNEL_T|CHANNEL_STURBO)
490 #define CHANNEL_108G (CHANNEL_2GHZ|CHANNEL_OFDM|CHANNEL_TURBO)
491 #define CHANNEL_108A CHANNEL_T
492 #define CHANNEL_X (CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_XR)
493 #define CHANNEL_G_HT (CHANNEL_2GHZ | CHANNEL_OFDM | CHANNEL_HT20)
494 #define CHANNEL_A_HT (CHANNEL_5GHZ | CHANNEL_OFDM | CHANNEL_HT20)
496 #define CHANNEL_G_HT20 (CHANNEL_2GHZ|CHANNEL_HT20)
497 #define CHANNEL_A_HT20 (CHANNEL_5GHZ|CHANNEL_HT20)
498 #define CHANNEL_G_HT40 (CHANNEL_2GHZ|CHANNEL_HT20|CHANNEL_HT40)
499 #define CHANNEL_A_HT40 (CHANNEL_5GHZ|CHANNEL_HT20|CHANNEL_HT40)
500 #define CHANNEL_ALL \
501 (CHANNEL_OFDM|CHANNEL_CCK| CHANNEL_2GHZ | CHANNEL_5GHZ | CHANNEL_TURBO | CHANNEL_HT20 | CHANNEL_HT40)
502 #define CHANNEL_ALL_NOTURBO (CHANNEL_ALL &~ CHANNEL_TURBO)
505 HAL_MODE_11A
= 0x001, /* 11a channels */
506 HAL_MODE_TURBO
= 0x002, /* 11a turbo-only channels */
507 HAL_MODE_11B
= 0x004, /* 11b channels */
508 HAL_MODE_PUREG
= 0x008, /* 11g channels (OFDM only) */
510 HAL_MODE_11G
= 0x010, /* 11g channels (OFDM/CCK) */
512 HAL_MODE_11G
= 0x008, /* XXX historical */
514 HAL_MODE_108G
= 0x020, /* 11a+Turbo channels */
515 HAL_MODE_108A
= 0x040, /* 11g+Turbo channels */
516 HAL_MODE_XR
= 0x100, /* XR channels */
517 HAL_MODE_11A_HALF_RATE
= 0x200, /* 11A half rate channels */
518 HAL_MODE_11A_QUARTER_RATE
= 0x400, /* 11A quarter rate channels */
519 HAL_MODE_11NG
= 0x4000, /* 11ng channels */
520 HAL_MODE_11NA
= 0x8000, /* 11na channels */
521 HAL_MODE_ALL
= 0xffff
524 #endif /* #ifndef _HPREG_H */