summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/libertas/host.h
blob: fcd223807ba64c3f5605b92e2419f14f96db0252 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
/**
  * This file contains definitions of WLAN commands.
  */

#ifndef _LBS_HOST_H_
#define _LBS_HOST_H_

/** PUBLIC DEFINITIONS */
#define DEFAULT_AD_HOC_CHANNEL       6
#define DEFAULT_AD_HOC_CHANNEL_A    36

/** IEEE 802.11 oids */
#define OID_802_11_SSID                       0x00008002
#define OID_802_11_INFRASTRUCTURE_MODE        0x00008008
#define OID_802_11_FRAGMENTATION_THRESHOLD    0x00008009
#define OID_802_11_RTS_THRESHOLD              0x0000800A
#define OID_802_11_TX_ANTENNA_SELECTED        0x0000800D
#define OID_802_11_SUPPORTED_RATES            0x0000800E
#define OID_802_11_STATISTICS                 0x00008012
#define OID_802_11_TX_RETRYCOUNT              0x0000801D
#define OID_802_11D_ENABLE                    0x00008020

#define CMD_OPTION_WAITFORRSP             0x0002

/** Host command IDs */

/* Return command are almost always the same as the host command, but with
 * bit 15 set high.  There are a few exceptions, though...
 */
#define CMD_RET(cmd)			(0x8000 | cmd)

/* Return command convention exceptions: */
#define CMD_RET_802_11_ASSOCIATE      0x8012

/* Command codes */
#define CMD_CODE_DNLD                 0x0002
#define CMD_GET_HW_SPEC               0x0003
#define CMD_EEPROM_UPDATE             0x0004
#define CMD_802_11_RESET              0x0005
#define CMD_802_11_SCAN               0x0006
#define CMD_802_11_GET_LOG            0x000b
#define CMD_MAC_MULTICAST_ADR         0x0010
#define CMD_802_11_AUTHENTICATE       0x0011
#define CMD_802_11_EEPROM_ACCESS      0x0059
#define CMD_802_11_ASSOCIATE          0x0050
#define CMD_802_11_SET_WEP            0x0013
#define CMD_802_11_GET_STAT           0x0014
#define CMD_802_3_GET_STAT            0x0015
#define CMD_802_11_SNMP_MIB           0x0016
#define CMD_MAC_REG_MAP               0x0017
#define CMD_BBP_REG_MAP               0x0018
#define CMD_MAC_REG_ACCESS            0x0019
#define CMD_BBP_REG_ACCESS            0x001a
#define CMD_RF_REG_ACCESS             0x001b
#define CMD_802_11_RADIO_CONTROL      0x001c
#define CMD_802_11_RF_CHANNEL         0x001d
#define CMD_802_11_RF_TX_POWER        0x001e
#define CMD_802_11_RSSI               0x001f
#define CMD_802_11_RF_ANTENNA         0x0020

#define CMD_802_11_PS_MODE	      0x0021

#define CMD_802_11_DATA_RATE          0x0022
#define CMD_RF_REG_MAP                0x0023
#define CMD_802_11_DEAUTHENTICATE     0x0024
#define CMD_802_11_REASSOCIATE        0x0025
#define CMD_802_11_DISASSOCIATE       0x0026
#define CMD_MAC_CONTROL               0x0028
#define CMD_802_11_AD_HOC_START       0x002b
#define CMD_802_11_AD_HOC_JOIN        0x002c

#define CMD_802_11_QUERY_TKIP_REPLY_CNTRS  0x002e
#define CMD_802_11_ENABLE_RSN              0x002f
#define CMD_802_11_PAIRWISE_TSC       0x0036
#define CMD_802_11_GROUP_TSC          0x0037
#define CMD_802_11_KEY_MATERIAL       0x005e

#define CMD_802_11_SET_AFC            0x003c
#define CMD_802_11_GET_AFC            0x003d

