xref: /titanic_50/usr/src/uts/common/io/mwl/mwl_var.h (revision cb2cd10c80b04aaf5cbff6a515927ff42d216c7d)
1d8d81063Sfei feng - Sun Microsystems - Beijing China /*
2d8d81063Sfei feng - Sun Microsystems - Beijing China  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3d8d81063Sfei feng - Sun Microsystems - Beijing China  * Use is subject to license terms.
4d8d81063Sfei feng - Sun Microsystems - Beijing China  */
5d8d81063Sfei feng - Sun Microsystems - Beijing China 
6d8d81063Sfei feng - Sun Microsystems - Beijing China /*
7d8d81063Sfei feng - Sun Microsystems - Beijing China  * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting
8d8d81063Sfei feng - Sun Microsystems - Beijing China  * Copyright (c) 2007-2009 Marvell Semiconductor, Inc.
9d8d81063Sfei feng - Sun Microsystems - Beijing China  * All rights reserved.
10d8d81063Sfei feng - Sun Microsystems - Beijing China  *
11d8d81063Sfei feng - Sun Microsystems - Beijing China  * Redistribution and use in source and binary forms, with or without
12d8d81063Sfei feng - Sun Microsystems - Beijing China  * modification, are permitted provided that the following conditions
13d8d81063Sfei feng - Sun Microsystems - Beijing China  * are met:
14d8d81063Sfei feng - Sun Microsystems - Beijing China  * 1. Redistributions of source code must retain the above copyright
15d8d81063Sfei feng - Sun Microsystems - Beijing China  *    notice, this list of conditions and the following disclaimer,
16d8d81063Sfei feng - Sun Microsystems - Beijing China  *    without modification.
17d8d81063Sfei feng - Sun Microsystems - Beijing China  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d8d81063Sfei feng - Sun Microsystems - Beijing China  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
19d8d81063Sfei feng - Sun Microsystems - Beijing China  *    redistribution must be conditioned upon including a substantially
20d8d81063Sfei feng - Sun Microsystems - Beijing China  *    similar Disclaimer requirement for further binary redistribution.
21d8d81063Sfei feng - Sun Microsystems - Beijing China  *
22d8d81063Sfei feng - Sun Microsystems - Beijing China  * NO WARRANTY
23d8d81063Sfei feng - Sun Microsystems - Beijing China  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24d8d81063Sfei feng - Sun Microsystems - Beijing China  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25d8d81063Sfei feng - Sun Microsystems - Beijing China  * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
26d8d81063Sfei feng - Sun Microsystems - Beijing China  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27d8d81063Sfei feng - Sun Microsystems - Beijing China  * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
28d8d81063Sfei feng - Sun Microsystems - Beijing China  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29d8d81063Sfei feng - Sun Microsystems - Beijing China  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30d8d81063Sfei feng - Sun Microsystems - Beijing China  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
31d8d81063Sfei feng - Sun Microsystems - Beijing China  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32d8d81063Sfei feng - Sun Microsystems - Beijing China  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
33d8d81063Sfei feng - Sun Microsystems - Beijing China  * THE POSSIBILITY OF SUCH DAMAGES.
34d8d81063Sfei feng - Sun Microsystems - Beijing China  */
35d8d81063Sfei feng - Sun Microsystems - Beijing China 
36d8d81063Sfei feng - Sun Microsystems - Beijing China /*
37d8d81063Sfei feng - Sun Microsystems - Beijing China  * Definitions for the Marvell 88W8363 Wireless LAN controller.
38d8d81063Sfei feng - Sun Microsystems - Beijing China  */
39d8d81063Sfei feng - Sun Microsystems - Beijing China 
40d8d81063Sfei feng - Sun Microsystems - Beijing China #ifndef	_MWL_VAR_H
41d8d81063Sfei feng - Sun Microsystems - Beijing China #define	_MWL_VAR_H
42d8d81063Sfei feng - Sun Microsystems - Beijing China 
43d8d81063Sfei feng - Sun Microsystems - Beijing China #ifdef __cplusplus
44d8d81063Sfei feng - Sun Microsystems - Beijing China extern "C" {
45d8d81063Sfei feng - Sun Microsystems - Beijing China #endif
46d8d81063Sfei feng - Sun Microsystems - Beijing China 
47d8d81063Sfei feng - Sun Microsystems - Beijing China #include <sys/note.h>
48d8d81063Sfei feng - Sun Microsystems - Beijing China #include "mwl_reg.h"
49d8d81063Sfei feng - Sun Microsystems - Beijing China 
50d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_CMDBUF_SIZE		0x4000	/* size of f/w command buffer */
51d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_RX_RING_COUNT	256
52d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_TX_RING_COUNT	256
53d8d81063Sfei feng - Sun Microsystems - Beijing China 
54d8d81063Sfei feng - Sun Microsystems - Beijing China #ifndef MWL_AGGR_SIZE
55d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_AGGR_SIZE		3839	/* max tx agregation size */
56d8d81063Sfei feng - Sun Microsystems - Beijing China #endif
57d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_AGEINTERVAL		1	/* poke f/w every sec to age q's */
58d8d81063Sfei feng - Sun Microsystems - Beijing China 
59d8d81063Sfei feng - Sun Microsystems - Beijing China /*
60d8d81063Sfei feng - Sun Microsystems - Beijing China  * Define total number of TX queues in the shared memory.
61d8d81063Sfei feng - Sun Microsystems - Beijing China  * This count includes the EDCA queues, Block Ack queues, and HCCA queues
62d8d81063Sfei feng - Sun Microsystems - Beijing China  * In addition to this, there could be a management packet queue some
63d8d81063Sfei feng - Sun Microsystems - Beijing China  * time in the future
64d8d81063Sfei feng - Sun Microsystems - Beijing China  */
65d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NUM_EDCA_QUEUES	4
66d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NUM_HCCA_QUEUES	0
67d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NUM_BA_QUEUES	0
68d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NUM_MGMT_QUEUES	0
69d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NUM_ACK_QUEUES	0
70d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NUM_TX_QUEUES \
71d8d81063Sfei feng - Sun Microsystems - Beijing China 	(MWL_NUM_EDCA_QUEUES + MWL_NUM_HCCA_QUEUES + MWL_NUM_BA_QUEUES + \
72d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_NUM_MGMT_QUEUES + MWL_NUM_ACK_QUEUES)
73d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_MAX_RXWCB_QUEUES	1
74d8d81063Sfei feng - Sun Microsystems - Beijing China 
75d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_MAX_SUPPORTED_RATES	12
76d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_MAX_SUPPORTED_MCS	32
77d8d81063Sfei feng - Sun Microsystems - Beijing China 
78d8d81063Sfei feng - Sun Microsystems - Beijing China #define	PWTAGETRATETABLE20M	14 * 4
79d8d81063Sfei feng - Sun Microsystems - Beijing China #define	PWTAGETRATETABLE40M	9 * 4
80d8d81063Sfei feng - Sun Microsystems - Beijing China #define	PWTAGETRATETABLE20M_5G	35 * 4
81d8d81063Sfei feng - Sun Microsystems - Beijing China #define	PWTAGETRATETABLE40M_5G	16 * 4
82d8d81063Sfei feng - Sun Microsystems - Beijing China 
83d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MHF_CALDATA	0x0001		/* cal data retrieved */
84d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MHF_FWHANG	0x0002		/* fw appears hung */
85d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MHF_MBSS	0x0004		/* mbss enabled */
86d8d81063Sfei feng - Sun Microsystems - Beijing China 
87d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_STURBO	0x00002000 /* 11a static turbo channel only */
88d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_HALF	0x00004000 /* Half rate channel */
89d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_QUARTER	0x00008000 /* Quarter rate channel */
90d8d81063Sfei feng - Sun Microsystems - Beijing China 
91d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_HT20	0x00010000 /* HT 20 channel */
92d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_HT40U	0x00020000 /* HT 40 channel w/ ext above */
93d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_HT40D	0x00040000 /* HT 40 channel w/ ext below */
94d8d81063Sfei feng - Sun Microsystems - Beijing China 
95d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_FHSS \
96d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_GFSK)
97d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_A	\
98d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
99d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_B	\
100d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
101d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_PUREG \
102d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM)
103d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_G	\
104d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
105d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_HT40	\
106d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_HT40U | IEEE80211_CHAN_HT40D)
107d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_HT	\
108d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_HT20 | IEEE80211_CHAN_HT40)
109d8d81063Sfei feng - Sun Microsystems - Beijing China 
110d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_108A \
111d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_A | IEEE80211_CHAN_TURBO)
112d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_108G \
113d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_PUREG | IEEE80211_CHAN_TURBO)
114d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_CHAN_ST \
115d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_CHAN_108A | IEEE80211_CHAN_STURBO)
116d8d81063Sfei feng - Sun Microsystems - Beijing China 
117d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_MODE_STURBO_A	7
118d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_MODE_11NA	8	/* 5GHz, w/ HT */
119d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_MODE_11NG	9	/* 2GHz, w/ HT */
120d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_MODE_HALF	10	/* OFDM, 1/2x clock */
121d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_MODE_QUARTER	11	/* OFDM, 1/4x clock */
122d8d81063Sfei feng - Sun Microsystems - Beijing China 
123d8d81063Sfei feng - Sun Microsystems - Beijing China 
124d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_2GHZ_F(_c) \
125d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_2GHZ) != 0)
126d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_5GHZ_F(_c) \
127d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_5GHZ) != 0)
128d8d81063Sfei feng - Sun Microsystems - Beijing China 
129d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_FHSS(_c) \
130d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_FHSS) == IEEE80211_CHAN_FHSS)
131d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_A(_c) \
132d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A)
133d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_B(_c) \
134d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B)
135d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_PUREG(_c) \
136d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG)
137d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_G(_c) \
138d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G)
139d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_ANYG(_c) \
140d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_IS_CHAN_PUREG(_c) || IEEE80211_IS_CHAN_G(_c))
141d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_ST(_c) \
142d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_ST) == IEEE80211_CHAN_ST)
143d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_108A(_c) \
144d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_108A) == IEEE80211_CHAN_108A)
145d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_108G(_c) \
146d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_108G) == IEEE80211_CHAN_108G)
147d8d81063Sfei feng - Sun Microsystems - Beijing China 
148d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_HTA(_c) \
149d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_IS_CHAN_5GHZ_F(_c) && \
150d8d81063Sfei feng - Sun Microsystems - Beijing China 	((_c)->ic_flags & IEEE80211_CHAN_HT) != 0)
151d8d81063Sfei feng - Sun Microsystems - Beijing China 
152d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_HTG(_c) \
153d8d81063Sfei feng - Sun Microsystems - Beijing China 	(IEEE80211_IS_CHAN_2GHZ_F(_c) && \
154d8d81063Sfei feng - Sun Microsystems - Beijing China 	((_c)->ic_flags & IEEE80211_CHAN_HT) != 0)
155d8d81063Sfei feng - Sun Microsystems - Beijing China 
156d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_TURBO(_c) \
157d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_TURBO) != 0)
158d8d81063Sfei feng - Sun Microsystems - Beijing China 
159d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_HALF(_c) \
160d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_HALF) != 0)
161d8d81063Sfei feng - Sun Microsystems - Beijing China 
162d8d81063Sfei feng - Sun Microsystems - Beijing China #define	IEEE80211_IS_CHAN_QUARTER(_c) \
163d8d81063Sfei feng - Sun Microsystems - Beijing China 	(((_c)->ic_flags & IEEE80211_CHAN_QUARTER) != 0)
164d8d81063Sfei feng - Sun Microsystems - Beijing China 
165d8d81063Sfei feng - Sun Microsystems - Beijing China /* WME stream classes */
166d8d81063Sfei feng - Sun Microsystems - Beijing China #define	WME_AC_BE	0		/* best effort */
167d8d81063Sfei feng - Sun Microsystems - Beijing China #define	WME_AC_BK	1		/* background */
168d8d81063Sfei feng - Sun Microsystems - Beijing China #define	WME_AC_VI	2		/* video */
169d8d81063Sfei feng - Sun Microsystems - Beijing China #define	WME_AC_VO	3		/* voice */
170d8d81063Sfei feng - Sun Microsystems - Beijing China 
171d8d81063Sfei feng - Sun Microsystems - Beijing China /*
172d8d81063Sfei feng - Sun Microsystems - Beijing China  * Transmit queue assignment.
173d8d81063Sfei feng - Sun Microsystems - Beijing China  */
174d8d81063Sfei feng - Sun Microsystems - Beijing China enum {
175d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_WME_AC_BK	= 0,		/* background access category */
176d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_WME_AC_BE	= 1, 		/* best effort access category */
177d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_WME_AC_VI	= 2,		/* video access category */
178d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_WME_AC_VO	= 3,		/* voice access category */
179d8d81063Sfei feng - Sun Microsystems - Beijing China };
180d8d81063Sfei feng - Sun Microsystems - Beijing China 
181d8d81063Sfei feng - Sun Microsystems - Beijing China const char *mwl_wme_acnames[] = {
182d8d81063Sfei feng - Sun Microsystems - Beijing China 	"WME_AC_BE",
183d8d81063Sfei feng - Sun Microsystems - Beijing China 	"WME_AC_BK",
184d8d81063Sfei feng - Sun Microsystems - Beijing China 	"WME_AC_VI",
185d8d81063Sfei feng - Sun Microsystems - Beijing China 	"WME_AC_VO",
186d8d81063Sfei feng - Sun Microsystems - Beijing China 	"WME_UPSD",
187d8d81063Sfei feng - Sun Microsystems - Beijing China };
188d8d81063Sfei feng - Sun Microsystems - Beijing China 
189d8d81063Sfei feng - Sun Microsystems - Beijing China /*
190d8d81063Sfei feng - Sun Microsystems - Beijing China  * Set Antenna Configuration (legacy operation).
191d8d81063Sfei feng - Sun Microsystems - Beijing China  *
192d8d81063Sfei feng - Sun Microsystems - Beijing China  * The RX antenna can be selected using the the bitmask
193d8d81063Sfei feng - Sun Microsystems - Beijing China  * ant (bit 0 = antenna 1, bit 1 = antenna 2, etc.)
194d8d81063Sfei feng - Sun Microsystems - Beijing China  * (diversity?XXX)
195d8d81063Sfei feng - Sun Microsystems - Beijing China  */
196d8d81063Sfei feng - Sun Microsystems - Beijing China typedef enum {
197d8d81063Sfei feng - Sun Microsystems - Beijing China 	WL_ANTENNATYPE_RX = 1,
198d8d81063Sfei feng - Sun Microsystems - Beijing China 	WL_ANTENNATYPE_TX = 2,
199d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_ANTENNA;
200d8d81063Sfei feng - Sun Microsystems - Beijing China 
201d8d81063Sfei feng - Sun Microsystems - Beijing China /*
202d8d81063Sfei feng - Sun Microsystems - Beijing China  * Set Radio Configuration.
203d8d81063Sfei feng - Sun Microsystems - Beijing China  *
204d8d81063Sfei feng - Sun Microsystems - Beijing China  * onoff != 0 turns radio on; otherwise off.
205d8d81063Sfei feng - Sun Microsystems - Beijing China  * if radio is enabled, the preamble is set too.
206d8d81063Sfei feng - Sun Microsystems - Beijing China  */
207d8d81063Sfei feng - Sun Microsystems - Beijing China typedef enum {
208d8d81063Sfei feng - Sun Microsystems - Beijing China 	WL_LONG_PREAMBLE = 1,
209d8d81063Sfei feng - Sun Microsystems - Beijing China 	WL_SHORT_PREAMBLE = 3,
210d8d81063Sfei feng - Sun Microsystems - Beijing China 	WL_AUTO_PREAMBLE = 5,
211d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_PREAMBLE;
212d8d81063Sfei feng - Sun Microsystems - Beijing China 
213d8d81063Sfei feng - Sun Microsystems - Beijing China /*
214d8d81063Sfei feng - Sun Microsystems - Beijing China  * Transmit rate control.  Rate codes with bit 0x80 set are
215d8d81063Sfei feng - Sun Microsystems - Beijing China  * interpreted as MCS codes (this limits us to 0-127).  The
216d8d81063Sfei feng - Sun Microsystems - Beijing China  * transmit rate can be set to a single fixed rate or can
217d8d81063Sfei feng - Sun Microsystems - Beijing China  * be configured to start at an initial rate and drop based
218d8d81063Sfei feng - Sun Microsystems - Beijing China  * on retry counts.
219d8d81063Sfei feng - Sun Microsystems - Beijing China  */
220d8d81063Sfei feng - Sun Microsystems - Beijing China typedef enum {
221d8d81063Sfei feng - Sun Microsystems - Beijing China 	RATE_AUTO	= 0,	/* rate selected by firmware */
222d8d81063Sfei feng - Sun Microsystems - Beijing China 	RATE_FIXED	= 2,	/* rate fixed */
223d8d81063Sfei feng - Sun Microsystems - Beijing China 	RATE_FIXED_DROP	= 1,	/* rate starts fixed but may drop */
224d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_TXRATE_HANDLING;
225d8d81063Sfei feng - Sun Microsystems - Beijing China 
226d8d81063Sfei feng - Sun Microsystems - Beijing China typedef enum {
227d8d81063Sfei feng - Sun Microsystems - Beijing China 	CSMODE_CONSERVATIVE = 0,
228d8d81063Sfei feng - Sun Microsystems - Beijing China 	CSMODE_AGGRESSIVE = 1,
229d8d81063Sfei feng - Sun Microsystems - Beijing China 	CSMODE_AUTO_ENA = 2,
230d8d81063Sfei feng - Sun Microsystems - Beijing China 	CSMODE_AUTO_DIS = 3,
231d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_CSMODE;
232d8d81063Sfei feng - Sun Microsystems - Beijing China 
233d8d81063Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
234d8d81063Sfei feng - Sun Microsystems - Beijing China 
235d8d81063Sfei feng - Sun Microsystems - Beijing China /*
236d8d81063Sfei feng - Sun Microsystems - Beijing China  * Device revision information.
237d8d81063Sfei feng - Sun Microsystems - Beijing China  */
238d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
239d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	mh_devid;		/* PCI device ID */
240d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	mh_subvendorid;		/* PCI subvendor ID */
241d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	mh_macRev;		/* MAC revision */
242d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	mh_phyRev;		/* PHY revision */
243d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_DIAG_REVS;
244d8d81063Sfei feng - Sun Microsystems - Beijing China 
245d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
246d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t freqLow;
247d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t freqHigh;
248d8d81063Sfei feng - Sun Microsystems - Beijing China 	int nchannels;
249d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_hal_channel {
250d8d81063Sfei feng - Sun Microsystems - Beijing China 		uint16_t freq;		/* channel center */
251d8d81063Sfei feng - Sun Microsystems - Beijing China 		uint8_t ieee;		/* channel number */
252d8d81063Sfei feng - Sun Microsystems - Beijing China 		int8_t maxTxPow;	/* max tx power (dBm) */
253d8d81063Sfei feng - Sun Microsystems - Beijing China 		uint8_t targetPowers[4]; /* target powers (dBm) */
254d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_HAL_MAXCHAN	40
255d8d81063Sfei feng - Sun Microsystems - Beijing China 	} channels[MWL_HAL_MAXCHAN];
256d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_CHANNELINFO;
257d8d81063Sfei feng - Sun Microsystems - Beijing China 
258d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
259d8d81063Sfei feng - Sun Microsystems - Beijing China     uint32_t	FreqBand : 6,
260d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_FREQ_BAND_2DOT4GHZ	0x1
261d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_FREQ_BAND_5GHZ	0x4
262d8d81063Sfei feng - Sun Microsystems - Beijing China 		ChnlWidth: 5,
263d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_CH_10_MHz_WIDTH  	0x1
264d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_CH_20_MHz_WIDTH  	0x2
265d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_CH_40_MHz_WIDTH  	0x4
266d8d81063Sfei feng - Sun Microsystems - Beijing China 		ExtChnlOffset: 2,
267d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_EXT_CH_NONE		0x0
268d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_EXT_CH_ABOVE_CTRL_CH 0x1
269d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_EXT_CH_BELOW_CTRL_CH 0x3
270d8d81063Sfei feng - Sun Microsystems - Beijing China 		    : 19;		/* reserved */
271d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_CHANNEL_FLAGS;
272d8d81063Sfei feng - Sun Microsystems - Beijing China 
273d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
274d8d81063Sfei feng - Sun Microsystems - Beijing China     uint32_t	channel;
275d8d81063Sfei feng - Sun Microsystems - Beijing China     MWL_HAL_CHANNEL_FLAGS channelFlags;
276d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_CHANNEL;
277d8d81063Sfei feng - Sun Microsystems - Beijing China 
278d8d81063Sfei feng - Sun Microsystems - Beijing China /*
279d8d81063Sfei feng - Sun Microsystems - Beijing China  * Channels are specified by frequency and attributes.
280d8d81063Sfei feng - Sun Microsystems - Beijing China  */
281d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_channel {
282d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	ic_flags;	/* see below */
283d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	ic_freq;	/* setting in Mhz */
284d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		ic_ieee;	/* IEEE channel number */
285d8d81063Sfei feng - Sun Microsystems - Beijing China 	int8_t		ic_maxregpower;	/* maximum regulatory tx power in dBm */
286d8d81063Sfei feng - Sun Microsystems - Beijing China 	int8_t		ic_maxpower;	/* maximum tx power in .5 dBm */
287d8d81063Sfei feng - Sun Microsystems - Beijing China 	int8_t		ic_minpower;	/* minimum tx power in .5 dBm */
288d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		ic_state;	/* dynamic state */
289d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		ic_extieee;	/* HT40 extension channel number */
290d8d81063Sfei feng - Sun Microsystems - Beijing China 	int8_t		ic_maxantgain;	/* maximum antenna gain in .5 dBm */
291d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		ic_pad;
292d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	ic_devdata;	/* opaque device/driver data */
293d8d81063Sfei feng - Sun Microsystems - Beijing China };
294d8d81063Sfei feng - Sun Microsystems - Beijing China 
295d8d81063Sfei feng - Sun Microsystems - Beijing China /*
296d8d81063Sfei feng - Sun Microsystems - Beijing China  * Regulatory Information.
297d8d81063Sfei feng - Sun Microsystems - Beijing China  */
298d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_regdomain {
299d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	regdomain;	/* SKU */
300d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	country;	/* ISO country code */
301d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		location;	/* I (indoor), O (outdoor), other */
302d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		ecm;		/* Extended Channel Mode */
303d8d81063Sfei feng - Sun Microsystems - Beijing China 	char		isocc[2];	/* country code string */
304d8d81063Sfei feng - Sun Microsystems - Beijing China 	short		pad[2];
305d8d81063Sfei feng - Sun Microsystems - Beijing China };
306d8d81063Sfei feng - Sun Microsystems - Beijing China 
307d8d81063Sfei feng - Sun Microsystems - Beijing China /*
308d8d81063Sfei feng - Sun Microsystems - Beijing China  * Get Hardware/Firmware capabilities.
309d8d81063Sfei feng - Sun Microsystems - Beijing China  */
310d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_hal_hwspec {
311d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		hwVersion;	/* version of the HW */
312d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		hostInterface;	/* host interface */
313d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	maxNumWCB;	/* max # of WCB FW handles */
314d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	maxNumMCAddr;	/* max # of mcast addresse FW handles */
315d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	maxNumTxWcb;	/* max # of tx descs per WCB */
316d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t		macAddr[6];	/* MAC address programmed in HW */
317d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	regionCode;	/* EEPROM region code */
318d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	numAntennas;	/* Number of antenna used */
319d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	fwReleaseNumber; /* firmware release number */
320d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	wcbBase0;
321d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	rxDescRead;
322d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	rxDescWrite;
323d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	ulFwAwakeCookie;
324d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	wcbBase[MWL_NUM_TX_QUEUES - MWL_NUM_ACK_QUEUES];
325d8d81063Sfei feng - Sun Microsystems - Beijing China };
326d8d81063Sfei feng - Sun Microsystems - Beijing China 
327d8d81063Sfei feng - Sun Microsystems - Beijing China /*
328d8d81063Sfei feng - Sun Microsystems - Beijing China  * Crypto Configuration.
329d8d81063Sfei feng - Sun Microsystems - Beijing China  */
330d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
331d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	pad;
332d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	keyTypeId;
333d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_TYPE_ID_WEP		0
334d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_TYPE_ID_TKIP	1
335d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_TYPE_ID_AES		2	/* AES-CCMP */
336d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	keyFlags;
337d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_INUSE		0x00000001	/* indicate key is in use */
338d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_RXGROUPKEY	0x00000002	/* Group key for RX only */
339d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_TXGROUPKEY	0x00000004	/* Group key for TX */
340d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_PAIRWISE	0x00000008	/* pairwise */
341d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_RXONLY		0x00000010	/* only used for RX */
342d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_AUTHENTICATOR	0x00000020	/* Key is for Authenticator */
343d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_TSC_VALID	0x00000040	/* Sequence counters valid */
344d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_WEP_TXKEY	0x01000000	/* Tx key for WEP */
345d8d81063Sfei feng - Sun Microsystems - Beijing China #define	KEY_FLAG_MICKEY_VALID	0x02000000	/* Tx/Rx MIC keys are valid */
346d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	keyIndex; 	/* for WEP only; actual key index */
347d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	keyLen;		/* key size in bytes */
348d8d81063Sfei feng - Sun Microsystems - Beijing China 	union {			/* key material, keyLen gives size */
349d8d81063Sfei feng - Sun Microsystems - Beijing China 		uint8_t	wep[16];	/* enough for 128 bits */
350d8d81063Sfei feng - Sun Microsystems - Beijing China 		uint8_t	aes[16];
351d8d81063Sfei feng - Sun Microsystems - Beijing China 		struct	{
352d8d81063Sfei feng - Sun Microsystems - Beijing China 		    /* NB: group or pairwise key is determined by keyFlags */
353d8d81063Sfei feng - Sun Microsystems - Beijing China 		    uint8_t	keyMaterial[16];
354d8d81063Sfei feng - Sun Microsystems - Beijing China 		    uint8_t	txMic[8];
355d8d81063Sfei feng - Sun Microsystems - Beijing China 		    uint8_t	rxMic[8];
356d8d81063Sfei feng - Sun Microsystems - Beijing China 		    struct {
357d8d81063Sfei feng - Sun Microsystems - Beijing China 			uint16_t	low;
358d8d81063Sfei feng - Sun Microsystems - Beijing China 			uint32_t	high;
359d8d81063Sfei feng - Sun Microsystems - Beijing China 		    } rsc;
360d8d81063Sfei feng - Sun Microsystems - Beijing China 		struct	{
361d8d81063Sfei feng - Sun Microsystems - Beijing China 			uint16_t	low;
362d8d81063Sfei feng - Sun Microsystems - Beijing China 			uint32_t	high;
363d8d81063Sfei feng - Sun Microsystems - Beijing China 		    } tsc;
364d8d81063Sfei feng - Sun Microsystems - Beijing China 		} tkip;
365d8d81063Sfei feng - Sun Microsystems - Beijing China 	} key;
366d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_KEYVAL;
367d8d81063Sfei feng - Sun Microsystems - Beijing China 
368d8d81063Sfei feng - Sun Microsystems - Beijing China /*
369d8d81063Sfei feng - Sun Microsystems - Beijing China  * Supply tx/rx dma-related settings to the firmware.
370d8d81063Sfei feng - Sun Microsystems - Beijing China  */
371d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_hal_txrxdma {
372d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t   maxNumWCB;		/* max # of WCB FW handles */
373d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t   maxNumTxWcb;		/* max # of tx descs per WCB */
374d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t   rxDescRead;
375d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t   rxDescWrite;
376d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t   wcbBase[MWL_NUM_TX_QUEUES - MWL_NUM_ACK_QUEUES];
377d8d81063Sfei feng - Sun Microsystems - Beijing China };
378d8d81063Sfei feng - Sun Microsystems - Beijing China 
379d8d81063Sfei feng - Sun Microsystems - Beijing China /*
380d8d81063Sfei feng - Sun Microsystems - Beijing China  * Inform the firmware of a new association station.
381d8d81063Sfei feng - Sun Microsystems - Beijing China  * The address is the MAC address of the peer station.
382d8d81063Sfei feng - Sun Microsystems - Beijing China  * The AID is supplied sans the 0xc000 bits.  The station
383d8d81063Sfei feng - Sun Microsystems - Beijing China  * ID is defined by the caller.  The peer information must
384d8d81063Sfei feng - Sun Microsystems - Beijing China  * be supplied.
385d8d81063Sfei feng - Sun Microsystems - Beijing China  *
386d8d81063Sfei feng - Sun Microsystems - Beijing China  * NB: All values are in host byte order; any byte swapping
387d8d81063Sfei feng - Sun Microsystems - Beijing China  *     is handled by the hal.
388d8d81063Sfei feng - Sun Microsystems - Beijing China  */
389d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
390d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t LegacyRateBitMap;
391d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t HTRateBitMap;
392d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t CapInfo;
393d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t HTCapabilitiesInfo;
394d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t	MacHTParamInfo;
395d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t	Rev;
396d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct {
397d8d81063Sfei feng - Sun Microsystems - Beijing China 	    uint8_t ControlChan;
398d8d81063Sfei feng - Sun Microsystems - Beijing China 	    uint8_t AddChan;
399d8d81063Sfei feng - Sun Microsystems - Beijing China 	    uint8_t OpMode;
400d8d81063Sfei feng - Sun Microsystems - Beijing China 	    uint8_t stbc;
401d8d81063Sfei feng - Sun Microsystems - Beijing China 	} AddHtInfo;
402d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_PEERINFO;
403d8d81063Sfei feng - Sun Microsystems - Beijing China 
404d8d81063Sfei feng - Sun Microsystems - Beijing China typedef struct {
405d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t	McastRate;	/* rate for multicast frames */
406d8d81063Sfei feng - Sun Microsystems - Beijing China #define	RATE_MCS	0x80	/* rate is an MCS index */
407d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t	MgtRate;	/* rate for management frames */
408d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct {
409d8d81063Sfei feng - Sun Microsystems - Beijing China 	    uint8_t TryCount;	/* try this many times */
410d8d81063Sfei feng - Sun Microsystems - Beijing China 	    uint8_t Rate;	/* use this tx rate */
411d8d81063Sfei feng - Sun Microsystems - Beijing China 	} RateSeries[4];	/* rate series */
412d8d81063Sfei feng - Sun Microsystems - Beijing China } MWL_HAL_TXRATE;
413d8d81063Sfei feng - Sun Microsystems - Beijing China 
414d8d81063Sfei feng - Sun Microsystems - Beijing China #pragma pack()
415d8d81063Sfei feng - Sun Microsystems - Beijing China 
416d8d81063Sfei feng - Sun Microsystems - Beijing China /* driver-specific node state */
417d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_node {
418d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct ieee80211_node	mn_node;	/* base class */
419d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_ant_info	mn_ai;		/* antenna info */
420d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t	mn_avgrssi;	/* average rssi over all rx frames */
421d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t	mn_staid;	/* firmware station id */
422d8d81063Sfei feng - Sun Microsystems - Beijing China };
423d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NODE(ni)		((struct mwl_node *)(ni))
424d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_NODE_CONST(ni)	((const struct mwl_node *)(ni))
425d8d81063Sfei feng - Sun Microsystems - Beijing China 
426d8d81063Sfei feng - Sun Microsystems - Beijing China /*
427d8d81063Sfei feng - Sun Microsystems - Beijing China  * DMA state for tx/rx.
428d8d81063Sfei feng - Sun Microsystems - Beijing China  */
429d8d81063Sfei feng - Sun Microsystems - Beijing China 
430d8d81063Sfei feng - Sun Microsystems - Beijing China /*
431d8d81063Sfei feng - Sun Microsystems - Beijing China  * Software backed version of tx/rx descriptors.  We keep
432d8d81063Sfei feng - Sun Microsystems - Beijing China  * the software state out of the h/w descriptor structure
433d8d81063Sfei feng - Sun Microsystems - Beijing China  * so that may be allocated in uncached memory w/o paying
434d8d81063Sfei feng - Sun Microsystems - Beijing China  * performance hit.
435d8d81063Sfei feng - Sun Microsystems - Beijing China  */
436d8d81063Sfei feng - Sun Microsystems - Beijing China struct dma_area {
437d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_acc_handle_t	acc_hdl;	/* handle for memory */
438d8d81063Sfei feng - Sun Microsystems - Beijing China 	caddr_t			mem_va;		/* CPU VA of memory */
439d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		nslots;		/* number of slots */
440d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		size;		/* size per slot */
441d8d81063Sfei feng - Sun Microsystems - Beijing China 	size_t			alength;	/* allocated size */
442d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_dma_handle_t	dma_hdl;	/* DMA handle */
443d8d81063Sfei feng - Sun Microsystems - Beijing China 	offset_t		offset;		/* relative to handle */
444d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_dma_cookie_t	cookie;		/* associated cookie */
445d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		ncookies;	/* must be 1 */
446d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		token;		/* arbitrary identifier */
447d8d81063Sfei feng - Sun Microsystems - Beijing China };
448d8d81063Sfei feng - Sun Microsystems - Beijing China 
449d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_rxbuf {
450d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct dma_area		rxbuf_dma;	/* dma area for buf */
451d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		bf_baddr;
452d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t			*bf_mem;
453d8d81063Sfei feng - Sun Microsystems - Beijing China 	void			*bf_desc;
454d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		bf_daddr;
455d8d81063Sfei feng - Sun Microsystems - Beijing China };
456d8d81063Sfei feng - Sun Microsystems - Beijing China 
457d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_rx_ring {
458d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct dma_area		rxdesc_dma;
459d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		physaddr;
460d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_rxdesc	*desc;
461d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_rxbuf	*buf;
462d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			count;
463d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			cur;
464d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			next;
465d8d81063Sfei feng - Sun Microsystems - Beijing China };
466d8d81063Sfei feng - Sun Microsystems - Beijing China 
467d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_txbuf {
468d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct dma_area		txbuf_dma;
469d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		bf_baddr;	/* physical addr of buf */
470d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint8_t			*bf_mem;
471d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		bf_daddr;	/* physical addr of desc */
472d8d81063Sfei feng - Sun Microsystems - Beijing China 	void 			*bf_desc;	/* h/w descriptor */
473d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			bf_nseg;
474d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct ieee80211_node	*bf_node;
475d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_txq		*bf_txq;	/* backpointer to tx q/ring */
476d8d81063Sfei feng - Sun Microsystems - Beijing China };
477d8d81063Sfei feng - Sun Microsystems - Beijing China 
478d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_tx_ring {
479d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct dma_area		txdesc_dma;
480d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		physaddr;
481d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_txdesc	*desc;
482d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_txbuf	*buf;
483d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			qnum;	/* f/w q number */
484d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			txpri;	/* f/w tx priority */
485d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			count;
486d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			queued;
487d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			cur;
488d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			next;
489d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			stat;
490d8d81063Sfei feng - Sun Microsystems - Beijing China };
491d8d81063Sfei feng - Sun Microsystems - Beijing China 
492d8d81063Sfei feng - Sun Microsystems - Beijing China struct mwl_softc {
493d8d81063Sfei feng - Sun Microsystems - Beijing China 	ieee80211com_t		sc_ic;
494d8d81063Sfei feng - Sun Microsystems - Beijing China 	dev_info_t		*sc_dev;
495d8d81063Sfei feng - Sun Microsystems - Beijing China 
496d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* ddi reg handler */
497d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_acc_handle_t	sc_cfg_handle;
498d8d81063Sfei feng - Sun Microsystems - Beijing China 	caddr_t			sc_cfg_base;
499d8d81063Sfei feng - Sun Microsystems - Beijing China 
500d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* bar0 handler */
501d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_acc_handle_t	sc_mem_handle;
502d8d81063Sfei feng - Sun Microsystems - Beijing China 	caddr_t			sc_mem_base;
503d8d81063Sfei feng - Sun Microsystems - Beijing China 
504d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* bar1 handler */
505d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_acc_handle_t	sc_io_handle;
506d8d81063Sfei feng - Sun Microsystems - Beijing China 	caddr_t			sc_io_base;
507d8d81063Sfei feng - Sun Microsystems - Beijing China 
508d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t		sc_cachelsz;
509d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_dmabuf_size;
510d8d81063Sfei feng - Sun Microsystems - Beijing China 	uchar_t			sc_macaddr[6];
511d8d81063Sfei feng - Sun Microsystems - Beijing China 
512d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct dma_area		sc_cmd_dma;
513d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t		*sc_cmd_mem;	/* f/w cmd buffer */
514d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_cmd_dmaaddr;	/* physaddr of cmd buffer */
515d8d81063Sfei feng - Sun Microsystems - Beijing China 
516d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			sc_hw_flags;
517d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_flags;
518d8d81063Sfei feng - Sun Microsystems - Beijing China 
519d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* SDRAM addr in the chipset */
520d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			sc_SDRAMSIZE_Addr;
521d8d81063Sfei feng - Sun Microsystems - Beijing China 
522d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_HAL_CHANNELINFO	sc_20M;
523d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_HAL_CHANNELINFO	sc_40M;
524d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_HAL_CHANNELINFO	sc_20M_5G;
525d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_HAL_CHANNELINFO	sc_40M_5G;
526d8d81063Sfei feng - Sun Microsystems - Beijing China 
527d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_hal_hwspec	sc_hwspecs;	/* h/w capabilities */
528d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_DIAG_REVS		sc_revs;
529d8d81063Sfei feng - Sun Microsystems - Beijing China 
530d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			sc_nchans;	/* # entries in ic_channels */
531d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_channel 	sc_channels[IEEE80211_CHAN_MAX];
532d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_channel 	*sc_cur_chan;
533d8d81063Sfei feng - Sun Microsystems - Beijing China 	MWL_HAL_CHANNEL		sc_curchan;
534d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_regdomain 	sc_regdomain; /* regulatory data */
535d8d81063Sfei feng - Sun Microsystems - Beijing China 
536d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_rx_ring	sc_rxring;
537d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_tx_ring	sc_txring[MWL_NUM_TX_QUEUES];
538d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_tx_ring	*sc_ac2q[5];	/* WME AC -> h/w q map */
539d8d81063Sfei feng - Sun Microsystems - Beijing China 
540d8d81063Sfei feng - Sun Microsystems - Beijing China 	struct mwl_hal_txrxdma	sc_hwdma;	/* h/w dma setup */
541d8d81063Sfei feng - Sun Microsystems - Beijing China 
542d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* interrupt */
543d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_iblock_cookie_t	sc_iblock;
544d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_softint_handle_t	sc_softintr_hdl;
545d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_intr_handle_t	*sc_intr_htable;
546d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint_t			sc_intr_pri;
547d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_imask;	/* interrupt mask */
548d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_hal_imask;	/* interrupt mask copy */
549d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_rx_pend;
550d8d81063Sfei feng - Sun Microsystems - Beijing China 
551d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* mutex lock */
552d8d81063Sfei feng - Sun Microsystems - Beijing China 	kmutex_t		sc_glock;
553d8d81063Sfei feng - Sun Microsystems - Beijing China 	kmutex_t		sc_rxlock;
554d8d81063Sfei feng - Sun Microsystems - Beijing China 	kmutex_t		sc_txlock;
555d8d81063Sfei feng - Sun Microsystems - Beijing China 
556d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t		sc_rxantenna;	/* rx antenna */
557d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint16_t		sc_txantenna;	/* tx antenna */
558d8d81063Sfei feng - Sun Microsystems - Beijing China 
559d8d81063Sfei feng - Sun Microsystems - Beijing China 	timeout_id_t		sc_scan_id;
560d8d81063Sfei feng - Sun Microsystems - Beijing China 
561d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* kstats */
562d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_tx_nobuf;
563d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_rx_nobuf;
564d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_tx_err;
565d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_rx_err;
566d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_tx_retries;
567d8d81063Sfei feng - Sun Microsystems - Beijing China 
568d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_need_sched;
569d8d81063Sfei feng - Sun Microsystems - Beijing China 	uint32_t		sc_rcr;
570d8d81063Sfei feng - Sun Microsystems - Beijing China 
571d8d81063Sfei feng - Sun Microsystems - Beijing China 	int			(*sc_newstate)(struct ieee80211com *,
572d8d81063Sfei feng - Sun Microsystems - Beijing China 				    enum ieee80211_state, int);
573d8d81063Sfei feng - Sun Microsystems - Beijing China };
574d8d81063Sfei feng - Sun Microsystems - Beijing China 
575d8d81063Sfei feng - Sun Microsystems - Beijing China #define	mwl_mem_write4(sc, off, x) \
576d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_put32((sc)->sc_mem_handle, \
577d8d81063Sfei feng - Sun Microsystems - Beijing China 	(uint32_t *)((sc)->sc_mem_base + (off)), x)
578d8d81063Sfei feng - Sun Microsystems - Beijing China 
579d8d81063Sfei feng - Sun Microsystems - Beijing China #define	mwl_mem_read4(sc, off) \
580d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_get32((sc)->sc_mem_handle, \
581d8d81063Sfei feng - Sun Microsystems - Beijing China 	(uint32_t *)((sc)->sc_mem_base + (off)))
582d8d81063Sfei feng - Sun Microsystems - Beijing China 
583d8d81063Sfei feng - Sun Microsystems - Beijing China #define	mwl_ctl_write4(sc, off, x) \
584d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_put32((sc)->sc_io_handle, \
585d8d81063Sfei feng - Sun Microsystems - Beijing China 	(uint32_t *)((sc)->sc_io_base + (off)), x)
586d8d81063Sfei feng - Sun Microsystems - Beijing China 
587d8d81063Sfei feng - Sun Microsystems - Beijing China #define	mwl_ctl_read4(sc, off) \
588d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_get32((sc)->sc_io_handle, \
589d8d81063Sfei feng - Sun Microsystems - Beijing China 	(uint32_t *)((sc)->sc_io_base + (off)))
590d8d81063Sfei feng - Sun Microsystems - Beijing China 
591d8d81063Sfei feng - Sun Microsystems - Beijing China #define	mwl_ctl_read1(sc, off) \
592d8d81063Sfei feng - Sun Microsystems - Beijing China 	ddi_get8((sc)->sc_io_handle, \
593d8d81063Sfei feng - Sun Microsystems - Beijing China 	(uint8_t *)((sc)->sc_io_base + (off)))
594d8d81063Sfei feng - Sun Microsystems - Beijing China 
595d8d81063Sfei feng - Sun Microsystems - Beijing China #define	_CMD_SETUP(pCmd, type, cmd) do {				\
596d8d81063Sfei feng - Sun Microsystems - Beijing China 	pCmd = (type *)&sc->sc_cmd_mem[0];				\
597*cb2cd10cSfei feng - Sun Microsystems - Beijing China 	(void) memset(pCmd, 0, sizeof (type));				\
598d8d81063Sfei feng - Sun Microsystems - Beijing China 	pCmd->CmdHdr.Cmd = LE_16(cmd);					\
599d8d81063Sfei feng - Sun Microsystems - Beijing China 	pCmd->CmdHdr.Length = LE_16(sizeof (type));			\
600d8d81063Sfei feng - Sun Microsystems - Beijing China 	_NOTE(CONSTCOND)						\
601d8d81063Sfei feng - Sun Microsystems - Beijing China } while (0)
602d8d81063Sfei feng - Sun Microsystems - Beijing China 
603d8d81063Sfei feng - Sun Microsystems - Beijing China #define	_VCMD_SETUP(pCmd, type, cmd) do {				\
604d8d81063Sfei feng - Sun Microsystems - Beijing China 	_CMD_SETUP(pCmd, type, cmd);					\
605d8d81063Sfei feng - Sun Microsystems - Beijing China 	pCmd->CmdHdr.MacId = 8;						\
606d8d81063Sfei feng - Sun Microsystems - Beijing China 	_NOTE(CONSTCOND)						\
607d8d81063Sfei feng - Sun Microsystems - Beijing China } while (0)
608d8d81063Sfei feng - Sun Microsystems - Beijing China 
609d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_GLOCK(_sc)		mutex_enter(&(_sc)->sc_glock)
610d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_GUNLOCK(_sc)	mutex_exit(&(_sc)->sc_glock)
611d8d81063Sfei feng - Sun Microsystems - Beijing China 
612d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_RXLOCK(_sc)		mutex_enter(&(_sc)->sc_rxlock)
613d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_RXUNLOCK(_sc)	mutex_exit(&(_sc)->sc_rxlock)
614d8d81063Sfei feng - Sun Microsystems - Beijing China 
615d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_TXLOCK(_sc)		mutex_enter(&(_sc)->sc_txlock)
616d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_TXUNLOCK(_sc)	mutex_exit(&(_sc)->sc_txlock)
617d8d81063Sfei feng - Sun Microsystems - Beijing China 
618d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_F_RUNNING		(1 << 0)
619d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_F_SUSPEND		(1 << 1)
620d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_F_QUIESCE		(1 << 2)
621d8d81063Sfei feng - Sun Microsystems - Beijing China 
622d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_RCR_PROMISC		(1 << 0)
623d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_RCR_MULTI		(1 << 1)
624d8d81063Sfei feng - Sun Microsystems - Beijing China 
625d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_IS_RUNNING(_sc)	(((_sc)->sc_flags & MWL_F_RUNNING))
626d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_IS_SUSPEND(_sc)	(((_sc)->sc_flags & MWL_F_SUSPEND))
627d8d81063Sfei feng - Sun Microsystems - Beijing China #define	MWL_IS_QUIESCE(_sc)	(((_sc)->sc_flags & MWL_F_QUIESCE))
628d8d81063Sfei feng - Sun Microsystems - Beijing China 
629d8d81063Sfei feng - Sun Microsystems - Beijing China /*
630d8d81063Sfei feng - Sun Microsystems - Beijing China  * 802.11 regulatory domain definitions.
631d8d81063Sfei feng - Sun Microsystems - Beijing China  */
632d8d81063Sfei feng - Sun Microsystems - Beijing China enum ISOCountryCode {
633d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_AFGHANISTAN	= 4,
634d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ALBANIA		= 8,	/* Albania */
635d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ALGERIA		= 12,	/* Algeria */
636d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_AMERICAN_SAMOA	= 16,
637d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ANDORRA		= 20,
638d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ANGOLA		= 24,
639d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ANGUILLA		= 660,
640d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ANTARTICA		= 10,
641d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ANTIGUA		= 28,	/* Antigua and Barbuda */
642d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ARGENTINA		= 32,	/* Argentina */
643d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ARMENIA		= 51,	/* Armenia */
644d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ARUBA		= 533,	/* Aruba */
645d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_AUSTRALIA		= 36,	/* Australia */
646d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_AUSTRIA		= 40,	/* Austria */
647d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_AZERBAIJAN		= 31,	/* Azerbaijan */
648d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BAHAMAS		= 44,	/* Bahamas */
649d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BAHRAIN		= 48,	/* Bahrain */
650d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BANGLADESH		= 50,	/* Bangladesh */
651d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BARBADOS		= 52,
652d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BELARUS		= 112,	/* Belarus */
653d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BELGIUM		= 56,	/* Belgium */
654d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BELIZE		= 84,
655d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BENIN		= 204,
656d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BERMUDA		= 60,
657d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BHUTAN		= 64,
658d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BOLIVIA		= 68,	/* Bolivia */
659d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BOSNIA_AND_HERZEGOWINA = 70,
660d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BOTSWANA		= 72,
661d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BOUVET_ISLAND	= 74,
662d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BRAZIL		= 76,	/* Brazil */
663d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BRITISH_INDIAN_OCEAN_TERRITORY = 86,
664d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BRUNEI_DARUSSALAM	= 96,	/* Brunei Darussalam */
665d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BULGARIA		= 100,	/* Bulgaria */
666d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BURKINA_FASO	= 854,
667d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_BURUNDI		= 108,
668d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CAMBODIA		= 116,
669d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CAMEROON		= 120,
670d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CANADA		= 124,	/* Canada */
671d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CAPE_VERDE		= 132,
672d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CAYMAN_ISLANDS	= 136,
673d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CENTRAL_AFRICAN_REPUBLIC = 140,
674d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CHAD		= 148,
675d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CHILE		= 152,	/* Chile */
676d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CHINA		= 156,	/* People's Republic of China */
677d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CHRISTMAS_ISLAND	= 162,
678d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_COCOS_ISLANDS	= 166,
679d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_COLOMBIA		= 170,	/* Colombia */
680d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_COMOROS		= 174,
681d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CONGO		= 178,
682d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_COOK_ISLANDS	= 184,
683d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_COSTA_RICA		= 188,	/* Costa Rica */
684d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_COTE_DIVOIRE	= 384,
685d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CROATIA		= 191,	/* Croatia (local name: Hrvatska) */
686d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CYPRUS		= 196,	/* Cyprus */
687d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_CZECH		= 203,	/* Czech Republic */
688d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_DENMARK		= 208,	/* Denmark */
689d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_DJIBOUTI		= 262,
690d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_DOMINICA		= 212,
691d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_DOMINICAN_REPUBLIC	= 214,	/* Dominican Republic */
692d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_EAST_TIMOR		= 626,
693d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ECUADOR		= 218,	/* Ecuador */
694d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_EGYPT		= 818,	/* Egypt */
695d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_EL_SALVADOR	= 222,	/* El Salvador */
696d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_EQUATORIAL_GUINEA	= 226,
697d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ERITREA		= 232,
698d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ESTONIA		= 233,	/* Estonia */
699d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ETHIOPIA		= 210,
700d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FALKLAND_ISLANDS	= 238,	/* (Malvinas) */
701d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FAEROE_ISLANDS	= 234,	/* Faeroe Islands */
702d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FIJI		= 242,
703d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FINLAND		= 246,	/* Finland */
704d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FRANCE		= 250,	/* France */
705d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FRANCE2		= 255,	/* France (Metropolitan) */
706d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FRENCH_GUIANA	= 254,
707d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FRENCH_POLYNESIA	= 258,
708d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_FRENCH_SOUTHERN_TERRITORIES	= 260,
709d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GABON		= 266,
710d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GAMBIA		= 270,
711d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GEORGIA		= 268,	/* Georgia */
712d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GERMANY		= 276,	/* Germany */
713d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GHANA		= 288,
714d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GIBRALTAR		= 292,
715d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GREECE		= 300,	/* Greece */
716d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GREENLAND		= 304,
717d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GRENADA		= 308,
718d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GUADELOUPE		= 312,
719d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GUAM		= 316,
720d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GUATEMALA		= 320,	/* Guatemala */
721d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GUINEA		= 324,
722d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GUINEA_BISSAU	= 624,
723d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_GUYANA		= 328,
724d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* XXX correct remainder */
725d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_HAITI		= 332,
726d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_HONDURAS		= 340,	/* Honduras */
727d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_HONG_KONG		= 344,	/* Hong Kong S.A.R., P.R.C. */
728d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_HUNGARY		= 348,	/* Hungary */
729d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ICELAND		= 352,	/* Iceland */
730d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_INDIA		= 356,	/* India */
731d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_INDONESIA		= 360,	/* Indonesia */
732d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_IRAN		= 364,	/* Iran */
733d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_IRAQ		= 368,	/* Iraq */
734d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_IRELAND		= 372,	/* Ireland */
735d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ISRAEL		= 376,	/* Israel */
736d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ITALY		= 380,	/* Italy */
737d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAMAICA		= 388,	/* Jamaica */
738d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN		= 392,	/* Japan */
739d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JORDAN		= 400,	/* Jordan */
740d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KAZAKHSTAN		= 398,	/* Kazakhstan */
741d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KENYA		= 404,	/* Kenya */
742d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KOREA_NORTH	= 408,	/* North Korea */
743d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KOREA_ROC		= 410,	/* South Korea */
744d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KOREA_ROC2		= 411,	/* South Korea */
745d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KUWAIT		= 414,	/* Kuwait */
746d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_LATVIA		= 428,	/* Latvia */
747d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_LEBANON		= 422,	/* Lebanon */
748d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_LIBYA		= 434,	/* Libya */
749d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_LIECHTENSTEIN	= 438,	/* Liechtenstein */
750d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_LITHUANIA		= 440,	/* Lithuania */
751d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_LUXEMBOURG		= 442,	/* Luxembourg */
752d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MACAU		= 446,	/* Macau */
753d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MACEDONIA		= 807,	/* Macedonia */
754d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MALAYSIA		= 458,	/* Malaysia */
755d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MALTA		= 470,	/* Malta */
756d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MEXICO		= 484,	/* Mexico */
757d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MONACO		= 492,	/* Principality of Monaco */
758d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_MOROCCO		= 504,	/* Morocco */
759d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_NEPAL		= 524,	/* Nepal */
760d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_NETHERLANDS	= 528,	/* Netherlands */
761d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_NEW_ZEALAND	= 554,	/* New Zealand */
762d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_NICARAGUA		= 558,	/* Nicaragua */
763d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_NORWAY		= 578,	/* Norway */
764d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_OMAN		= 512,	/* Oman */
765d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PAKISTAN		= 586,	/* Islamic Republic of Pakistan */
766d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PANAMA		= 591,	/* Panama */
767d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PARAGUAY		= 600,	/* Paraguay */
768d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PERU		= 604,	/* Peru */
769d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PHILIPPINES	= 608,	/* Republic of the Philippines */
770d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_POLAND		= 616,	/* Poland */
771d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PORTUGAL		= 620,	/* Portugal */
772d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_PUERTO_RICO	= 630,	/* Puerto Rico */
773d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_QATAR		= 634,	/* Qatar */
774d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ROMANIA		= 642,	/* Romania */
775d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_RUSSIA		= 643,	/* Russia */
776d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SAUDI_ARABIA	= 682,	/* Saudi Arabia */
777d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SINGAPORE		= 702,	/* Singapore */
778d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SLOVAKIA		= 703,	/* Slovak Republic */
779d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SLOVENIA		= 705,	/* Slovenia */
780d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SOUTH_AFRICA	= 710,	/* South Africa */
781d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SPAIN		= 724,	/* Spain */
782d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SRILANKA		= 144,	/* Sri Lanka */
783d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SWEDEN		= 752,	/* Sweden */
784d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SWITZERLAND	= 756,	/* Switzerland */
785d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_SYRIA		= 760,	/* Syria */
786d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_TAIWAN		= 158,	/* Taiwan */
787d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_THAILAND		= 764,	/* Thailand */
788d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_TRINIDAD_Y_TOBAGO	= 780,	/* Trinidad y Tobago */
789d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_TUNISIA		= 788,	/* Tunisia */
790d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_TURKEY		= 792,	/* Turkey */
791d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_UAE		= 784,	/* U.A.E. */
792d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_UKRAINE		= 804,	/* Ukraine */
793d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_UNITED_KINGDOM	= 826,	/* United Kingdom */
794d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_UNITED_STATES	= 840,	/* United States */
795d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_URUGUAY		= 858,	/* Uruguay */
796d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_UZBEKISTAN		= 860,	/* Uzbekistan */
797d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_VENEZUELA		= 862,	/* Venezuela */
798d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_VIET_NAM		= 704,	/* Viet Nam */
799d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_YEMEN		= 887,	/* Yemen */
800d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_ZIMBABWE		= 716,	/* Zimbabwe */
801d8d81063Sfei feng - Sun Microsystems - Beijing China 
802d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* NB: from here down not listed in 3166; they come from Atheros */
803d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_DEBUG		= 0x1ff, /* debug */
804d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_DEFAULT		= 0,	 /* default */
805d8d81063Sfei feng - Sun Microsystems - Beijing China 
806d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_UNITED_STATES_FCC49 = 842,	/* United States (Public Safety) */
807d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_KOREA_ROC3		= 412,	/* South Korea */
808d8d81063Sfei feng - Sun Microsystems - Beijing China 
809d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN1		= 393,	/* Japan (JP1) */
810d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN2		= 394,	/* Japan (JP0) */
811d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN3		= 395,	/* Japan (JP1-1) */
812d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN4		= 396,	/* Japan (JE1) */
813d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN5		= 397,	/* Japan (JE2) */
814d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN6		= 399,	/* Japan (JP6) */
815d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN7		= 4007,	/* Japan (J7) */
816d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN8		= 4008,	/* Japan (J8) */
817d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN9		= 4009,	/* Japan (J9) */
818d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN10		= 4010,	/* Japan (J10) */
819d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN11		= 4011,	/* Japan (J11) */
820d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN12		= 4012,	/* Japan (J12) */
821d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN13		= 4013,	/* Japan (J13) */
822d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN14		= 4014,	/* Japan (J14) */
823d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN15		= 4015,	/* Japan (J15) */
824d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN16		= 4016,	/* Japan (J16) */
825d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN17		= 4017,	/* Japan (J17) */
826d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN18		= 4018,	/* Japan (J18) */
827d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN19		= 4019,	/* Japan (J19) */
828d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN20		= 4020,	/* Japan (J20) */
829d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN21		= 4021,	/* Japan (J21) */
830d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN22		= 4022,	/* Japan (J22) */
831d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN23		= 4023,	/* Japan (J23) */
832d8d81063Sfei feng - Sun Microsystems - Beijing China 	CTRY_JAPAN24		= 4024,	/* Japan (J24) */
833d8d81063Sfei feng - Sun Microsystems - Beijing China };
834d8d81063Sfei feng - Sun Microsystems - Beijing China 
835d8d81063Sfei feng - Sun Microsystems - Beijing China enum RegdomainCode {
836d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_FCC			= 0x10,	/* FCC, aka United States */
837d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_CA			= 0x20,	/* North America, aka Canada */
838d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_ETSI		= 0x30,	/* Europe */
839d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_ETSI2		= 0x32,	/* Europe w/o HT40 in 5GHz */
840d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_ETSI3		= 0x33,	/* Europe - channel 36 */
841d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_FCC3		= 0x3a,	/* FCC w/5470 band, 11h, DFS */
842d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_JAPAN		= 0x40,
843d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_KOREA		= 0x45,
844d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_APAC		= 0x50,	/* Asia Pacific */
845d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_APAC2		= 0x51,	/* Asia Pacific w/ DFS on mid-band */
846d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_APAC3		= 0x5d,	/* Asia Pacific w/o ISM band */
847d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_ROW			= 0x81,	/* China/Taiwan/Rest of World */
848d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_NONE		= 0xf0,	/* "Region Free" */
849d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_DEBUG		= 0x1ff,
850d8d81063Sfei feng - Sun Microsystems - Beijing China 
851d8d81063Sfei feng - Sun Microsystems - Beijing China 	/* NB: from here down private */
852d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_SR9			= 0x0298, /* Ubiquiti SR9 (900MHz/GSM) */
853d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_XR9			= 0x0299, /* Ubiquiti XR9 (900MHz/GSM) */
854d8d81063Sfei feng - Sun Microsystems - Beijing China 	SKU_GZ901		= 0x029a, /* Zcomax GZ-901 (900MHz/GSM) */
855d8d81063Sfei feng - Sun Microsystems - Beijing China };
856d8d81063Sfei feng - Sun Microsystems - Beijing China 
857d8d81063Sfei feng - Sun Microsystems - Beijing China /*
858d8d81063Sfei feng - Sun Microsystems - Beijing China  * Set regdomain code (IEEE SKU).
859d8d81063Sfei feng - Sun Microsystems - Beijing China  */
860d8d81063Sfei feng - Sun Microsystems - Beijing China enum {
861d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_FCC		= 0x10,	/* USA */
862d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_IC		= 0x20,	/* Canda */
863d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_ETSI	= 0x30,	/* Europe */
864d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_SPAIN	= 0x31,	/* Spain */
865d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_FRANCE	= 0x32,	/* France */
866d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_ETSI_131	= 0x130, /* ETSI w/ 1.3.1 radar type */
867d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_MKK		= 0x40,	/* Japan */
868d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_MKK2	= 0x41,	/* Japan w/ 10MHz chan spacing */
869d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_DGT		= 0x80,	/* Taiwan */
870d8d81063Sfei feng - Sun Microsystems - Beijing China 	DOMAIN_CODE_AUS		= 0x81,	/* Australia */
871d8d81063Sfei feng - Sun Microsystems - Beijing China };
872d8d81063Sfei feng - Sun Microsystems - Beijing China 
873d8d81063Sfei feng - Sun Microsystems - Beijing China 
874d8d81063Sfei feng - Sun Microsystems - Beijing China #ifdef __cplusplus
875d8d81063Sfei feng - Sun Microsystems - Beijing China }
876d8d81063Sfei feng - Sun Microsystems - Beijing China #endif
877d8d81063Sfei feng - Sun Microsystems - Beijing China 
878d8d81063Sfei feng - Sun Microsystems - Beijing China #endif /* _MWL_VAR_H */
879