ah_rd_regenum.h revision 219442
1/* 2 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 3 * Copyright (c) 2005-2006 Atheros Communications, Inc. 4 * All rights reserved. 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 * 18 * $FreeBSD: head/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h 219442 2011-03-10 03:13:56Z adrian $ 19 */ 20 21#ifndef __AH_REGDOMAIN_REGENUM_H__ 22#define __AH_REGDOMAIN_REGENUM_H__ 23 24/* 25 * Enumerated Regulatory Domain Information 8 bit values indicate that 26 * the regdomain is really a pair of unitary regdomains. 12 bit values 27 * are the real unitary regdomains and are the only ones which have the 28 * frequency bitmasks and flags set. 29 */ 30enum { 31 /* 32 * The following regulatory domain definitions are 33 * found in the EEPROM. Each regulatory domain 34 * can operate in either a 5GHz or 2.4GHz wireless mode or 35 * both 5GHz and 2.4GHz wireless modes. 36 * In general, the value holds no special 37 * meaning and is used to decode into either specific 38 * 2.4GHz or 5GHz wireless mode for that particular 39 * regulatory domain. 40 */ 41 NO_ENUMRD = 0x00, 42 NULL1_WORLD = 0x03, /* For 11b-only countries (no 11a allowed) */ 43 NULL1_ETSIB = 0x07, /* Israel */ 44 NULL1_ETSIC = 0x08, 45 FCC1_FCCA = 0x10, /* USA */ 46 FCC1_WORLD = 0x11, /* Hong Kong */ 47 FCC4_FCCA = 0x12, /* USA - Public Safety */ 48 FCC5_FCCB = 0x13, /* USA w/ 1/2 and 1/4 width channels */ 49 50 FCC2_FCCA = 0x20, /* Canada */ 51 FCC2_WORLD = 0x21, /* Australia & HK */ 52 FCC2_ETSIC = 0x22, 53 FRANCE_RES = 0x31, /* Legacy France for OEM */ 54 FCC3_FCCA = 0x3A, /* USA & Canada w/5470 band, 11h, DFS enabled */ 55 FCC3_WORLD = 0x3B, /* USA & Canada w/5470 band, 11h, DFS enabled */ 56 57 ETSI1_WORLD = 0x37, 58 ETSI3_ETSIA = 0x32, /* France (optional) */ 59 ETSI2_WORLD = 0x35, /* Hungary & others */ 60 ETSI3_WORLD = 0x36, /* France & others */ 61 ETSI4_WORLD = 0x30, 62 ETSI4_ETSIC = 0x38, 63 ETSI5_WORLD = 0x39, 64 ETSI6_WORLD = 0x34, /* Bulgaria */ 65 ETSI_RESERVED = 0x33, /* Reserved (Do not used) */ 66 67 MKK1_MKKA = 0x40, /* Japan (JP1) */ 68 MKK1_MKKB = 0x41, /* Japan (JP0) */ 69 APL4_WORLD = 0x42, /* Singapore */ 70 MKK2_MKKA = 0x43, /* Japan with 4.9G channels */ 71 APL_RESERVED = 0x44, /* Reserved (Do not used) */ 72 APL2_WORLD = 0x45, /* Korea */ 73 APL2_APLC = 0x46, 74 APL3_WORLD = 0x47, 75 MKK1_FCCA = 0x48, /* Japan (JP1-1) */ 76 APL2_APLD = 0x49, /* Korea with 2.3G channels */ 77 MKK1_MKKA1 = 0x4A, /* Japan (JE1) */ 78 MKK1_MKKA2 = 0x4B, /* Japan (JE2) */ 79 MKK1_MKKC = 0x4C, /* Japan (MKK1_MKKA,except Ch14) */ 80 81 APL3_FCCA = 0x50, 82 APL1_WORLD = 0x52, /* Latin America */ 83 APL1_FCCA = 0x53, 84 APL1_APLA = 0x54, 85 APL1_ETSIC = 0x55, 86 APL2_ETSIC = 0x56, /* Venezuela */ 87 APL5_WORLD = 0x58, /* Chile */ 88 APL6_WORLD = 0x5B, /* Singapore */ 89 APL7_FCCA = 0x5C, /* Taiwan 5.47 Band */ 90 APL8_WORLD = 0x5D, /* Malaysia 5GHz */ 91 APL9_WORLD = 0x5E, /* Korea 5GHz */ 92 93 /* 94 * World mode SKUs 95 */ 96 WOR0_WORLD = 0x60, /* World0 (WO0 SKU) */ 97 WOR1_WORLD = 0x61, /* World1 (WO1 SKU) */ 98 WOR2_WORLD = 0x62, /* World2 (WO2 SKU) */ 99 WOR3_WORLD = 0x63, /* World3 (WO3 SKU) */ 100 WOR4_WORLD = 0x64, /* World4 (WO4 SKU) */ 101 WOR5_ETSIC = 0x65, /* World5 (WO5 SKU) */ 102 103 WOR01_WORLD = 0x66, /* World0-1 (WW0-1 SKU) */ 104 WOR02_WORLD = 0x67, /* World0-2 (WW0-2 SKU) */ 105 EU1_WORLD = 0x68, /* Same as World0-2 (WW0-2 SKU), except active scan ch1-13. No ch14 */ 106 107 WOR9_WORLD = 0x69, /* World9 (WO9 SKU) */ 108 WORA_WORLD = 0x6A, /* WorldA (WOA SKU) */ 109 WORB_WORLD = 0x6B, /* WorldB (WOB SKU) */ 110 111 MKK3_MKKB = 0x80, /* Japan UNI-1 even + MKKB */ 112 MKK3_MKKA2 = 0x81, /* Japan UNI-1 even + MKKA2 */ 113 MKK3_MKKC = 0x82, /* Japan UNI-1 even + MKKC */ 114 115 MKK4_MKKB = 0x83, /* Japan UNI-1 even + UNI-2 + MKKB */ 116 MKK4_MKKA2 = 0x84, /* Japan UNI-1 even + UNI-2 + MKKA2 */ 117 MKK4_MKKC = 0x85, /* Japan UNI-1 even + UNI-2 + MKKC */ 118 119 MKK5_MKKB = 0x86, /* Japan UNI-1 even + UNI-2 + mid-band + MKKB */ 120 MKK5_MKKA2 = 0x87, /* Japan UNI-1 even + UNI-2 + mid-band + MKKA2 */ 121 MKK5_MKKC = 0x88, /* Japan UNI-1 even + UNI-2 + mid-band + MKKC */ 122 123 MKK6_MKKB = 0x89, /* Japan UNI-1 even + UNI-1 odd MKKB */ 124 MKK6_MKKA2 = 0x8A, /* Japan UNI-1 even + UNI-1 odd + MKKA2 */ 125 MKK6_MKKC = 0x8B, /* Japan UNI-1 even + UNI-1 odd + MKKC */ 126 127 MKK7_MKKB = 0x8C, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKB */ 128 MKK7_MKKA2 = 0x8D, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */ 129 MKK7_MKKC = 0x8E, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKC */ 130 131 MKK8_MKKB = 0x8F, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB */ 132 MKK8_MKKA2 = 0x90, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKA2 */ 133 MKK8_MKKC = 0x91, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKC */ 134 135 /* Following definitions are used only by s/w to map old 136 * Japan SKUs. 137 */ 138 MKK3_MKKA = 0xF0, /* Japan UNI-1 even + MKKA */ 139 MKK3_MKKA1 = 0xF1, /* Japan UNI-1 even + MKKA1 */ 140 MKK3_FCCA = 0xF2, /* Japan UNI-1 even + FCCA */ 141 MKK4_MKKA = 0xF3, /* Japan UNI-1 even + UNI-2 + MKKA */ 142 MKK4_MKKA1 = 0xF4, /* Japan UNI-1 even + UNI-2 + MKKA1 */ 143 MKK4_FCCA = 0xF5, /* Japan UNI-1 even + UNI-2 + FCCA */ 144 MKK9_MKKA = 0xF6, /* Japan UNI-1 even + 4.9GHz */ 145 MKK10_MKKA = 0xF7, /* Japan UNI-1 even + UNI-2 + 4.9GHz */ 146 147 /* 148 * Regulator domains ending in a number (e.g. APL1, 149 * MK1, ETSI4, etc) apply to 5GHz channel and power 150 * information. Regulator domains ending in a letter 151 * (e.g. APLA, FCCA, etc) apply to 2.4GHz channel and 152 * power information. 153 */ 154 APL1 = 0x0150, /* LAT & Asia */ 155 APL2 = 0x0250, /* LAT & Asia */ 156 APL3 = 0x0350, /* Taiwan */ 157 APL4 = 0x0450, /* Jordan */ 158 APL5 = 0x0550, /* Chile */ 159 APL6 = 0x0650, /* Singapore */ 160 APL8 = 0x0850, /* Malaysia */ 161 APL9 = 0x0950, /* Korea (South) ROC 3 */ 162 163 ETSI1 = 0x0130, /* Europe & others */ 164 ETSI2 = 0x0230, /* Europe & others */ 165 ETSI3 = 0x0330, /* Europe & others */ 166 ETSI4 = 0x0430, /* Europe & others */ 167 ETSI5 = 0x0530, /* Europe & others */ 168 ETSI6 = 0x0630, /* Europe & others */ 169 ETSIA = 0x0A30, /* France */ 170 ETSIB = 0x0B30, /* Israel */ 171 ETSIC = 0x0C30, /* Latin America */ 172 173 FCC1 = 0x0110, /* US & others */ 174 FCC2 = 0x0120, /* Canada, Australia & New Zealand */ 175 FCC3 = 0x0160, /* US w/new middle band & DFS */ 176 FCC4 = 0x0165, /* US Public Safety */ 177 FCC5 = 0x0166, /* US w/ 1/2 and 1/4 width channels */ 178 FCCA = 0x0A10, 179 FCCB = 0x0A11, /* US w/ 1/2 and 1/4 width channels */ 180 181 APLD = 0x0D50, /* South Korea */ 182 183 MKK1 = 0x0140, /* Japan (UNI-1 odd)*/ 184 MKK2 = 0x0240, /* Japan (4.9 GHz + UNI-1 odd) */ 185 MKK3 = 0x0340, /* Japan (UNI-1 even) */ 186 MKK4 = 0x0440, /* Japan (UNI-1 even + UNI-2) */ 187 MKK5 = 0x0540, /* Japan (UNI-1 even + UNI-2 + mid-band) */ 188 MKK6 = 0x0640, /* Japan (UNI-1 odd + UNI-1 even) */ 189 MKK7 = 0x0740, /* Japan (UNI-1 odd + UNI-1 even + UNI-2 */ 190 MKK8 = 0x0840, /* Japan (UNI-1 odd + UNI-1 even + UNI-2 + mid-band) */ 191 MKK9 = 0x0940, /* Japan (UNI-1 even + 4.9 GHZ) */ 192 MKK10 = 0x0B40, /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */ 193 MKKA = 0x0A40, /* Japan */ 194 MKKC = 0x0A50, 195 196 NULL1 = 0x0198, 197 WORLD = 0x0199, 198 DEBUG_REG_DMN = 0x01ff, 199}; 200 201#endif 202