wmi.h (27eb2c4b3d3e13f376a359e293c212a2e9407af5) wmi.h (6c2faf09394ceaef4efed1e44721830579f16115)
1/*
2 * Copyright (c) 2012 Qualcomm Atheros, Inc.
3 * Copyright (c) 2006-2012 Wilocity .
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * Commands are messages from the host to the WM.
24 * Events are messages from the WM to the host.
25 */
26
27#ifndef __WILOCITY_WMI_H__
28#define __WILOCITY_WMI_H__
29
30/* General */
1/*
2 * Copyright (c) 2012 Qualcomm Atheros, Inc.
3 * Copyright (c) 2006-2012 Wilocity .
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * Commands are messages from the host to the WM.
24 * Events are messages from the WM to the host.
25 */
26
27#ifndef __WILOCITY_WMI_H__
28#define __WILOCITY_WMI_H__
29
30/* General */
31
31#define WILOCITY_MAX_ASSOC_STA (8)
32#define WMI_MAC_LEN (6)
33#define WMI_PROX_RANGE_NUM (3)
34
35/* List of Commands */
36enum wmi_command_id {
37 WMI_CONNECT_CMDID = 0x0001,
38 WMI_DISCONNECT_CMDID = 0x0003,
39 WMI_DISCONNECT_STA_CMDID = 0x0004,

--- 174 unchanged lines hidden (view full) ---

214/*
215 * WMI_DISCONNECT_STA_CMDID
216 */
217struct wmi_disconnect_sta_cmd {
218 u8 dst_mac[WMI_MAC_LEN];
219 __le16 disconnect_reason;
220} __packed;
221
32#define WMI_MAC_LEN (6)
33#define WMI_PROX_RANGE_NUM (3)
34
35/* List of Commands */
36enum wmi_command_id {
37 WMI_CONNECT_CMDID = 0x0001,
38 WMI_DISCONNECT_CMDID = 0x0003,
39 WMI_DISCONNECT_STA_CMDID = 0x0004,

--- 174 unchanged lines hidden (view full) ---

214/*
215 * WMI_DISCONNECT_STA_CMDID
216 */
217struct wmi_disconnect_sta_cmd {
218 u8 dst_mac[WMI_MAC_LEN];
219 __le16 disconnect_reason;
220} __packed;
221
222/*
223 * WMI_RECONNECT_CMDID
224 */
225struct wmi_reconnect_cmd {
226 u8 channel; /* hint */
227 u8 reserved;
228 u8 bssid[WMI_MAC_LEN]; /* mandatory if set */
229} __packed;
230
222
231
232/*
233 * WMI_SET_PMK_CMDID
234 */
235
236#define WMI_MIN_KEY_INDEX (0)
237#define WMI_MAX_KEY_INDEX (3)
238#define WMI_MAX_KEY_LEN (32)
239#define WMI_PASSPHRASE_LEN (64)

--- 51 unchanged lines hidden (view full) ---

291 * Returned events:
292 * - WMI_RX_MGMT_PACKET_EVENTID - for every probe resp.
293 * - WMI_SCAN_COMPLETE_EVENTID
294 */
295enum wmi_scan_type {
296 WMI_LONG_SCAN = 0,
297 WMI_SHORT_SCAN = 1,
298 WMI_PBC_SCAN = 2,
223/*
224 * WMI_SET_PMK_CMDID
225 */
226
227#define WMI_MIN_KEY_INDEX (0)
228#define WMI_MAX_KEY_INDEX (3)
229#define WMI_MAX_KEY_LEN (32)
230#define WMI_PASSPHRASE_LEN (64)

--- 51 unchanged lines hidden (view full) ---

282 * Returned events:
283 * - WMI_RX_MGMT_PACKET_EVENTID - for every probe resp.
284 * - WMI_SCAN_COMPLETE_EVENTID
285 */
286enum wmi_scan_type {
287 WMI_LONG_SCAN = 0,
288 WMI_SHORT_SCAN = 1,
289 WMI_PBC_SCAN = 2,
290 WMI_ACTIVE_SCAN = 3,
291 WMI_DIRECT_SCAN = 4,
299};
300
301struct wmi_start_scan_cmd {
292};
293
294struct wmi_start_scan_cmd {
302 u8 reserved[8];
303
295 u8 direct_scan_mac_addr[6];
296 u8 reserved[2];
304 __le32 home_dwell_time; /* Max duration in the home channel(ms) */
305 __le32 force_scan_interval; /* Time interval between scans (ms)*/
306 u8 scan_type; /* wmi_scan_type */
307 u8 num_channels; /* how many channels follow */
308 struct {
309 u8 channel;
310 u8 reserved;
311 } channel_list[0]; /* channels ID's */

--- 15 unchanged lines hidden (view full) ---

327
328struct wmi_probed_ssid_cmd {
329 u8 entry_index; /* 0 to MAX_PROBED_SSID_INDEX */
330 u8 flag; /* enum wmi_ssid_flag */
331 u8 ssid_len;
332 u8 ssid[WMI_MAX_SSID_LEN];
333} __packed;
334
297 __le32 home_dwell_time; /* Max duration in the home channel(ms) */
298 __le32 force_scan_interval; /* Time interval between scans (ms)*/
299 u8 scan_type; /* wmi_scan_type */
300 u8 num_channels; /* how many channels follow */
301 struct {
302 u8 channel;
303 u8 reserved;
304 } channel_list[0]; /* channels ID's */

--- 15 unchanged lines hidden (view full) ---

320
321struct wmi_probed_ssid_cmd {
322 u8 entry_index; /* 0 to MAX_PROBED_SSID_INDEX */
323 u8 flag; /* enum wmi_ssid_flag */
324 u8 ssid_len;
325 u8 ssid[WMI_MAX_SSID_LEN];
326} __packed;
327
328
335/*
336 * WMI_SET_APPIE_CMDID
337 * Add Application specified IE to a management frame
338 */
339#define WMI_MAX_IE_LEN (1024)
340
341/*
342 * Frame Types

--- 79 unchanged lines hidden (view full) ---

422/*
423 * WMI_BCON_CTRL_CMDID
424 */
425struct wmi_bcon_ctrl_cmd {
426 __le16 bcon_interval;
427 __le16 frag_num;
428 __le64 ss_mask;
429 u8 network_type;
329/*
330 * WMI_SET_APPIE_CMDID
331 * Add Application specified IE to a management frame
332 */
333#define WMI_MAX_IE_LEN (1024)
334
335/*
336 * Frame Types

--- 79 unchanged lines hidden (view full) ---

416/*
417 * WMI_BCON_CTRL_CMDID
418 */
419struct wmi_bcon_ctrl_cmd {
420 __le16 bcon_interval;
421 __le16 frag_num;
422 __le64 ss_mask;
423 u8 network_type;
430 u8 reserved;
424 u8 pcp_max_assoc_sta;
431 u8 disable_sec_offload;
432 u8 disable_sec;
433} __packed;
434
435
436/******* P2P ***********/
437
438/*

--- 6 unchanged lines hidden (view full) ---

445 WMI_PORT_P2P_DEV = 3,
446 WMI_PORT_P2P_CLIENT = 4,
447 WMI_PORT_P2P_GO = 5,
448};
449
450struct wmi_port_allocate_cmd {
451 u8 mac[WMI_MAC_LEN];
452 u8 port_role;
425 u8 disable_sec_offload;
426 u8 disable_sec;
427} __packed;
428
429
430/******* P2P ***********/
431
432/*

--- 6 unchanged lines hidden (view full) ---

439 WMI_PORT_P2P_DEV = 3,
440 WMI_PORT_P2P_CLIENT = 4,
441 WMI_PORT_P2P_GO = 5,
442};
443
444struct wmi_port_allocate_cmd {
445 u8 mac[WMI_MAC_LEN];
446 u8 port_role;
453 u8 midid;
447 u8 mid;
454} __packed;
455
456/*
457 * WMI_PORT_DELETE_CMDID
458 */
459struct wmi_delete_port_cmd {
460 u8 mid;
461 u8 reserved[3];
462} __packed;
463
464/*
465 * WMI_P2P_CFG_CMDID
466 */
467enum wmi_discovery_mode {
468 WMI_DISCOVERY_MODE_NON_OFFLOAD = 0,
469 WMI_DISCOVERY_MODE_OFFLOAD = 1,
448} __packed;
449
450/*
451 * WMI_PORT_DELETE_CMDID
452 */
453struct wmi_delete_port_cmd {
454 u8 mid;
455 u8 reserved[3];
456} __packed;
457
458/*
459 * WMI_P2P_CFG_CMDID
460 */
461enum wmi_discovery_mode {
462 WMI_DISCOVERY_MODE_NON_OFFLOAD = 0,
463 WMI_DISCOVERY_MODE_OFFLOAD = 1,
464 WMI_DISCOVERY_MODE_PEER2PEER = 2,
470};
471
472struct wmi_p2p_cfg_cmd {
473 u8 discovery_mode; /* wmi_discovery_mode */
474 u8 channel;
475 __le16 bcon_interval; /* base to listen/search duration calculation */
476} __packed;
477

--- 10 unchanged lines hidden (view full) ---

488 u8 reserved[3];
489} __packed;
490
491/*
492 * WMI_PCP_START_CMDID
493 */
494struct wmi_pcp_start_cmd {
495 __le16 bcon_interval;
465};
466
467struct wmi_p2p_cfg_cmd {
468 u8 discovery_mode; /* wmi_discovery_mode */
469 u8 channel;
470 __le16 bcon_interval; /* base to listen/search duration calculation */
471} __packed;
472

--- 10 unchanged lines hidden (view full) ---

483 u8 reserved[3];
484} __packed;
485
486/*
487 * WMI_PCP_START_CMDID
488 */
489struct wmi_pcp_start_cmd {
490 __le16 bcon_interval;
496 u8 reserved0[10];
491 u8 pcp_max_assoc_sta;
492 u8 reserved0[9];
497 u8 network_type;
498 u8 channel;
499 u8 disable_sec_offload;
500 u8 disable_sec;
501} __packed;
502
503/*
504 * WMI_SW_TX_REQ_CMDID

--- 347 unchanged lines hidden (view full) ---

852
853 WMI_BEAFORMING_MGMT_DONE_EVENTID = 0x1836,
854 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837,
855 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839,
856 WMI_RS_MGMT_DONE_EVENTID = 0x1852,
857 WMI_RF_MGMT_STATUS_EVENTID = 0x1853,
858 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838,
859 WMI_RX_MGMT_PACKET_EVENTID = 0x1840,
493 u8 network_type;
494 u8 channel;
495 u8 disable_sec_offload;
496 u8 disable_sec;
497} __packed;
498
499/*
500 * WMI_SW_TX_REQ_CMDID

--- 347 unchanged lines hidden (view full) ---

848
849 WMI_BEAFORMING_MGMT_DONE_EVENTID = 0x1836,
850 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837,
851 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839,
852 WMI_RS_MGMT_DONE_EVENTID = 0x1852,
853 WMI_RF_MGMT_STATUS_EVENTID = 0x1853,
854 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838,
855 WMI_RX_MGMT_PACKET_EVENTID = 0x1840,
856 WMI_TX_MGMT_PACKET_EVENTID = 0x1841,
860
861 /* Performance monitoring events */
862 WMI_DATA_PORT_OPEN_EVENTID = 0x1860,
863 WMI_WBE_LINKDOWN_EVENTID = 0x1861,
864
865 WMI_BF_CTRL_DONE_EVENTID = 0x1862,
866 WMI_NOTIFY_REQ_DONE_EVENTID = 0x1863,
867 WMI_GET_STATUS_DONE_EVENTID = 0x1864,

--- 167 unchanged lines hidden (view full) ---

1035 WMI_DIS_REASON_PROFILE_MISMATCH = 12,
1036 WMI_DIS_REASON_CONNECTION_EVICTED = 13,
1037 WMI_DIS_REASON_IBSS_MERGE = 14,
1038};
1039
1040struct wmi_disconnect_event {
1041 __le16 protocol_reason_status; /* reason code, see 802.11 spec. */
1042 u8 bssid[WMI_MAC_LEN]; /* set if known */
857
858 /* Performance monitoring events */
859 WMI_DATA_PORT_OPEN_EVENTID = 0x1860,
860 WMI_WBE_LINKDOWN_EVENTID = 0x1861,
861
862 WMI_BF_CTRL_DONE_EVENTID = 0x1862,
863 WMI_NOTIFY_REQ_DONE_EVENTID = 0x1863,
864 WMI_GET_STATUS_DONE_EVENTID = 0x1864,

--- 167 unchanged lines hidden (view full) ---

1032 WMI_DIS_REASON_PROFILE_MISMATCH = 12,
1033 WMI_DIS_REASON_CONNECTION_EVICTED = 13,
1034 WMI_DIS_REASON_IBSS_MERGE = 14,
1035};
1036
1037struct wmi_disconnect_event {
1038 __le16 protocol_reason_status; /* reason code, see 802.11 spec. */
1039 u8 bssid[WMI_MAC_LEN]; /* set if known */
1043 u8 disconnect_reason; /* see wmi_disconnect_reason_e */
1044 u8 assoc_resp_len;
1045 u8 assoc_info[0];
1040 u8 disconnect_reason; /* see wmi_disconnect_reason */
1041 u8 assoc_resp_len; /* not in use */
1042 u8 assoc_info[0]; /* not in use */
1046} __packed;
1047
1048/*
1049 * WMI_SCAN_COMPLETE_EVENTID
1050 */
1043} __packed;
1044
1045/*
1046 * WMI_SCAN_COMPLETE_EVENTID
1047 */
1048enum scan_status {
1049 WMI_SCAN_SUCCESS = 0,
1050 WMI_SCAN_FAILED = 1,
1051 WMI_SCAN_ABORTED = 2,
1052 WMI_SCAN_REJECTED = 3,
1053};
1054
1051struct wmi_scan_complete_event {
1055struct wmi_scan_complete_event {
1052 __le32 status;
1056 __le32 status; /* scan_status */
1053} __packed;
1054
1055/*
1056 * WMI_BA_STATUS_EVENTID
1057 */
1058enum wmi_vring_ba_status {
1059 WMI_BA_AGREED = 0,
1060 WMI_BA_NON_AGREED = 1,

--- 190 unchanged lines hidden (view full) ---

1251 __le16 status;
1252 __le32 len;
1253 u8 qid;
1254 u8 mid;
1255 u8 cid;
1256 u8 channel; /* From Radio MNGR */
1257} __packed;
1258
1057} __packed;
1058
1059/*
1060 * WMI_BA_STATUS_EVENTID
1061 */
1062enum wmi_vring_ba_status {
1063 WMI_BA_AGREED = 0,
1064 WMI_BA_NON_AGREED = 1,

--- 190 unchanged lines hidden (view full) ---

1255 __le16 status;
1256 __le32 len;
1257 u8 qid;
1258 u8 mid;
1259 u8 cid;
1260 u8 channel; /* From Radio MNGR */
1261} __packed;
1262
1263
1264/*
1265 * WMI_TX_MGMT_PACKET_EVENTID
1266 */
1267struct wmi_tx_mgmt_packet_event {
1268 u8 payload[0];
1269} __packed;
1270
1259struct wmi_rx_mgmt_packet_event {
1260 struct wmi_rx_mgmt_info info;
1261 u8 payload[0];
1262} __packed;
1263
1264/*
1265 * WMI_ECHO_RSP_EVENTID
1266 */

--- 15 unchanged lines hidden ---
1271struct wmi_rx_mgmt_packet_event {
1272 struct wmi_rx_mgmt_info info;
1273 u8 payload[0];
1274} __packed;
1275
1276/*
1277 * WMI_ECHO_RSP_EVENTID
1278 */

--- 15 unchanged lines hidden ---