wmi.h (b8fa3bfb14e78dbfcfbd2fac1d81a0e666eb8f42) | wmi.h (a5dc688392737bbab3699d63f26e853a40c52d2d) |
---|---|
1/* 2 * Copyright (c) 2012-2017 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 * --- 57 unchanged lines hidden (view full) --- 66 WMI_FW_CAPABILITY_THERMAL_THROTTLING = 7, 67 WMI_FW_CAPABILITY_D3_SUSPEND = 8, 68 WMI_FW_CAPABILITY_LONG_RANGE = 9, 69 WMI_FW_CAPABILITY_FIXED_SCHEDULING = 10, 70 WMI_FW_CAPABILITY_MULTI_DIRECTED_OMNIS = 11, 71 WMI_FW_CAPABILITY_RSSI_REPORTING = 12, 72 WMI_FW_CAPABILITY_SET_SILENT_RSSI_TABLE = 13, 73 WMI_FW_CAPABILITY_LO_POWER_CALIB_FROM_OTP = 14, | 1/* 2 * Copyright (c) 2012-2017 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 * --- 57 unchanged lines hidden (view full) --- 66 WMI_FW_CAPABILITY_THERMAL_THROTTLING = 7, 67 WMI_FW_CAPABILITY_D3_SUSPEND = 8, 68 WMI_FW_CAPABILITY_LONG_RANGE = 9, 69 WMI_FW_CAPABILITY_FIXED_SCHEDULING = 10, 70 WMI_FW_CAPABILITY_MULTI_DIRECTED_OMNIS = 11, 71 WMI_FW_CAPABILITY_RSSI_REPORTING = 12, 72 WMI_FW_CAPABILITY_SET_SILENT_RSSI_TABLE = 13, 73 WMI_FW_CAPABILITY_LO_POWER_CALIB_FROM_OTP = 14, |
74 WMI_FW_CAPABILITY_PNO = 15, |
|
74 WMI_FW_CAPABILITY_MAX, 75}; 76 77/* WMI_CMD_HDR */ 78struct wmi_cmd_hdr { 79 u8 mid; 80 u8 reserved; 81 __le16 command_id; 82 __le32 fw_timestamp; 83} __packed; 84 85/* List of Commands */ 86enum wmi_command_id { 87 WMI_CONNECT_CMDID = 0x01, 88 WMI_DISCONNECT_CMDID = 0x03, 89 WMI_DISCONNECT_STA_CMDID = 0x04, | 75 WMI_FW_CAPABILITY_MAX, 76}; 77 78/* WMI_CMD_HDR */ 79struct wmi_cmd_hdr { 80 u8 mid; 81 u8 reserved; 82 __le16 command_id; 83 __le32 fw_timestamp; 84} __packed; 85 86/* List of Commands */ 87enum wmi_command_id { 88 WMI_CONNECT_CMDID = 0x01, 89 WMI_DISCONNECT_CMDID = 0x03, 90 WMI_DISCONNECT_STA_CMDID = 0x04, |
91 WMI_START_SCHED_SCAN_CMDID = 0x05, 92 WMI_STOP_SCHED_SCAN_CMDID = 0x06, |
|
90 WMI_START_SCAN_CMDID = 0x07, 91 WMI_SET_BSS_FILTER_CMDID = 0x09, 92 WMI_SET_PROBED_SSID_CMDID = 0x0A, 93 /* deprecated */ 94 WMI_SET_LISTEN_INT_CMDID = 0x0B, 95 WMI_BCON_CTRL_CMDID = 0x0F, 96 WMI_ADD_CIPHER_KEY_CMDID = 0x16, 97 WMI_DELETE_CIPHER_KEY_CMDID = 0x17, --- 282 unchanged lines hidden (view full) --- 380 * 2 - 62640 MHz 381 */ 382 struct { 383 u8 channel; 384 u8 reserved; 385 } channel_list[0]; 386} __packed; 387 | 93 WMI_START_SCAN_CMDID = 0x07, 94 WMI_SET_BSS_FILTER_CMDID = 0x09, 95 WMI_SET_PROBED_SSID_CMDID = 0x0A, 96 /* deprecated */ 97 WMI_SET_LISTEN_INT_CMDID = 0x0B, 98 WMI_BCON_CTRL_CMDID = 0x0F, 99 WMI_ADD_CIPHER_KEY_CMDID = 0x16, 100 WMI_DELETE_CIPHER_KEY_CMDID = 0x17, --- 282 unchanged lines hidden (view full) --- 383 * 2 - 62640 MHz 384 */ 385 struct { 386 u8 channel; 387 u8 reserved; 388 } channel_list[0]; 389} __packed; 390 |
391#define WMI_MAX_PNO_SSID_NUM (16) 392#define WMI_MAX_CHANNEL_NUM (6) 393#define WMI_MAX_PLANS_NUM (2) 394 395/* WMI_START_SCHED_SCAN_CMDID */ 396struct wmi_sched_scan_ssid_match { 397 u8 ssid_len; 398 u8 ssid[WMI_MAX_SSID_LEN]; 399 s8 rssi_threshold; 400 /* boolean */ 401 u8 add_ssid_to_probe; 402 u8 reserved; 403} __packed; 404 405/* WMI_START_SCHED_SCAN_CMDID */ 406struct wmi_sched_scan_plan { 407 __le16 interval_sec; 408 __le16 num_of_iterations; 409} __packed; 410 411/* WMI_START_SCHED_SCAN_CMDID */ 412struct wmi_start_sched_scan_cmd { 413 struct wmi_sched_scan_ssid_match ssid_for_match[WMI_MAX_PNO_SSID_NUM]; 414 u8 num_of_ssids; 415 s8 min_rssi_threshold; 416 u8 channel_list[WMI_MAX_CHANNEL_NUM]; 417 u8 num_of_channels; 418 u8 reserved; 419 __le16 initial_delay_sec; 420 struct wmi_sched_scan_plan scan_plans[WMI_MAX_PLANS_NUM]; 421} __packed; 422 |
|
388/* WMI_SET_PROBED_SSID_CMDID */ 389#define MAX_PROBED_SSID_INDEX (3) 390 391enum wmi_ssid_flag { 392 /* disables entry */ 393 WMI_SSID_FLAG_DISABLE = 0x00, 394 /* probes specified ssid */ 395 WMI_SSID_FLAG_SPECIFIC = 0x01, --- 837 unchanged lines hidden (view full) --- 1233 1234/* WMI Events 1235 * List of Events (target to host) 1236 */ 1237enum wmi_event_id { 1238 WMI_READY_EVENTID = 0x1001, 1239 WMI_CONNECT_EVENTID = 0x1002, 1240 WMI_DISCONNECT_EVENTID = 0x1003, | 423/* WMI_SET_PROBED_SSID_CMDID */ 424#define MAX_PROBED_SSID_INDEX (3) 425 426enum wmi_ssid_flag { 427 /* disables entry */ 428 WMI_SSID_FLAG_DISABLE = 0x00, 429 /* probes specified ssid */ 430 WMI_SSID_FLAG_SPECIFIC = 0x01, --- 837 unchanged lines hidden (view full) --- 1268 1269/* WMI Events 1270 * List of Events (target to host) 1271 */ 1272enum wmi_event_id { 1273 WMI_READY_EVENTID = 0x1001, 1274 WMI_CONNECT_EVENTID = 0x1002, 1275 WMI_DISCONNECT_EVENTID = 0x1003, |
1276 WMI_START_SCHED_SCAN_EVENTID = 0x1005, 1277 WMI_STOP_SCHED_SCAN_EVENTID = 0x1006, 1278 WMI_SCHED_SCAN_RESULT_EVENTID = 0x1007, |
|
1241 WMI_SCAN_COMPLETE_EVENTID = 0x100A, 1242 WMI_REPORT_STATISTICS_EVENTID = 0x100B, 1243 WMI_RD_MEM_RSP_EVENTID = 0x1800, 1244 WMI_FW_READY_EVENTID = 0x1801, 1245 WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, 1246 WMI_ECHO_RSP_EVENTID = 0x1803, 1247 /* deprecated */ 1248 WMI_FS_TUNE_DONE_EVENTID = 0x180A, --- 346 unchanged lines hidden (view full) --- 1595 WMI_SCAN_ABORT_REJECTED = 0x04, 1596}; 1597 1598struct wmi_scan_complete_event { 1599 /* enum scan_status */ 1600 __le32 status; 1601} __packed; 1602 | 1279 WMI_SCAN_COMPLETE_EVENTID = 0x100A, 1280 WMI_REPORT_STATISTICS_EVENTID = 0x100B, 1281 WMI_RD_MEM_RSP_EVENTID = 0x1800, 1282 WMI_FW_READY_EVENTID = 0x1801, 1283 WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, 1284 WMI_ECHO_RSP_EVENTID = 0x1803, 1285 /* deprecated */ 1286 WMI_FS_TUNE_DONE_EVENTID = 0x180A, --- 346 unchanged lines hidden (view full) --- 1633 WMI_SCAN_ABORT_REJECTED = 0x04, 1634}; 1635 1636struct wmi_scan_complete_event { 1637 /* enum scan_status */ 1638 __le32 status; 1639} __packed; 1640 |
1641/* wmi_rx_mgmt_info */ 1642struct wmi_rx_mgmt_info { 1643 u8 mcs; 1644 s8 rssi; 1645 u8 range; 1646 u8 sqi; 1647 __le16 stype; 1648 __le16 status; 1649 __le32 len; 1650 /* Not resolved when == 0xFFFFFFFF == > Broadcast to all MIDS */ 1651 u8 qid; 1652 /* Not resolved when == 0xFFFFFFFF == > Broadcast to all MIDS */ 1653 u8 mid; 1654 u8 cid; 1655 /* From Radio MNGR */ 1656 u8 channel; 1657} __packed; 1658 1659/* WMI_START_SCHED_SCAN_EVENTID */ 1660enum wmi_pno_result { 1661 WMI_PNO_SUCCESS = 0x00, 1662 WMI_PNO_REJECT = 0x01, 1663 WMI_PNO_INVALID_PARAMETERS = 0x02, 1664 WMI_PNO_NOT_ENABLED = 0x03, 1665}; 1666 1667struct wmi_start_sched_scan_event { 1668 /* pno_result */ 1669 u8 result; 1670 u8 reserved[3]; 1671} __packed; 1672 1673struct wmi_stop_sched_scan_event { 1674 /* pno_result */ 1675 u8 result; 1676 u8 reserved[3]; 1677} __packed; 1678 1679struct wmi_sched_scan_result_event { 1680 struct wmi_rx_mgmt_info info; 1681 u8 payload[0]; 1682} __packed; 1683 |
|
1603/* WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENT */ 1604enum wmi_acs_info_bitmask { 1605 WMI_ACS_INFO_BITMASK_BEACON_FOUND = 0x01, 1606 WMI_ACS_INFO_BITMASK_BUSY_TIME = 0x02, 1607 WMI_ACS_INFO_BITMASK_TX_TIME = 0x04, 1608 WMI_ACS_INFO_BITMASK_RX_TIME = 0x08, 1609 WMI_ACS_INFO_BITMASK_NOISE = 0x10, 1610}; --- 198 unchanged lines hidden (view full) --- 1809} __packed; 1810 1811/* WMI_GET_SSID_EVENTID */ 1812struct wmi_get_ssid_event { 1813 __le32 ssid_len; 1814 u8 ssid[WMI_MAX_SSID_LEN]; 1815} __packed; 1816 | 1684/* WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENT */ 1685enum wmi_acs_info_bitmask { 1686 WMI_ACS_INFO_BITMASK_BEACON_FOUND = 0x01, 1687 WMI_ACS_INFO_BITMASK_BUSY_TIME = 0x02, 1688 WMI_ACS_INFO_BITMASK_TX_TIME = 0x04, 1689 WMI_ACS_INFO_BITMASK_RX_TIME = 0x08, 1690 WMI_ACS_INFO_BITMASK_NOISE = 0x10, 1691}; --- 198 unchanged lines hidden (view full) --- 1890} __packed; 1891 1892/* WMI_GET_SSID_EVENTID */ 1893struct wmi_get_ssid_event { 1894 __le32 ssid_len; 1895 u8 ssid[WMI_MAX_SSID_LEN]; 1896} __packed; 1897 |
1817/* wmi_rx_mgmt_info */ 1818struct wmi_rx_mgmt_info { 1819 u8 mcs; 1820 s8 rssi; 1821 u8 range; 1822 u8 sqi; 1823 __le16 stype; 1824 __le16 status; 1825 __le32 len; 1826 /* Not resolved when == 0xFFFFFFFF == > Broadcast to all MIDS */ 1827 u8 qid; 1828 /* Not resolved when == 0xFFFFFFFF == > Broadcast to all MIDS */ 1829 u8 mid; 1830 u8 cid; 1831 /* From Radio MNGR */ 1832 u8 channel; 1833} __packed; 1834 | |
1835/* EVENT: WMI_RF_XPM_READ_RESULT_EVENTID */ 1836struct wmi_rf_xpm_read_result_event { 1837 /* enum wmi_fw_status_e - success=0 or fail=1 */ 1838 u8 status; 1839 u8 reserved[3]; 1840 /* requested num_bytes of data */ 1841 u8 data_bytes[0]; 1842} __packed; --- 1033 unchanged lines hidden --- | 1898/* EVENT: WMI_RF_XPM_READ_RESULT_EVENTID */ 1899struct wmi_rf_xpm_read_result_event { 1900 /* enum wmi_fw_status_e - success=0 or fail=1 */ 1901 u8 status; 1902 u8 reserved[3]; 1903 /* requested num_bytes of data */ 1904 u8 data_bytes[0]; 1905} __packed; --- 1033 unchanged lines hidden --- |