#define CMD_802_11_AD_HOC_STOP        0x0040

#define CMD_802_11_BEACON_STOP        0x0049

#define CMD_802_11_MAC_ADDRESS        0x004D
#define CMD_802_11_EEPROM_ACCESS      0x0059

#define CMD_802_11_BAND_CONFIG        0x0058

#define CMD_802_11D_DOMAIN_INFO       0x005b

#define CMD_802_11_SLEEP_PARAMS          0x0066

#define CMD_802_11_INACTIVITY_TIMEOUT    0x0067

#define CMD_802_11_TPC_CFG               0x0072
#define CMD_802_11_PWR_CFG               0x0073

#define CMD_802_11_LED_GPIO_CTRL         0x004e

#define CMD_802_11_SUBSCRIBE_EVENT       0x0075

#define CMD_802_11_RATE_ADAPT_RATESET    0x0076

#define CMD_802_11_TX_RATE_QUERY	0x007f

#define CMD_GET_TSF                      0x0080

#define CMD_BT_ACCESS                 0x0087

#define CMD_FWT_ACCESS                0x0095

#define CMD_802_11_MONITOR_MODE       0x0098

#define CMD_MESH_ACCESS               0x009b
#define CMD_MESH_CONFIG				0x00a3

#define CMD_SET_BOOT2_VER                 0x00a5

#define CMD_802_11_BEACON_CTRL        0x00b0

/* For the IEEE Power Save */
#define CMD_SUBCMD_ENTER_PS               0x0030
#define CMD_SUBCMD_EXIT_PS                0x0031
#define CMD_SUBCMD_SLEEP_CONFIRMED        0x0034
#define CMD_SUBCMD_FULL_POWERDOWN         0x0035
#define CMD_SUBCMD_FULL_POWERUP           0x0036

#define CMD_ENABLE_RSN                    0x0001
#define CMD_DISABLE_RSN                   0x0000

#define CMD_ACT_SET                       0x0001
#define CMD_ACT_GET                       0x0000

#define CMD_ACT_GET_AES                   (CMD_ACT_GET + 2)
#define CMD_ACT_SET_AES                   (CMD_ACT_SET + 2)
#define CMD_ACT_REMOVE_AES                (CMD_ACT_SET + 3)

/* Define action or option for CMD_802_11_SET_WEP */
#define CMD_ACT_ADD                         0x0002
#define CMD_ACT_REMOVE                      0x0004
#define CMD_ACT_USE_DEFAULT                 0x0008

#define CMD_TYPE_WEP_40_BIT                 0x01
#define CMD_TYPE_WEP_104_BIT                0x02

#define CMD_NUM_OF_WEP_KEYS                 4

#define CMD_WEP_KEY_INDEX_MASK              0x3fff

/* Define action or option for CMD_802_11_RESET */
#define CMD_ACT_HALT                        0x0003

/* Define action or option for CMD_802_11_SCAN */
#define CMD_BSS_TYPE_BSS                    0x0001
#define CMD_BSS_TYPE_IBSS                   0x0002
#define CMD_BSS_TYPE_ANY                    0x0003

/* Define action or option for CMD_802_11_SCAN */
#define CMD_SCAN_TYPE_ACTIVE                0x0000
#define CMD_SCAN_TYPE_PASSIVE               0x0001

#define CMD_SCAN_RADIO_TYPE_BG		0

#define CMD_SCAN_PROBE_DELAY_TIME           0

/* Define action or option for CMD_MAC_CONTROL */
#define CMD_ACT_MAC_RX_ON                   0x0001
#define CMD_ACT_MAC_TX_ON                   0x0002
#define CMD_ACT_MAC_LOOPBACK_ON             0x0004
#define CMD_ACT_MAC_WEP_ENABLE              0x0008
#define CMD_ACT_MAC_INT_ENABLE              0x0010
#define CMD_ACT_MAC_MULTICAST_ENABLE        0x0020
#define CMD_ACT_MAC_BROADCAST_ENABLE        0x0040
#define CMD_ACT_MAC_PROMISCUOUS_ENABLE      0x0080
#define CMD_ACT_MAC_ALL_MULTICAST_ENABLE    0x0100
#define CMD_ACT_MAC_STRICT_PROTECTION_ENABLE  0x0400

