host.h 9.3 KB
Newer Older
1 2 3 4
/**
  * This file contains definitions of WLAN commands.
  */

5 6
#ifndef _LBS_HOST_H_
#define _LBS_HOST_H_
7 8

/** PUBLIC DEFINITIONS */
9 10
#define DEFAULT_AD_HOC_CHANNEL			6
#define	DEFAULT_AD_HOC_CHANNEL_A		36
11 12

/** IEEE 802.11 oids */
13 14 15 16 17 18 19 20 21 22 23
#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
24

25 26 27 28 29 30 31 32
/** 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: */
33
#define CMD_RET_802_11_ASSOCIATE		0x8012
34 35

/* Command codes */
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
#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_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_SET_AFC			0x003c
#define CMD_802_11_GET_AFC			0x003d
#define CMD_802_11_AD_HOC_STOP			0x0040
72
#define CMD_802_11_HOST_SLEEP_CFG		0x0043
73
#define CMD_802_11_WAKEUP_CONFIRM		0x0044
74
#define CMD_802_11_HOST_SLEEP_ACTIVATE		0x0045
75 76 77 78 79 80 81 82 83
#define CMD_802_11_BEACON_STOP			0x0049
#define CMD_802_11_MAC_ADDRESS			0x004d
#define CMD_802_11_LED_GPIO_CTRL		0x004e
#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_KEY_MATERIAL			0x005e
#define CMD_802_11_SLEEP_PARAMS			0x0066
#define CMD_802_11_INACTIVITY_TIMEOUT		0x0067
84
#define CMD_802_11_SLEEP_PERIOD			0x0068
85
#define CMD_802_11_TPC_CFG			0x0072
86
#define CMD_802_11_FW_WAKE_METHOD		0x0074
87 88 89 90 91 92 93 94
#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
95
#define CMD_MESH_CONFIG				0x00a3
96 97
#define	CMD_SET_BOOT2_VER			0x00a5
#define CMD_802_11_BEACON_CTRL			0x00b0
98

99
/* For the IEEE Power Save */
100 101 102 103 104
#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
105

106 107
#define CMD_ENABLE_RSN			0x0001
#define CMD_DISABLE_RSN			0x0000
108

109 110 111 112 113
#define CMD_ACT_GET			0x0000
#define CMD_ACT_SET			0x0001
#define CMD_ACT_GET_AES			0x0002
#define CMD_ACT_SET_AES			0x0003
#define CMD_ACT_REMOVE_AES		0x0004
114

115
/* Define action or option for CMD_802_11_SET_WEP */
116 117 118
#define CMD_ACT_ADD			0x0002
#define CMD_ACT_REMOVE			0x0004
#define CMD_ACT_USE_DEFAULT		0x0008
119

120 121
#define CMD_TYPE_WEP_40_BIT		0x01
#define CMD_TYPE_WEP_104_BIT		0x02
122

123
#define CMD_NUM_OF_WEP_KEYS		4
124

125
#define CMD_WEP_KEY_INDEX_MASK		0x3fff
126

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

130
/* Define action or option for CMD_802_11_SCAN */
131 132 133
#define CMD_BSS_TYPE_BSS		0x0001
#define CMD_BSS_TYPE_IBSS		0x0002
#define CMD_BSS_TYPE_ANY		0x0003
134

135
/* Define action or option for CMD_802_11_SCAN */
136 137
#define CMD_SCAN_TYPE_ACTIVE		0x0000
#define CMD_SCAN_TYPE_PASSIVE		0x0001
138

139
#define CMD_SCAN_RADIO_TYPE_BG		0
140

141
#define	CMD_SCAN_PROBE_DELAY_TIME	0
142

143
/* Define action or option for CMD_MAC_CONTROL */
144 145 146 147 148 149 150 151 152 153
#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
154

155
/* Define action or option for CMD_802_11_RADIO_CONTROL */
156 157 158
#define CMD_TYPE_AUTO_PREAMBLE		0x0001
#define CMD_TYPE_SHORT_PREAMBLE		0x0002
#define CMD_TYPE_LONG_PREAMBLE		0x0003
159

160
/* Event flags for CMD_802_11_SUBSCRIBE_EVENT */
161 162 163 164 165 166
#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
167

168 169 170
#define TURN_ON_RF			0x01
#define RADIO_ON			0x01
#define RADIO_OFF			0x00
171

172 173 174
#define SET_AUTO_PREAMBLE		0x05
#define SET_SHORT_PREAMBLE		0x03
#define SET_LONG_PREAMBLE		0x01
175 176

/* Define action or option for CMD_802_11_RF_CHANNEL */
177 178
#define CMD_OPT_802_11_RF_CHANNEL_GET	0x00
#define CMD_OPT_802_11_RF_CHANNEL_SET	0x01
179 180

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

185 186 187 188 189 190
#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
191 192

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

197 198 199 200 201
/* Options for CMD_802_11_FW_WAKE_METHOD */
#define CMD_WAKE_METHOD_UNCHANGED	0x0000
#define CMD_WAKE_METHOD_COMMAND_INT	0x0001
#define CMD_WAKE_METHOD_GPIO		0x0002

202
/* Define action or option for CMD_BT_ACCESS */
203
enum cmd_bt_access_opts {
204 205 206 207
	/* 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.
	 */
208 209 210 211 212 213
	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
214 215
};

216
/* Define action or option for CMD_FWT_ACCESS */
217
enum cmd_fwt_access_opts {
218 219 220 221
	CMD_ACT_FWT_ACCESS_ADD = 1,
	CMD_ACT_FWT_ACCESS_DEL,
	CMD_ACT_FWT_ACCESS_LOOKUP,
	CMD_ACT_FWT_ACCESS_LIST,
222 223
	CMD_ACT_FWT_ACCESS_LIST_ROUTE,
	CMD_ACT_FWT_ACCESS_LIST_NEIGHBOR,
224 225 226
	CMD_ACT_FWT_ACCESS_RESET,
	CMD_ACT_FWT_ACCESS_CLEANUP,
	CMD_ACT_FWT_ACCESS_TIME,
227 228
};

229
/* Define action or option for CMD_MESH_ACCESS */
230
enum cmd_mesh_access_opts {
231 232 233 234 235
	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,
236 237 238 239 240 241 242 243
	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,
244 245
	CMD_ACT_MESH_SET_AUTOSTART_ENABLED,
	CMD_ACT_MESH_GET_AUTOSTART_ENABLED,
246 247
};

248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
/* Define actions and types for CMD_MESH_CONFIG */
enum cmd_mesh_config_actions {
	CMD_ACT_MESH_CONFIG_STOP = 0,
	CMD_ACT_MESH_CONFIG_START,
	CMD_ACT_MESH_CONFIG_SET,
	CMD_ACT_MESH_CONFIG_GET,
};

enum cmd_mesh_config_types {
	CMD_TYPE_MESH_SET_BOOTFLAG = 1,
	CMD_TYPE_MESH_SET_BOOTTIME,
	CMD_TYPE_MESH_SET_DEF_CHANNEL,
	CMD_TYPE_MESH_SET_MESH_IE,
	CMD_TYPE_MESH_GET_DEFAULTS,
	CMD_TYPE_MESH_GET_MESH_IE, /* GET_DEFAULTS is superset of GET_MESHIE */
};

265
/** Card Event definition */
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
#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
297

298
#endif