regdom.h 20 KB

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