/* Define action or option for CMD_802_11_RADIO_CONTROL */
#define CMD_TYPE_AUTO_PREAMBLE              0x0001
#define CMD_TYPE_SHORT_PREAMBLE             0x0002
#define CMD_TYPE_LONG_PREAMBLE              0x0003

/* Event flags for CMD_802_11_SUBSCRIBE_EVENT */
#define CMD_SUBSCRIBE_RSSI_LOW              0x0001
#define CMD_SUBSCRIBE_SNR_LOW               0x0002
#define CMD_SUBSCRIBE_FAILCOUNT             0x0004
#define CMD_SUBSCRIBE_BCNMISS               0x0008
#define CMD_SUBSCRIBE_RSSI_HIGH             0x0010
#define CMD_SUBSCRIBE_SNR_HIGH              0x0020

#define TURN_ON_RF                              0x01
#define RADIO_ON                                0x01
#define RADIO_OFF                               0x00

#define SET_AUTO_PREAMBLE                       0x05
#define SET_SHORT_PREAMBLE                      0x03
#define SET_LONG_PREAMBLE                       0x01

/* Define action or option for CMD_802_11_RF_CHANNEL */
#define CMD_OPT_802_11_RF_CHANNEL_GET       0x00
#define CMD_OPT_802_11_RF_CHANNEL_SET       0x01

/* Define action or option for CMD_802_11_RF_TX_POWER */
#define CMD_ACT_TX_POWER_OPT_GET            0x0000
#define CMD_ACT_TX_POWER_OPT_SET_HIGH       0x8007
#define CMD_ACT_TX_POWER_OPT_SET_MID        0x8004
#define CMD_ACT_TX_POWER_OPT_SET_LOW        0x8000

#define CMD_ACT_TX_POWER_INDEX_HIGH         0x0007
#define CMD_ACT_TX_POWER_INDEX_MID          0x0004
#define CMD_ACT_TX_POWER_INDEX_LOW          0x0000

/* Define action or option for CMD_802_11_DATA_RATE */
#define CMD_ACT_SET_TX_AUTO                 0x0000
#define CMD_ACT_SET_TX_FIX_RATE             0x0001
#define CMD_ACT_GET_TX_RATE                 0x0002

#define CMD_ACT_SET_RX                      0x0001
#define CMD_ACT_SET_TX                      0x0002
#define CMD_ACT_SET_BOTH                    0x0003
#define CMD_ACT_GET_RX                      0x0004
#define CMD_ACT_GET_TX                      0x0008
#define CMD_ACT_GET_BOTH                    0x000c

/* Define action or option for CMD_802_11_PS_MODE */
#define CMD_TYPE_CAM                        0x0000
#define CMD_TYPE_MAX_PSP                    0x0001
#define CMD_TYPE_FAST_PSP                   0x0002

/* Define action or option for CMD_BT_ACCESS */
enum cmd_bt_access_opts {
	/* The bt commands start at 5 instead of 1 because the old dft commands
	 * are mapped to 1-4.  These old commands are no longer maintained and
	 * should not be called.
	 */
	CMD_ACT_BT_ACCESS_ADD = 5,
	CMD_ACT_BT_ACCESS_DEL,
	CMD_ACT_BT_ACCESS_LIST,
	CMD_ACT_BT_ACCESS_RESET,
	CMD_ACT_BT_ACCESS_SET_INVERT,
	CMD_ACT_BT_ACCESS_GET_INVERT
};

