xref: /illumos-gate/usr/src/uts/common/io/uath/uath_reg.h (revision 56f9a274)
1*56f9a274Sfei feng - Sun Microsystems - Beijing China /*
2*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Use is subject to license terms.
4*56f9a274Sfei feng - Sun Microsystems - Beijing China  */
5*56f9a274Sfei feng - Sun Microsystems - Beijing China 
6*56f9a274Sfei feng - Sun Microsystems - Beijing China /*
7*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Copyright (c) 2006
8*56f9a274Sfei feng - Sun Microsystems - Beijing China  *	Damien Bergamini <damien.bergamini@free.fr>
9*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Copyright (c) 2006 Sam Leffler, Errno Consulting
10*56f9a274Sfei feng - Sun Microsystems - Beijing China  *
11*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Permission to use, copy, modify, and distribute this software for any
12*56f9a274Sfei feng - Sun Microsystems - Beijing China  * purpose with or without fee is hereby granted, provided that the above
13*56f9a274Sfei feng - Sun Microsystems - Beijing China  * copyright notice and this permission notice appear in all copies.
14*56f9a274Sfei feng - Sun Microsystems - Beijing China  *
15*56f9a274Sfei feng - Sun Microsystems - Beijing China  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
16*56f9a274Sfei feng - Sun Microsystems - Beijing China  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
17*56f9a274Sfei feng - Sun Microsystems - Beijing China  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
18*56f9a274Sfei feng - Sun Microsystems - Beijing China  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19*56f9a274Sfei feng - Sun Microsystems - Beijing China  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20*56f9a274Sfei feng - Sun Microsystems - Beijing China  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
21*56f9a274Sfei feng - Sun Microsystems - Beijing China  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22*56f9a274Sfei feng - Sun Microsystems - Beijing China  */
23*56f9a274Sfei feng - Sun Microsystems - Beijing China 
24*56f9a274Sfei feng - Sun Microsystems - Beijing China 
25*56f9a274Sfei feng - Sun Microsystems - Beijing China #ifndef _UATH_REG_H
26*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	_UATH_REG_H
27*56f9a274Sfei feng - Sun Microsystems - Beijing China 
28*56f9a274Sfei feng - Sun Microsystems - Beijing China #ifdef __cplusplus
29*56f9a274Sfei feng - Sun Microsystems - Beijing China extern "C" {
30*56f9a274Sfei feng - Sun Microsystems - Beijing China #endif
31*56f9a274Sfei feng - Sun Microsystems - Beijing China 
32*56f9a274Sfei feng - Sun Microsystems - Beijing China /* Location in the endpoint descriptor tree used by the device */
33*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CONFIG_NO		1
34*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_IFACE_INDEX	0
35*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_ALT_IF_INDEX	0
36*56f9a274Sfei feng - Sun Microsystems - Beijing China 
37*56f9a274Sfei feng - Sun Microsystems - Beijing China /* all fields are big endian */
38*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
39*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_fwblock {
40*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	flags;
41*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_WRITE_BLOCK	(1 << 4)
42*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	len;
43*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_MAX_FWBLOCK_SIZE	2048
44*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	total;
45*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	remain;
46*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	rxtotal;
47*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	pad[123];
48*56f9a274Sfei feng - Sun Microsystems - Beijing China };
49*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
50*56f9a274Sfei feng - Sun Microsystems - Beijing China 
51*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_MAX_CMDSZ		512
52*56f9a274Sfei feng - Sun Microsystems - Beijing China 
53*56f9a274Sfei feng - Sun Microsystems - Beijing China /*
54*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Messages are passed in Target Endianness.  All fixed-size
55*56f9a274Sfei feng - Sun Microsystems - Beijing China  * fields of a WDS Control Message are treated as 32-bit
56*56f9a274Sfei feng - Sun Microsystems - Beijing China  * values and Control Msgs are guaranteed to be 32-bit aligned.
57*56f9a274Sfei feng - Sun Microsystems - Beijing China  *
58*56f9a274Sfei feng - Sun Microsystems - Beijing China  * The format of a WDS Control Message is as follows:
59*56f9a274Sfei feng - Sun Microsystems - Beijing China  *    Message Length	32 bits
60*56f9a274Sfei feng - Sun Microsystems - Beijing China  *    Message Opcode	32 bits
61*56f9a274Sfei feng - Sun Microsystems - Beijing China  *    Message ID	32 bits
62*56f9a274Sfei feng - Sun Microsystems - Beijing China  *    parameter 1
63*56f9a274Sfei feng - Sun Microsystems - Beijing China  *    parameter 2
64*56f9a274Sfei feng - Sun Microsystems - Beijing China  *       ...
65*56f9a274Sfei feng - Sun Microsystems - Beijing China  *
66*56f9a274Sfei feng - Sun Microsystems - Beijing China  * A variable-length parameter, or a parmeter that is larger than
67*56f9a274Sfei feng - Sun Microsystems - Beijing China  * 32 bits is passed as <length, data> pair, where length is a
68*56f9a274Sfei feng - Sun Microsystems - Beijing China  * 32-bit quantity and data is padded to 32 bits.
69*56f9a274Sfei feng - Sun Microsystems - Beijing China  */
70*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
71*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_hdr {
72*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	len;		/* msg length including header */
73*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	code;		/* operation code */
74*56f9a274Sfei feng - Sun Microsystems - Beijing China /* NB: these are defined for rev 1.5 firmware; rev 1.6 is different */
75*56f9a274Sfei feng - Sun Microsystems - Beijing China /* messages from Host -> Target */
76*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_HOST_AVAILABLE		0x01
77*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_BIND			0x02
78*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_RESET		0x03
79*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_GET_CAPABILITY	0x04
80*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_SET_CONFIG	0x05
81*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_GET_STATUS	0x06
82*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_GET_STATS		0x07
83*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_START		0x08
84*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_STOP		0x09
85*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_ENABLE		0x0a
86*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_TARGET_DISABLE		0x0b
87*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_CREATE_CONNECTION	0x0c
88*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_UPDATE_CONNECT_ATTR	0x0d
89*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_DELETE_CONNECT		0x0e
90*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SEND			0x0f
91*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_FLUSH			0x10
92*56f9a274Sfei feng - Sun Microsystems - Beijing China /* messages from Target -> Host */
93*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_STATS_UPDATE		0x11
94*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_BMISS			0x12
95*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_DEVICE_AVAIL		0x13
96*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SEND_COMPLETE		0x14
97*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_DATA_AVAIL		0x15
98*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_PWR_MODE		0x16
99*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_BMISS_ACK		0x17
100*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_LED_STEADY		0x18
101*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_LED_BLINK		0x19
102*56f9a274Sfei feng - Sun Microsystems - Beijing China /* more messages */
103*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SETUP_BEACON_DESC	0x1a
104*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_BEACON_INIT		0x1b
105*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_RESET_KEY_CACHE		0x1c
106*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_RESET_KEY_CACHE_ENTRY	0x1d
107*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_KEY_CACHE_ENTRY	0x1e
108*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_DECOMP_MASK		0x1f
109*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_REGULATORY_DOMAIN	0x20
110*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_LED_STATE		0x21
111*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_WRITE_ASSOCID		0x22
112*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_STA_BEACON_TIMERS	0x23
113*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_GET_TSF			0x24
114*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_RESET_TSF		0x25
115*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_ADHOC_MODE		0x26
116*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_BASIC_RATE		0x27
117*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_MIB_CONTROL		0x28
118*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_GET_CHANNEL_DATA		0x29
119*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_GET_CUR_RSSI		0x2a
120*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_ANTENNA_SWITCH	0x2b
121*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_USE_SHORT_SLOT_TIME	0x2f
122*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_POWER_MODE		0x30
123*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SETUP_PSPOLL_DESC	0x31
124*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_RX_MULTICAST_FILTER	0x32
125*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_RX_FILTER		0x33
126*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_PER_CALIBRATION		0x34
127*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_RESET			0x35
128*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_DISABLE			0x36
129*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_PHY_DISABLE		0x37
130*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_TX_POWER_LIMIT	0x38
131*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_TX_QUEUE_PARAMS	0x39
132*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SETUP_TX_QUEUE		0x3a
133*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_RELEASE_TX_QUEUE		0x3b
134*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	WDCMSG_SET_DEFAULT_KEY		0x43
135*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	msgid;		/* msg id (supplied by host) */
136*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	magic;		/* response desired/target status */
137*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	debug[4];	/* debug data area */
138*56f9a274Sfei feng - Sun Microsystems - Beijing China 	/* msg data follows */
139*56f9a274Sfei feng - Sun Microsystems - Beijing China };
140*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
141*56f9a274Sfei feng - Sun Microsystems - Beijing China 
142*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_RX_DUMMYSIZE		4
143*56f9a274Sfei feng - Sun Microsystems - Beijing China 
144*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
145*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_chunk {
146*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint8_t		seqnum;		/* sequence number for ordering */
147*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint8_t		flags;
148*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CFLAGS_FINAL	0x01	/* final chunk of a msg */
149*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CFLAGS_RXMSG	0x02	/* chunk contains rx completion */
150*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CFLAGS_DEBUG	0x04	/* for debugging */
151*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint16_t	length;		/* chunk size in bytes */
152*56f9a274Sfei feng - Sun Microsystems - Beijing China 	/* chunk data follows */
153*56f9a274Sfei feng - Sun Microsystems - Beijing China };
154*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
155*56f9a274Sfei feng - Sun Microsystems - Beijing China 
156*56f9a274Sfei feng - Sun Microsystems - Beijing China /*
157*56f9a274Sfei feng - Sun Microsystems - Beijing China  * Message format for a WDCMSG_DATA_AVAIL message from Target to Host.
158*56f9a274Sfei feng - Sun Microsystems - Beijing China  */
159*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
160*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_rx_desc {
161*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	len;		/* msg length including header */
162*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	code;		/* WDCMSG_DATA_AVAIL */
163*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	gennum;		/* generation number */
164*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	status;		/* start of RECEIVE_INFO */
165*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_OK			0
166*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_STOP_IN_PROGRESS	1
167*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_CRC_ERR		2
168*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_PHY_ERR		3
169*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_DECRYPT_CRC_ERR	4
170*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_DECRYPT_MIC_ERR	5
171*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_DECOMP_ERR		6
172*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_KEY_ERR		7
173*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_STATUS_ERR			8
174*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	tstamp_low;	/* low-order 32-bits of rx timestamp */
175*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	tstamp_high;	/* high-order 32-bits of rx timestamp */
176*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	framelen;	/* frame length */
177*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	rate;		/* rx rate code */
178*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	antenna;
179*56f9a274Sfei feng - Sun Microsystems - Beijing China 	int32_t		rssi;
180*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	channel;
181*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	phyerror;
182*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	connix;		/* key table ix for bss traffic */
183*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	decrypterror;
184*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	keycachemiss;
185*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	pad;		/* XXX? */
186*56f9a274Sfei feng - Sun Microsystems - Beijing China };
187*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
188*56f9a274Sfei feng - Sun Microsystems - Beijing China 
189*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
190*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_tx_desc {
191*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	msglen;
192*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	msgid;		/* msg id (supplied by host) */
193*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	type;		/* opcode: WDMSG_SEND or WDCMSG_FLUSH */
194*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	txqid;		/* tx queue id and flags */
195*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_TXQID_MASK		0x0f
196*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_TXQID_MINRATE	0x10	/* use min tx rate */
197*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_TXQID_FF		0x20	/* content is fast frame */
198*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	connid;		/* tx connection id */
199*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_ID_INVALID	0xffffffff	/* for sending prior to connection */
200*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	flags;		/* non-zero if response desired */
201*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_TX_NOTIFY	(1 << 24)	/* f/w will send a UATH_NOTIF_TX */
202*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	buflen;		/* payload length */
203*56f9a274Sfei feng - Sun Microsystems - Beijing China };
204*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
205*56f9a274Sfei feng - Sun Microsystems - Beijing China 
206*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
207*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_host_available {
208*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	sw_ver_major;
209*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	sw_ver_minor;
210*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	sw_ver_patch;
211*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	sw_ver_build;
212*56f9a274Sfei feng - Sun Microsystems - Beijing China };
213*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
214*56f9a274Sfei feng - Sun Microsystems - Beijing China 
215*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	ATH_SW_VER_MAJOR	1
216*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	ATH_SW_VER_MINOR	5
217*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	ATH_SW_VER_PATCH	0
218*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	ATH_SW_VER_BUILD	9999
219*56f9a274Sfei feng - Sun Microsystems - Beijing China 
220*56f9a274Sfei feng - Sun Microsystems - Beijing China 
221*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command UATH_CMD_WRITE_MAC */
222*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
223*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_write_mac {
224*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	reg;
225*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	len;
226*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint8_t		data[32];
227*56f9a274Sfei feng - Sun Microsystems - Beijing China };
228*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
229*56f9a274Sfei feng - Sun Microsystems - Beijing China 
230*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
231*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_ledsteady {		/* WDCMSG_SET_LED_STEADY */
232*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	lednum;
233*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_LED_LINK		0
234*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_LED_ACTIVITY	1
235*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	ledmode;
236*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_LED_OFF	0
237*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_LED_ON	1
238*56f9a274Sfei feng - Sun Microsystems - Beijing China };
239*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
240*56f9a274Sfei feng - Sun Microsystems - Beijing China 
241*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
242*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_ledblink {		/* WDCMSG_SET_LED_BLINK */
243*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	lednum;
244*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	ledmode;
245*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	blinkrate;
246*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	slowmode;
247*56f9a274Sfei feng - Sun Microsystems - Beijing China };
248*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
249*56f9a274Sfei feng - Sun Microsystems - Beijing China 
250*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command WDCMSG_RESET */
251*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
252*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_reset {
253*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	flags;		/* channel flags */
254*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CHAN_TURBO	0x0100
255*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CHAN_CCK	0x0200
256*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CHAN_OFDM	0x0400
257*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CHAN_2GHZ	0x1000
258*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_CHAN_5GHZ	0x2000
259*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	freq;		/* channel frequency */
260*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	maxrdpower;
261*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	cfgctl;
262*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	twiceantennareduction;
263*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	channelchange;
264*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	keeprccontent;
265*56f9a274Sfei feng - Sun Microsystems - Beijing China };
266*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
267*56f9a274Sfei feng - Sun Microsystems - Beijing China 
268*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
269*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rateset {
270*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint8_t		length;
271*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_MAX_NRATES	32
272*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint8_t		set[UATH_MAX_NRATES];
273*56f9a274Sfei feng - Sun Microsystems - Beijing China };
274*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
275*56f9a274Sfei feng - Sun Microsystems - Beijing China 
276*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
277*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command WDCMSG_SET_BASIC_RATE */
278*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rates {
279*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	connid;
280*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	keeprccontent;
281*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	size;
282*56f9a274Sfei feng - Sun Microsystems - Beijing China 	struct uath_cmd_rateset rateset;
283*56f9a274Sfei feng - Sun Microsystems - Beijing China };
284*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
285*56f9a274Sfei feng - Sun Microsystems - Beijing China 
286*56f9a274Sfei feng - Sun Microsystems - Beijing China enum {
287*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_NONE = 0,
288*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11b,
289*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11a,
290*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11g,
291*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11a_TURBO,
292*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11g_TURBO,
293*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11a_TURBO_PRIME,
294*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11g_TURBO_PRIME,
295*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11a_XR,
296*56f9a274Sfei feng - Sun Microsystems - Beijing China 	WLAN_MODE_11g_XR,
297*56f9a274Sfei feng - Sun Microsystems - Beijing China };
298*56f9a274Sfei feng - Sun Microsystems - Beijing China 
299*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
300*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_connection_attr {
301*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	longpreambleonly;
302*56f9a274Sfei feng - Sun Microsystems - Beijing China 	struct uath_cmd_rateset	rateset;
303*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	wlanmode;
304*56f9a274Sfei feng - Sun Microsystems - Beijing China };
305*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
306*56f9a274Sfei feng - Sun Microsystems - Beijing China 
307*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
308*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command WDCMSG_CREATE_CONNECTION */
309*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_create_connection {
310*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	connid;
311*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	bssid;
312*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	size;
313*56f9a274Sfei feng - Sun Microsystems - Beijing China 	struct uath_cmd_connection_attr	connattr;
314*56f9a274Sfei feng - Sun Microsystems - Beijing China };
315*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
316*56f9a274Sfei feng - Sun Microsystems - Beijing China 
317*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
318*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_txq_attr {
319*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	priority;
320*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	aifs;
321*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	logcwmin;
322*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	logcwmax;
323*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	bursttime;
324*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	mode;
325*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	qflags;
326*56f9a274Sfei feng - Sun Microsystems - Beijing China };
327*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
328*56f9a274Sfei feng - Sun Microsystems - Beijing China 
329*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
330*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_txq_setup {		/* WDCMSG_SETUP_TX_QUEUE */
331*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	qid;
332*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	len;
333*56f9a274Sfei feng - Sun Microsystems - Beijing China 	struct uath_cmd_txq_attr attr;
334*56f9a274Sfei feng - Sun Microsystems - Beijing China };
335*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
336*56f9a274Sfei feng - Sun Microsystems - Beijing China 
337*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
338*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rx_filter {		/* WDCMSG_RX_FILTER */
339*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	bits;
340*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_UCAST		0x00000001
341*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_MCAST		0x00000002
342*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_BCAST		0x00000004
343*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_CONTROL		0x00000008
344*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_BEACON		0x00000010	/* beacon frames */
345*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_PROM		0x00000020	/* promiscuous mode */
346*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_PHY_ERR		0x00000040	/* phy errors */
347*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_PHY_RADAR	0x00000080	/* radar phy errors */
348*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_XR_POOL		0x00000400	/* XR group polls */
349*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_RX_PROBE_REQ	0x00000800
350*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	op;
351*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_OP_INIT		0x0
352*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_OP_SET		0x1
353*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_OP_CLEAR		0x2
354*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_OP_TEMP		0x3
355*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_FILTER_OP_RESTORE		0x4
356*56f9a274Sfei feng - Sun Microsystems - Beijing China };
357*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
358*56f9a274Sfei feng - Sun Microsystems - Beijing China 
359*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1)
360*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_set_associd {		/* WDCMSG_WRITE_ASSOCID */
361*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	defaultrateix;
362*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	associd;
363*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	timoffset;
364*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	turboprime;
365*56f9a274Sfei feng - Sun Microsystems - Beijing China 	uint32_t	bssid[2];
366*56f9a274Sfei feng - Sun Microsystems - Beijing China };
367*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack()
368*56f9a274Sfei feng - Sun Microsystems - Beijing China 
369*56f9a274Sfei feng - Sun Microsystems - Beijing China enum {
370*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_NONE,			/* Sentinal to indicate "no config" */
371*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_REG_DOMAIN,			/* Regulatory Domain */
372*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_RATE_CONTROL_ENABLE,
373*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_DEF_XMIT_DATA_RATE,		/* NB: if rate control is not enabled */
374*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_HW_TX_RETRIES,
375*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_SW_TX_RETRIES,
376*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_SLOW_CLOCK_ENABLE,
377*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_COMP_PROC,
378*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_USER_RTS_THRESHOLD,
379*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_XR2NORM_RATE_THRESHOLD,
380*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_XRMODE_SWITCH_COUNT,
381*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_PROTECTION_TYPE,
382*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_BURST_SEQ_THRESHOLD,
383*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_ABOLT,
384*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_IQ_LOG_COUNT_MAX,
385*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_MODE_CTS,
386*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_WME_ENABLED,
387*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_GPRS_CBR_PERIOD,
388*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_SERVICE_TYPE,
389*56f9a274Sfei feng - Sun Microsystems - Beijing China 	/* MAC Address to use.  Overrides EEPROM */
390*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_MAC_ADDR,
391*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_DEBUG_EAR,
392*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_INIT_REGS,
393*56f9a274Sfei feng - Sun Microsystems - Beijing China 	/* An ID for use in error & debug messages */
394*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_DEBUG_ID,
395*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_COMP_WIN_SZ,
396*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_DIVERSITY_CTL,
397*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_TP_SCALE,
398*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_TPC_HALF_DBM5,
399*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_TPC_HALF_DBM2,
400*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_OVERRD_TX_POWER,
401*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_USE_32KHZ_CLOCK,
402*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_GMODE_PROTECTION,
403*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_GMODE_PROTECT_RATE_INDEX,
404*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_GMODE_NON_ERP_PREAMBLE,
405*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CFG_WDC_TRANSPORT_CHUNK_SIZE,
406*56f9a274Sfei feng - Sun Microsystems - Beijing China };
407*56f9a274Sfei feng - Sun Microsystems - Beijing China 
408*56f9a274Sfei feng - Sun Microsystems - Beijing China enum {
409*56f9a274Sfei feng - Sun Microsystems - Beijing China 	/* Sentinal to indicate "no capability" */
410*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_NONE,
411*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_ALL,			/* ALL capabilities */
412*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TARGET_VERSION,
413*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TARGET_REVISION,
414*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_MAC_VERSION,
415*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_MAC_REVISION,
416*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_PHY_REVISION,
417*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_ANALOG_5GHz_REVISION,
418*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_ANALOG_2GHz_REVISION,
419*56f9a274Sfei feng - Sun Microsystems - Beijing China 	/* Target supports WDC message debug features */
420*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_DEBUG_WDCMSG_SUPPORT,
421*56f9a274Sfei feng - Sun Microsystems - Beijing China 
422*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_REG_DOMAIN,
423*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_COUNTRY_CODE,
424*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_REG_CAP_BITS,
425*56f9a274Sfei feng - Sun Microsystems - Beijing China 
426*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_WIRELESS_MODES,
427*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_CHAN_SPREAD_SUPPORT,
428*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_SLEEP_AFTER_BEACON_BROKEN,
429*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_COMPRESS_SUPPORT,
430*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_BURST_SUPPORT,
431*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_FAST_FRAMES_SUPPORT,
432*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_CHAP_TUNING_SUPPORT,
433*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TURBOG_SUPPORT,
434*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TURBO_PRIME_SUPPORT,
435*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_DEVICE_TYPE,
436*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_XR_SUPPORT,
437*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_WME_SUPPORT,
438*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TOTAL_QUEUES,
439*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_CONNECTION_ID_MAX,		/* Should absorb CAP_KEY_CACHE_SIZE */
440*56f9a274Sfei feng - Sun Microsystems - Beijing China 
441*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_LOW_5GHZ_CHAN,
442*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_HIGH_5GHZ_CHAN,
443*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_LOW_2GHZ_CHAN,
444*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_HIGH_2GHZ_CHAN,
445*56f9a274Sfei feng - Sun Microsystems - Beijing China 
446*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_MIC_AES_CCM,
447*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_MIC_CKIP,
448*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_MIC_TKIP,
449*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_MIC_TKIP_WME,
450*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_CIPHER_AES_CCM,
451*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_CIPHER_CKIP,
452*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_CIPHER_TKIP,
453*56f9a274Sfei feng - Sun Microsystems - Beijing China 
454*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TWICE_ANTENNAGAIN_5G,
455*56f9a274Sfei feng - Sun Microsystems - Beijing China 	CAP_TWICE_ANTENNAGAIN_2G,
456*56f9a274Sfei feng - Sun Microsystems - Beijing China };
457*56f9a274Sfei feng - Sun Microsystems - Beijing China 
458*56f9a274Sfei feng - Sun Microsystems - Beijing China enum {
459*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_NONE,			/* Sentinal to indicate "no status" */
460*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_ALL,
461*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_SERVICE_TYPE,
462*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_WLAN_MODE,
463*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_FREQ,
464*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_BAND,
465*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_LAST_RSSI,
466*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_PS_FRAMES_DROPPED,
467*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_CACHED_DEF_ANT,
468*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_COUNT_OTHER_RX_ANT,
469*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_USE_FAST_DIVERSITY,
470*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_MAC_ADDR,
471*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_RX_GENERATION_NUM,
472*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_TX_QUEUE_DEPTH,
473*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_SERIAL_NUMBER,
474*56f9a274Sfei feng - Sun Microsystems - Beijing China 	ST_WDC_TRANSPORT_CHUNK_SIZE,
475*56f9a274Sfei feng - Sun Microsystems - Beijing China };
476*56f9a274Sfei feng - Sun Microsystems - Beijing China 
477*56f9a274Sfei feng - Sun Microsystems - Beijing China enum {
478*56f9a274Sfei feng - Sun Microsystems - Beijing China 	TARGET_DEVICE_AWAKE,
479*56f9a274Sfei feng - Sun Microsystems - Beijing China 	TARGET_DEVICE_SLEEP,
480*56f9a274Sfei feng - Sun Microsystems - Beijing China 	TARGET_DEVICE_PWRDN,
481*56f9a274Sfei feng - Sun Microsystems - Beijing China 	TARGET_DEVICE_PWRSAVE,
482*56f9a274Sfei feng - Sun Microsystems - Beijing China 	TARGET_DEVICE_SUSPEND,
483*56f9a274Sfei feng - Sun Microsystems - Beijing China 	TARGET_DEVICE_RESUME,
484*56f9a274Sfei feng - Sun Microsystems - Beijing China };
485*56f9a274Sfei feng - Sun Microsystems - Beijing China 
486*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_MAX_TXBUFSZ						\
487*56f9a274Sfei feng - Sun Microsystems - Beijing China 	(sizeof (struct uath_chunk) + sizeof (struct uath_tx_desc) +	\
488*56f9a274Sfei feng - Sun Microsystems - Beijing China 	IEEE80211_MAX_LEN)
489*56f9a274Sfei feng - Sun Microsystems - Beijing China 
490*56f9a274Sfei feng - Sun Microsystems - Beijing China /*
491*56f9a274Sfei feng - Sun Microsystems - Beijing China  * it's not easy to measure how the chunk is passed into the host if the target
492*56f9a274Sfei feng - Sun Microsystems - Beijing China  * passed the multi-chunks so just we check a minimal size we can imagine.
493*56f9a274Sfei feng - Sun Microsystems - Beijing China  */
494*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	UATH_MIN_RXBUFSZ	(sizeof (struct uath_chunk))
495*56f9a274Sfei feng - Sun Microsystems - Beijing China 
496*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_ACCTON		0x083a	/* Accton Technology */
497*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_ATHEROS		0x168c	/* Atheros Communications */
498*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_ATHEROS2		0x0cf3	/* Atheros Communications */
499*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_CONCEPTRONIC		0x0d8e	/* Conceptronic */
500*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_DLINK		0x2001	/* D-Link */
501*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_GIGASET		0x1690	/* Gigaset */
502*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_GLOBALSUN		0x16ab	/* Global Sun Technology */
503*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_IODATA		0x04bb	/* I/O Data */
504*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_MELCO		0x0411	/* Melco */
505*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_NETGEAR		0x0846	/* BayNETGEAR */
506*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_NETGEAR3		0x1385	/* Netgear */
507*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_PHILIPS		0x0471	/* Philips */
508*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_UMEDIA		0x157e	/* U-MEDIA Communications */
509*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_WISTRONNEWEB		0x1435	/* Wistron NeWeb */
510*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_VENDOR_ZCOM			0x0cde	/* Z-Com */
511*56f9a274Sfei feng - Sun Microsystems - Beijing China 
512*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ACCTON_SMCWUSBTG2		0x4506	/* SMCWUSBT-G2 */
513*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ACCTON_SMCWUSBTG2_NF	0x4507	/* SMCWUSBT-G2 */
514*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS_AR5523		0x0001	/* AR5523 */
515*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS_AR5523_NF		0x0002	/* AR5523 */
516*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS2_AR5523_1		0x0003	/* AR5523 */
517*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS2_AR5523_1_NF	0x0002	/* AR5523 */
518*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS2_AR5523_2		0x0005	/* AR5523 */
519*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS2_AR5523_2_NF	0x0004	/* AR5523 */
520*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS2_AR5523_3		0x0007	/* AR5523 */
521*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ATHEROS2_AR5523_3_NF	0x0006	/* AR5523 */
522*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_CONCEPTRONIC_AR5523_1	0x7801	/* AR5523 */
523*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_CONCEPTRONIC_AR5523_1_NF	0x7802	/* AR5523 */
524*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_CONCEPTRONIC_AR5523_2	0x7811	/* AR5523 */
525*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_CONCEPTRONIC_AR5523_2_NF	0x7812	/* AR5523 */
526*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_DLINK_DWLAG122		0x3a04	/* DWL-AG122 */
527*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_DLINK_DWLAG122_NF		0x3a05	/* DWL-AG122 */
528*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_DLINK_DWLAG132		0x3a00	/* DWL-AG132 */
529*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_DLINK_DWLAG132_NF		0x3a01	/* DWL-AG132 */
530*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_DLINK_DWLG132		0x3a02	/* DWL-G132 */
531*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_DLINK_DWLG132_NF		0x3a03	/* DWL-G132 */
532*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GIGASET_AR5523		0x0712	/* AR5523 */
533*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GIGASET_AR5523_NF		0x0713	/* AR5523 */
534*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GIGASET_SMCWUSBTG		0x0710	/* SMCWUSBT-G */
535*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GIGASET_SMCWUSBTG_NF	0x0711	/* SMCWUSBT-G */
536*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GLOBALSUN_AR5523_1		0x7801	/* AR5523 */
537*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GLOBALSUN_AR5523_1_NF	0x7802	/* AR5523 */
538*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GLOBALSUN_AR5523_2		0x7811	/* AR5523 */
539*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_GLOBALSUN_AR5523_2_NF	0x7812	/* AR5523 */
540*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_IODATA_USBWNG54US		0x0928	/* USB WN-G54/US */
541*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_IODATA_USBWNG54US_NF	0x0929	/* USB WN-G54/US */
542*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_MELCO_WLIU2KAMG54		0x0091	/* WLI-U2-KAMG54 */
543*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_MELCO_WLIU2KAMG54_NF	0x0092	/* WLI-U2-KAMG54 */
544*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_NETGEAR_WG111U		0x4300	/* WG111U */
545*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_NETGEAR_WG111U_NF		0x4301	/* WG111U */
546*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_NETGEAR3_WG111T		0x4252	/* WG111T */
547*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_NETGEAR3_WG111T_NF		0x4251	/* WG111T */
548*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_NETGEAR3_WPN111		0x5f00	/* WPN111 */
549*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_NETGEAR3_WPN111_NF		0x5f01	/* WPN111 */
550*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_PHILIPS_SNU6500		0x1232	/* SNU6500 */
551*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_PHILIPS_SNU6500_NF		0x1233	/* SNU6500 */
552*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_UMEDIA_AR5523_2		0x3205	/* AR5523 */
553*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_UMEDIA_AR5523_2_NF		0x3206	/* AR5523 */
554*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_UMEDIA_TEW444UBEU		0x3006	/* TEW-444UB EU */
555*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_UMEDIA_TEW444UBEU_NF	0x3007	/* TEW-444UB EU */
556*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_WISTRONNEWEB_AR5523_1	0x0826	/* AR5523 */
557*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_WISTRONNEWEB_AR5523_1_NF	0x0827	/* AR5523 */
558*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_WISTRONNEWEB_AR5523_2	0x082a	/* AR5523 */
559*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_WISTRONNEWEB_AR5523_2_NF	0x0829	/* AR5523 */
560*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ZCOM_AR5523			0x0012	/* AR5523 */
561*56f9a274Sfei feng - Sun Microsystems - Beijing China #define	USB_PRODUCT_ZCOM_AR5523_NF		0x0013	/* AR5523 */
562*56f9a274Sfei feng - Sun Microsystems - Beijing China 
563*56f9a274Sfei feng - Sun Microsystems - Beijing China #ifdef __cplusplus
564*56f9a274Sfei feng - Sun Microsystems - Beijing China }
565*56f9a274Sfei feng - Sun Microsystems - Beijing China #endif
566*56f9a274Sfei feng - Sun Microsystems - Beijing China 
567*56f9a274Sfei feng - Sun Microsystems - Beijing China #endif /* _UATH_REG_H */
568