ah_rd_regenum.h revision 219442
1219442Sadrian/*
2219442Sadrian * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
3219442Sadrian * Copyright (c) 2005-2006 Atheros Communications, Inc.
4219442Sadrian * All rights reserved.
5219442Sadrian *
6219442Sadrian * Permission to use, copy, modify, and/or distribute this software for any
7219442Sadrian * purpose with or without fee is hereby granted, provided that the above
8219442Sadrian * copyright notice and this permission notice appear in all copies.
9219442Sadrian *
10219442Sadrian * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11219442Sadrian * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12219442Sadrian * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13219442Sadrian * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14219442Sadrian * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15219442Sadrian * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16219442Sadrian * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17219442Sadrian *
18219442Sadrian * $FreeBSD: head/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h 219442 2011-03-10 03:13:56Z adrian $
19219442Sadrian */
20219442Sadrian
21219442Sadrian#ifndef	__AH_REGDOMAIN_REGENUM_H__
22219442Sadrian#define	__AH_REGDOMAIN_REGENUM_H__
23219442Sadrian
24219442Sadrian/*
25219442Sadrian * Enumerated Regulatory Domain Information 8 bit values indicate that
26219442Sadrian * the regdomain is really a pair of unitary regdomains.  12 bit values
27219442Sadrian * are the real unitary regdomains and are the only ones which have the
28219442Sadrian * frequency bitmasks and flags set.
29219442Sadrian */
30219442Sadrianenum {
31219442Sadrian	/*
32219442Sadrian	 * The following regulatory domain definitions are
33219442Sadrian	 * found in the EEPROM. Each regulatory domain
34219442Sadrian	 * can operate in either a 5GHz or 2.4GHz wireless mode or
35219442Sadrian	 * both 5GHz and 2.4GHz wireless modes.
36219442Sadrian	 * In general, the value holds no special
37219442Sadrian	 * meaning and is used to decode into either specific
38219442Sadrian	 * 2.4GHz or 5GHz wireless mode for that particular
39219442Sadrian	 * regulatory domain.
40219442Sadrian	 */
41219442Sadrian	NO_ENUMRD	= 0x00,
42219442Sadrian	NULL1_WORLD	= 0x03,		/* For 11b-only countries (no 11a allowed) */
43219442Sadrian	NULL1_ETSIB	= 0x07,		/* Israel */
44219442Sadrian	NULL1_ETSIC	= 0x08,
45219442Sadrian	FCC1_FCCA	= 0x10,		/* USA */
46219442Sadrian	FCC1_WORLD	= 0x11,		/* Hong Kong */
47219442Sadrian	FCC4_FCCA	= 0x12,		/* USA - Public Safety */
48219442Sadrian	FCC5_FCCB	= 0x13,		/* USA w/ 1/2 and 1/4 width channels */
49219442Sadrian
50219442Sadrian	FCC2_FCCA	= 0x20,		/* Canada */
51219442Sadrian	FCC2_WORLD	= 0x21,		/* Australia & HK */
52219442Sadrian	FCC2_ETSIC	= 0x22,
53219442Sadrian	FRANCE_RES	= 0x31,		/* Legacy France for OEM */
54219442Sadrian	FCC3_FCCA	= 0x3A,		/* USA & Canada w/5470 band, 11h, DFS enabled */
55219442Sadrian	FCC3_WORLD	= 0x3B,		/* USA & Canada w/5470 band, 11h, DFS enabled */
56219442Sadrian
57219442Sadrian	ETSI1_WORLD	= 0x37,
58219442Sadrian	ETSI3_ETSIA	= 0x32,		/* France (optional) */
59219442Sadrian	ETSI2_WORLD	= 0x35,		/* Hungary & others */
60219442Sadrian	ETSI3_WORLD	= 0x36,		/* France & others */
61219442Sadrian	ETSI4_WORLD	= 0x30,
62219442Sadrian	ETSI4_ETSIC	= 0x38,
63219442Sadrian	ETSI5_WORLD	= 0x39,
64219442Sadrian	ETSI6_WORLD	= 0x34,		/* Bulgaria */
65219442Sadrian	ETSI_RESERVED	= 0x33,		/* Reserved (Do not used) */
66219442Sadrian
67219442Sadrian	MKK1_MKKA	= 0x40,		/* Japan (JP1) */
68219442Sadrian	MKK1_MKKB	= 0x41,		/* Japan (JP0) */
69219442Sadrian	APL4_WORLD	= 0x42,		/* Singapore */
70219442Sadrian	MKK2_MKKA	= 0x43,		/* Japan with 4.9G channels */
71219442Sadrian	APL_RESERVED	= 0x44,		/* Reserved (Do not used)  */
72219442Sadrian	APL2_WORLD	= 0x45,		/* Korea */
73219442Sadrian	APL2_APLC	= 0x46,
74219442Sadrian	APL3_WORLD	= 0x47,
75219442Sadrian	MKK1_FCCA	= 0x48,		/* Japan (JP1-1) */
76219442Sadrian	APL2_APLD	= 0x49,		/* Korea with 2.3G channels */
77219442Sadrian	MKK1_MKKA1	= 0x4A,		/* Japan (JE1) */
78219442Sadrian	MKK1_MKKA2	= 0x4B,		/* Japan (JE2) */
79219442Sadrian	MKK1_MKKC	= 0x4C,		/* Japan (MKK1_MKKA,except Ch14) */
80219442Sadrian
81219442Sadrian	APL3_FCCA       = 0x50,
82219442Sadrian	APL1_WORLD	= 0x52,		/* Latin America */
83219442Sadrian	APL1_FCCA	= 0x53,
84219442Sadrian	APL1_APLA	= 0x54,
85219442Sadrian	APL1_ETSIC	= 0x55,
86219442Sadrian	APL2_ETSIC	= 0x56,		/* Venezuela */
87219442Sadrian	APL5_WORLD	= 0x58,		/* Chile */
88219442Sadrian	APL6_WORLD	= 0x5B,		/* Singapore */
89219442Sadrian	APL7_FCCA   	= 0x5C,     	/* Taiwan 5.47 Band */
90219442Sadrian	APL8_WORLD  	= 0x5D,     	/* Malaysia 5GHz */
91219442Sadrian	APL9_WORLD  	= 0x5E,     	/* Korea 5GHz */
92219442Sadrian
93219442Sadrian	/*
94219442Sadrian	 * World mode SKUs
95219442Sadrian	 */
96219442Sadrian	WOR0_WORLD	= 0x60,		/* World0 (WO0 SKU) */
97219442Sadrian	WOR1_WORLD	= 0x61,		/* World1 (WO1 SKU) */
98219442Sadrian	WOR2_WORLD	= 0x62,		/* World2 (WO2 SKU) */
99219442Sadrian	WOR3_WORLD	= 0x63,		/* World3 (WO3 SKU) */
100219442Sadrian	WOR4_WORLD	= 0x64,		/* World4 (WO4 SKU) */
101219442Sadrian	WOR5_ETSIC	= 0x65,		/* World5 (WO5 SKU) */
102219442Sadrian
103219442Sadrian	WOR01_WORLD	= 0x66,		/* World0-1 (WW0-1 SKU) */
104219442Sadrian	WOR02_WORLD	= 0x67,		/* World0-2 (WW0-2 SKU) */
105219442Sadrian	EU1_WORLD	= 0x68,		/* Same as World0-2 (WW0-2 SKU), except active scan ch1-13. No ch14 */
106219442Sadrian
107219442Sadrian	WOR9_WORLD	= 0x69,		/* World9 (WO9 SKU) */
108219442Sadrian	WORA_WORLD	= 0x6A,		/* WorldA (WOA SKU) */
109219442Sadrian	WORB_WORLD	= 0x6B,		/* WorldB (WOB SKU) */
110219442Sadrian
111219442Sadrian	MKK3_MKKB	= 0x80,		/* Japan UNI-1 even + MKKB */
112219442Sadrian	MKK3_MKKA2	= 0x81,		/* Japan UNI-1 even + MKKA2 */
113219442Sadrian	MKK3_MKKC	= 0x82,		/* Japan UNI-1 even + MKKC */
114219442Sadrian
115219442Sadrian	MKK4_MKKB	= 0x83,		/* Japan UNI-1 even + UNI-2 + MKKB */
116219442Sadrian	MKK4_MKKA2	= 0x84,		/* Japan UNI-1 even + UNI-2 + MKKA2 */
117219442Sadrian	MKK4_MKKC	= 0x85,		/* Japan UNI-1 even + UNI-2 + MKKC */
118219442Sadrian
119219442Sadrian	MKK5_MKKB	= 0x86,		/* Japan UNI-1 even + UNI-2 + mid-band + MKKB */
120219442Sadrian	MKK5_MKKA2	= 0x87,		/* Japan UNI-1 even + UNI-2 + mid-band + MKKA2 */
121219442Sadrian	MKK5_MKKC	= 0x88,		/* Japan UNI-1 even + UNI-2 + mid-band + MKKC */
122219442Sadrian
123219442Sadrian	MKK6_MKKB	= 0x89,		/* Japan UNI-1 even + UNI-1 odd MKKB */
124219442Sadrian	MKK6_MKKA2	= 0x8A,		/* Japan UNI-1 even + UNI-1 odd + MKKA2 */
125219442Sadrian	MKK6_MKKC	= 0x8B,		/* Japan UNI-1 even + UNI-1 odd + MKKC */
126219442Sadrian
127219442Sadrian	MKK7_MKKB	= 0x8C,		/* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKB */
128219442Sadrian	MKK7_MKKA2	= 0x8D,		/* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */
129219442Sadrian	MKK7_MKKC	= 0x8E,		/* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKC */
130219442Sadrian
131219442Sadrian	MKK8_MKKB	= 0x8F,		/* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB */
132219442Sadrian	MKK8_MKKA2	= 0x90,		/* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKA2 */
133219442Sadrian	MKK8_MKKC	= 0x91,		/* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKC */
134219442Sadrian
135219442Sadrian	/* Following definitions are used only by s/w to map old
136219442Sadrian 	 * Japan SKUs.
137219442Sadrian	 */
138219442Sadrian	MKK3_MKKA       = 0xF0,         /* Japan UNI-1 even + MKKA */
139219442Sadrian	MKK3_MKKA1      = 0xF1,         /* Japan UNI-1 even + MKKA1 */
140219442Sadrian	MKK3_FCCA       = 0xF2,         /* Japan UNI-1 even + FCCA */
141219442Sadrian	MKK4_MKKA       = 0xF3,         /* Japan UNI-1 even + UNI-2 + MKKA */
142219442Sadrian	MKK4_MKKA1      = 0xF4,         /* Japan UNI-1 even + UNI-2 + MKKA1 */
143219442Sadrian	MKK4_FCCA       = 0xF5,         /* Japan UNI-1 even + UNI-2 + FCCA */
144219442Sadrian	MKK9_MKKA       = 0xF6,         /* Japan UNI-1 even + 4.9GHz */
145219442Sadrian	MKK10_MKKA      = 0xF7,         /* Japan UNI-1 even + UNI-2 + 4.9GHz */
146219442Sadrian
147219442Sadrian	/*
148219442Sadrian	 * Regulator domains ending in a number (e.g. APL1,
149219442Sadrian	 * MK1, ETSI4, etc) apply to 5GHz channel and power
150219442Sadrian	 * information.  Regulator domains ending in a letter
151219442Sadrian	 * (e.g. APLA, FCCA, etc) apply to 2.4GHz channel and
152219442Sadrian	 * power information.
153219442Sadrian	 */
154219442Sadrian	APL1		= 0x0150,	/* LAT & Asia */
155219442Sadrian	APL2		= 0x0250,	/* LAT & Asia */
156219442Sadrian	APL3		= 0x0350,	/* Taiwan */
157219442Sadrian	APL4		= 0x0450,	/* Jordan */
158219442Sadrian	APL5		= 0x0550,	/* Chile */
159219442Sadrian	APL6		= 0x0650,	/* Singapore */
160219442Sadrian	APL8		= 0x0850,	/* Malaysia */
161219442Sadrian	APL9		= 0x0950,	/* Korea (South) ROC 3 */
162219442Sadrian
163219442Sadrian	ETSI1		= 0x0130,	/* Europe & others */
164219442Sadrian	ETSI2		= 0x0230,	/* Europe & others */
165219442Sadrian	ETSI3		= 0x0330,	/* Europe & others */
166219442Sadrian	ETSI4		= 0x0430,	/* Europe & others */
167219442Sadrian	ETSI5		= 0x0530,	/* Europe & others */
168219442Sadrian	ETSI6		= 0x0630,	/* Europe & others */
169219442Sadrian	ETSIA		= 0x0A30,	/* France */
170219442Sadrian	ETSIB		= 0x0B30,	/* Israel */
171219442Sadrian	ETSIC		= 0x0C30,	/* Latin America */
172219442Sadrian
173219442Sadrian	FCC1		= 0x0110,	/* US & others */
174219442Sadrian	FCC2		= 0x0120,	/* Canada, Australia & New Zealand */
175219442Sadrian	FCC3		= 0x0160,	/* US w/new middle band & DFS */
176219442Sadrian	FCC4          	= 0x0165,     	/* US Public Safety */
177219442Sadrian	FCC5          	= 0x0166,     	/* US w/ 1/2 and 1/4 width channels */
178219442Sadrian	FCCA		= 0x0A10,
179219442Sadrian	FCCB		= 0x0A11,	/* US w/ 1/2 and 1/4 width channels */
180219442Sadrian
181219442Sadrian	APLD		= 0x0D50,	/* South Korea */
182219442Sadrian
183219442Sadrian	MKK1		= 0x0140,	/* Japan (UNI-1 odd)*/
184219442Sadrian	MKK2		= 0x0240,	/* Japan (4.9 GHz + UNI-1 odd) */
185219442Sadrian	MKK3		= 0x0340,	/* Japan (UNI-1 even) */
186219442Sadrian	MKK4		= 0x0440,	/* Japan (UNI-1 even + UNI-2) */
187219442Sadrian	MKK5		= 0x0540,	/* Japan (UNI-1 even + UNI-2 + mid-band) */
188219442Sadrian	MKK6		= 0x0640,	/* Japan (UNI-1 odd + UNI-1 even) */
189219442Sadrian	MKK7		= 0x0740,	/* Japan (UNI-1 odd + UNI-1 even + UNI-2 */
190219442Sadrian	MKK8		= 0x0840,	/* Japan (UNI-1 odd + UNI-1 even + UNI-2 + mid-band) */
191219442Sadrian	MKK9            = 0x0940,       /* Japan (UNI-1 even + 4.9 GHZ) */
192219442Sadrian	MKK10           = 0x0B40,       /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */
193219442Sadrian	MKKA		= 0x0A40,	/* Japan */
194219442Sadrian	MKKC		= 0x0A50,
195219442Sadrian
196219442Sadrian	NULL1		= 0x0198,
197219442Sadrian	WORLD		= 0x0199,
198219442Sadrian	DEBUG_REG_DMN	= 0x01ff,
199219442Sadrian};
200219442Sadrian
201219442Sadrian#endif
202