/* Define action or option for CMD_FWT_ACCESS */
enum cmd_fwt_access_opts {
	CMD_ACT_FWT_ACCESS_ADD = 1,
	CMD_ACT_FWT_ACCESS_DEL,
	CMD_ACT_FWT_ACCESS_LOOKUP,
	CMD_ACT_FWT_ACCESS_LIST,
	CMD_ACT_FWT_ACCESS_LIST_ROUTE,
	CMD_ACT_FWT_ACCESS_LIST_NEIGHBOR,
	CMD_ACT_FWT_ACCESS_RESET,
	CMD_ACT_FWT_ACCESS_CLEANUP,
	CMD_ACT_FWT_ACCESS_TIME,
};

/* Define action or option for CMD_MESH_ACCESS */
enum cmd_mesh_access_opts {
	CMD_ACT_MESH_GET_TTL = 1,
	CMD_ACT_MESH_SET_TTL,
	CMD_ACT_MESH_GET_STATS,
	CMD_ACT_MESH_GET_ANYCAST,
	CMD_ACT_MESH_SET_ANYCAST,
	CMD_ACT_MESH_SET_LINK_COSTS,
	CMD_ACT_MESH_GET_LINK_COSTS,
	CMD_ACT_MESH_SET_BCAST_RATE,
	CMD_ACT_MESH_GET_BCAST_RATE,
	CMD_ACT_MESH_SET_RREQ_DELAY,
	CMD_ACT_MESH_GET_RREQ_DELAY,
	CMD_ACT_MESH_SET_ROUTE_EXP,
	CMD_ACT_MESH_GET_ROUTE_EXP,
	CMD_ACT_MESH_SET_AUTOSTART_ENABLED,
	CMD_ACT_MESH_GET_AUTOSTART_ENABLED,
};

/** Card Event definition */
#define MACREG_INT_CODE_TX_PPA_FREE             0
#define MACREG_INT_CODE_TX_DMA_DONE             1
#define MACREG_INT_CODE_LINK_LOST_W_SCAN        2
#define MACREG_INT_CODE_LINK_LOST_NO_SCAN       3
#define MACREG_INT_CODE_LINK_SENSED             4
#define MACREG_INT_CODE_CMD_FINISHED            5
#define MACREG_INT_CODE_MIB_CHANGED             6
#define MACREG_INT_CODE_INIT_DONE               7
#define MACREG_INT_CODE_DEAUTHENTICATED         8
#define MACREG_INT_CODE_DISASSOCIATED           9
#define MACREG_INT_CODE_PS_AWAKE                10
#define MACREG_INT_CODE_PS_SLEEP                11
#define MACREG_INT_CODE_MIC_ERR_MULTICAST       13
#define MACREG_INT_CODE_MIC_ERR_UNICAST         14
#define MACREG_INT_CODE_WM_AWAKE                15
#define MACREG_INT_CODE_DEEP_SLEEP_AWAKE        16
#define MACREG_INT_CODE_ADHOC_BCN_LOST          17
#define MACREG_INT_CODE_HOST_AWAKE              18
#define MACREG_INT_CODE_STOP_TX                 19
#define MACREG_INT_CODE_START_TX                20
#define MACREG_INT_CODE_CHANNEL_SWITCH          21
#define MACREG_INT_CODE_MEASUREMENT_RDY         22
#define MACREG_INT_CODE_WMM_CHANGE              23
#define MACREG_INT_CODE_BG_SCAN_REPORT          24
#define MACREG_INT_CODE_RSSI_LOW                25
#define MACREG_INT_CODE_SNR_LOW                 26
#define MACREG_INT_CODE_MAX_FAIL                27
#define MACREG_INT_CODE_RSSI_HIGH               28
#define MACREG_INT_CODE_SNR_HIGH                29
#define MACREG_INT_CODE_MESH_AUTO_STARTED       35
#define MACREG_INT_CODE_FIRMWARE_READY          48

#endif