wmi.h (355a47ae7ebcf9d605aa809b259d380422e81b8d) | wmi.h (9b586118730e1b86dc3c8d8523effc712c5a2bfc) |
---|---|
1/* 2 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. 3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc. 4 * Copyright (c) 2006-2012 Wilocity 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. --- 21 unchanged lines hidden (view full) --- 30#ifndef __WILOCITY_WMI_H__ 31#define __WILOCITY_WMI_H__ 32 33#define WMI_DEFAULT_ASSOC_STA (1) 34#define WMI_MAC_LEN (6) 35#define WMI_PROX_RANGE_NUM (3) 36#define WMI_MAX_LOSS_DMG_BEACONS (20) 37#define MAX_NUM_OF_SECTORS (128) | 1/* 2 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. 3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc. 4 * Copyright (c) 2006-2012 Wilocity 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. --- 21 unchanged lines hidden (view full) --- 30#ifndef __WILOCITY_WMI_H__ 31#define __WILOCITY_WMI_H__ 32 33#define WMI_DEFAULT_ASSOC_STA (1) 34#define WMI_MAC_LEN (6) 35#define WMI_PROX_RANGE_NUM (3) 36#define WMI_MAX_LOSS_DMG_BEACONS (20) 37#define MAX_NUM_OF_SECTORS (128) |
38#define WMI_INVALID_TEMPERATURE (0xFFFFFFFF) |
|
38#define WMI_SCHED_MAX_ALLOCS_PER_CMD (4) 39#define WMI_RF_DTYPE_LENGTH (3) 40#define WMI_RF_ETYPE_LENGTH (3) 41#define WMI_RF_RX2TX_LENGTH (3) 42#define WMI_RF_ETYPE_VAL_PER_RANGE (5) 43/* DTYPE configuration array size 44 * must always be kept equal to (WMI_RF_DTYPE_LENGTH+1) 45 */ --- 13 unchanged lines hidden (view full) --- 59#define WMI_QOS_VRING_SLOT_MIN_MS (2) 60#define WMI_QOS_VRING_SLOT_MAX_MS (10) 61/* (WMI_QOS_MIN_DEFAULT_WEIGHT * WMI_QOS_VRING_SLOT_MAX_MS / 62 * WMI_QOS_VRING_SLOT_MIN_MS) 63 */ 64#define WMI_QOS_MAX_WEIGHT 50 65#define WMI_QOS_SET_VIF_PRIORITY (0xFF) 66#define WMI_QOS_DEFAULT_PRIORITY (WMI_QOS_NUM_OF_PRIORITY) | 39#define WMI_SCHED_MAX_ALLOCS_PER_CMD (4) 40#define WMI_RF_DTYPE_LENGTH (3) 41#define WMI_RF_ETYPE_LENGTH (3) 42#define WMI_RF_RX2TX_LENGTH (3) 43#define WMI_RF_ETYPE_VAL_PER_RANGE (5) 44/* DTYPE configuration array size 45 * must always be kept equal to (WMI_RF_DTYPE_LENGTH+1) 46 */ --- 13 unchanged lines hidden (view full) --- 60#define WMI_QOS_VRING_SLOT_MIN_MS (2) 61#define WMI_QOS_VRING_SLOT_MAX_MS (10) 62/* (WMI_QOS_MIN_DEFAULT_WEIGHT * WMI_QOS_VRING_SLOT_MAX_MS / 63 * WMI_QOS_VRING_SLOT_MIN_MS) 64 */ 65#define WMI_QOS_MAX_WEIGHT 50 66#define WMI_QOS_SET_VIF_PRIORITY (0xFF) 67#define WMI_QOS_DEFAULT_PRIORITY (WMI_QOS_NUM_OF_PRIORITY) |
68#define WMI_MAX_XIF_PORTS_NUM (8) |
|
67 68/* Mailbox interface 69 * used for commands and events 70 */ 71enum wmi_mid { 72 MID_DEFAULT = 0x00, 73 FIRST_DBG_MID_ID = 0x10, 74 LAST_DBG_MID_ID = 0xFE, --- 25 unchanged lines hidden (view full) --- 100 WMI_FW_CAPABILITY_MULTI_VIFS = 20, 101 WMI_FW_CAPABILITY_FT_ROAMING = 21, 102 WMI_FW_CAPABILITY_BACK_WIN_SIZE_64 = 22, 103 WMI_FW_CAPABILITY_AMSDU = 23, 104 WMI_FW_CAPABILITY_RAW_MODE = 24, 105 WMI_FW_CAPABILITY_TX_REQ_EXT = 25, 106 WMI_FW_CAPABILITY_CHANNEL_4 = 26, 107 WMI_FW_CAPABILITY_IPA = 27, | 69 70/* Mailbox interface 71 * used for commands and events 72 */ 73enum wmi_mid { 74 MID_DEFAULT = 0x00, 75 FIRST_DBG_MID_ID = 0x10, 76 LAST_DBG_MID_ID = 0xFE, --- 25 unchanged lines hidden (view full) --- 102 WMI_FW_CAPABILITY_MULTI_VIFS = 20, 103 WMI_FW_CAPABILITY_FT_ROAMING = 21, 104 WMI_FW_CAPABILITY_BACK_WIN_SIZE_64 = 22, 105 WMI_FW_CAPABILITY_AMSDU = 23, 106 WMI_FW_CAPABILITY_RAW_MODE = 24, 107 WMI_FW_CAPABILITY_TX_REQ_EXT = 25, 108 WMI_FW_CAPABILITY_CHANNEL_4 = 26, 109 WMI_FW_CAPABILITY_IPA = 27, |
110 WMI_FW_CAPABILITY_TEMPERATURE_ALL_RF = 30, |
|
108 WMI_FW_CAPABILITY_MAX, 109}; 110 111/* WMI_CMD_HDR */ 112struct wmi_cmd_hdr { 113 u8 mid; 114 u8 reserved; 115 __le16 command_id; --- 175 unchanged lines hidden (view full) --- 291 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08, 292 WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B, 293 WMI_LINK_STATS_CMDID = 0xA0C, 294 WMI_SET_GRANT_MCS_CMDID = 0xA0E, 295 WMI_SET_AP_SLOT_SIZE_CMDID = 0xA0F, 296 WMI_SET_VRING_PRIORITY_WEIGHT_CMDID = 0xA10, 297 WMI_SET_VRING_PRIORITY_CMDID = 0xA11, 298 WMI_RBUFCAP_CFG_CMDID = 0xA12, | 111 WMI_FW_CAPABILITY_MAX, 112}; 113 114/* WMI_CMD_HDR */ 115struct wmi_cmd_hdr { 116 u8 mid; 117 u8 reserved; 118 __le16 command_id; --- 175 unchanged lines hidden (view full) --- 294 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08, 295 WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B, 296 WMI_LINK_STATS_CMDID = 0xA0C, 297 WMI_SET_GRANT_MCS_CMDID = 0xA0E, 298 WMI_SET_AP_SLOT_SIZE_CMDID = 0xA0F, 299 WMI_SET_VRING_PRIORITY_WEIGHT_CMDID = 0xA10, 300 WMI_SET_VRING_PRIORITY_CMDID = 0xA11, 301 WMI_RBUFCAP_CFG_CMDID = 0xA12, |
302 WMI_TEMP_SENSE_ALL_CMDID = 0xA13, |
|
299 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 300 WMI_ABORT_SCAN_CMDID = 0xF007, 301 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 302 /* deprecated */ 303 WMI_GET_PMK_CMDID = 0xF048, 304 WMI_SET_PASSPHRASE_CMDID = 0xF049, 305 /* deprecated */ 306 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, --- 1099 unchanged lines hidden (view full) --- 1406 * operation 1407 */ 1408 u8 verify; 1409 u8 reserved1[3]; 1410 /* actual size=num_bytes */ 1411 u8 data_bytes[0]; 1412} __packed; 1413 | 303 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 304 WMI_ABORT_SCAN_CMDID = 0xF007, 305 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 306 /* deprecated */ 307 WMI_GET_PMK_CMDID = 0xF048, 308 WMI_SET_PASSPHRASE_CMDID = 0xF049, 309 /* deprecated */ 310 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, --- 1099 unchanged lines hidden (view full) --- 1410 * operation 1411 */ 1412 u8 verify; 1413 u8 reserved1[3]; 1414 /* actual size=num_bytes */ 1415 u8 data_bytes[0]; 1416} __packed; 1417 |
1414/* WMI_TEMP_SENSE_CMDID 1415 * 1416 * Measure MAC and radio temperatures 1417 * 1418 * Possible modes for temperature measurement 1419 */ | 1418/* Possible modes for temperature measurement */ |
1420enum wmi_temperature_measure_mode { 1421 TEMPERATURE_USE_OLD_VALUE = 0x01, 1422 TEMPERATURE_MEASURE_NOW = 0x02, 1423}; 1424 1425/* WMI_TEMP_SENSE_CMDID */ 1426struct wmi_temp_sense_cmd { 1427 __le32 measure_baseband_en; --- 509 unchanged lines hidden (view full) --- 1937 u8 reserved[3]; 1938} __packed; 1939 1940/* WMI_SET_AP_SLOT_SIZE_CMDID */ 1941struct wmi_set_ap_slot_size_cmd { 1942 __le32 slot_size; 1943} __packed; 1944 | 1419enum wmi_temperature_measure_mode { 1420 TEMPERATURE_USE_OLD_VALUE = 0x01, 1421 TEMPERATURE_MEASURE_NOW = 0x02, 1422}; 1423 1424/* WMI_TEMP_SENSE_CMDID */ 1425struct wmi_temp_sense_cmd { 1426 __le32 measure_baseband_en; --- 509 unchanged lines hidden (view full) --- 1936 u8 reserved[3]; 1937} __packed; 1938 1939/* WMI_SET_AP_SLOT_SIZE_CMDID */ 1940struct wmi_set_ap_slot_size_cmd { 1941 __le32 slot_size; 1942} __packed; 1943 |
1944/* WMI_TEMP_SENSE_ALL_CMDID */ 1945struct wmi_temp_sense_all_cmd { 1946 u8 measure_baseband_en; 1947 u8 measure_rf_en; 1948 u8 measure_mode; 1949 u8 reserved; 1950} __packed; 1951 |
|
1945/* WMI Events 1946 * List of Events (target to host) 1947 */ 1948enum wmi_event_id { 1949 WMI_READY_EVENTID = 0x1001, 1950 WMI_CONNECT_EVENTID = 0x1002, 1951 WMI_DISCONNECT_EVENTID = 0x1003, 1952 WMI_START_SCHED_SCAN_EVENTID = 0x1005, --- 143 unchanged lines hidden (view full) --- 2096 WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B, 2097 WMI_LINK_STATS_CONFIG_DONE_EVENTID = 0x1A0C, 2098 WMI_LINK_STATS_EVENTID = 0x1A0D, 2099 WMI_SET_GRANT_MCS_EVENTID = 0x1A0E, 2100 WMI_SET_AP_SLOT_SIZE_EVENTID = 0x1A0F, 2101 WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID = 0x1A10, 2102 WMI_SET_VRING_PRIORITY_EVENTID = 0x1A11, 2103 WMI_RBUFCAP_CFG_EVENTID = 0x1A12, | 1952/* WMI Events 1953 * List of Events (target to host) 1954 */ 1955enum wmi_event_id { 1956 WMI_READY_EVENTID = 0x1001, 1957 WMI_CONNECT_EVENTID = 0x1002, 1958 WMI_DISCONNECT_EVENTID = 0x1003, 1959 WMI_START_SCHED_SCAN_EVENTID = 0x1005, --- 143 unchanged lines hidden (view full) --- 2103 WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B, 2104 WMI_LINK_STATS_CONFIG_DONE_EVENTID = 0x1A0C, 2105 WMI_LINK_STATS_EVENTID = 0x1A0D, 2106 WMI_SET_GRANT_MCS_EVENTID = 0x1A0E, 2107 WMI_SET_AP_SLOT_SIZE_EVENTID = 0x1A0F, 2108 WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID = 0x1A10, 2109 WMI_SET_VRING_PRIORITY_EVENTID = 0x1A11, 2110 WMI_RBUFCAP_CFG_EVENTID = 0x1A12, |
2111 WMI_TEMP_SENSE_ALL_DONE_EVENTID = 0x1A13, |
|
2104 WMI_SET_CHANNEL_EVENTID = 0x9000, 2105 WMI_ASSOC_REQ_EVENTID = 0x9001, 2106 WMI_EAPOL_RX_EVENTID = 0x9002, 2107 WMI_MAC_ADDR_RESP_EVENTID = 0x9003, 2108 WMI_FW_VER_EVENTID = 0x9004, 2109 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005, 2110 WMI_INTERNAL_FW_SET_CHANNEL = 0x9006, 2111 WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF, --- 667 unchanged lines hidden (view full) --- 2779} __packed; 2780 2781/* WMI_TEMP_SENSE_DONE_EVENTID 2782 * 2783 * Measure MAC and radio temperatures 2784 */ 2785struct wmi_temp_sense_done_event { 2786 /* Temperature times 1000 (actual temperature will be achieved by | 2112 WMI_SET_CHANNEL_EVENTID = 0x9000, 2113 WMI_ASSOC_REQ_EVENTID = 0x9001, 2114 WMI_EAPOL_RX_EVENTID = 0x9002, 2115 WMI_MAC_ADDR_RESP_EVENTID = 0x9003, 2116 WMI_FW_VER_EVENTID = 0x9004, 2117 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005, 2118 WMI_INTERNAL_FW_SET_CHANNEL = 0x9006, 2119 WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF, --- 667 unchanged lines hidden (view full) --- 2787} __packed; 2788 2789/* WMI_TEMP_SENSE_DONE_EVENTID 2790 * 2791 * Measure MAC and radio temperatures 2792 */ 2793struct wmi_temp_sense_done_event { 2794 /* Temperature times 1000 (actual temperature will be achieved by |
2787 * dividing the value by 1000) | 2795 * dividing the value by 1000). When temperature cannot be read from 2796 * device return WMI_INVALID_TEMPERATURE |
2788 */ 2789 __le32 baseband_t1000; 2790 /* Temperature times 1000 (actual temperature will be achieved by | 2797 */ 2798 __le32 baseband_t1000; 2799 /* Temperature times 1000 (actual temperature will be achieved by |
2791 * dividing the value by 1000) | 2800 * dividing the value by 1000). When temperature cannot be read from 2801 * device return WMI_INVALID_TEMPERATURE |
2792 */ 2793 __le32 rf_t1000; 2794} __packed; 2795 2796#define WMI_SCAN_DWELL_TIME_MS (100) 2797#define WMI_SURVEY_TIMEOUT_MS (10000) 2798 2799enum wmi_hidden_ssid { --- 1335 unchanged lines hidden (view full) --- 4135 4136/* WMI_RBUFCAP_CFG_EVENTID */ 4137struct wmi_rbufcap_cfg_event { 4138 /* enum wmi_fw_status */ 4139 u8 status; 4140 u8 reserved[3]; 4141} __packed; 4142 | 2802 */ 2803 __le32 rf_t1000; 2804} __packed; 2805 2806#define WMI_SCAN_DWELL_TIME_MS (100) 2807#define WMI_SURVEY_TIMEOUT_MS (10000) 2808 2809enum wmi_hidden_ssid { --- 1335 unchanged lines hidden (view full) --- 4145 4146/* WMI_RBUFCAP_CFG_EVENTID */ 4147struct wmi_rbufcap_cfg_event { 4148 /* enum wmi_fw_status */ 4149 u8 status; 4150 u8 reserved[3]; 4151} __packed; 4152 |
4153/* WMI_TEMP_SENSE_ALL_DONE_EVENTID 4154 * Measure MAC and all radio temperatures 4155 */ 4156struct wmi_temp_sense_all_done_event { 4157 /* enum wmi_fw_status */ 4158 u8 status; 4159 /* Bitmap of connected RFs */ 4160 u8 rf_bitmap; 4161 u8 reserved[2]; 4162 /* Temperature times 1000 (actual temperature will be achieved by 4163 * dividing the value by 1000). When temperature cannot be read from 4164 * device return WMI_INVALID_TEMPERATURE 4165 */ 4166 __le32 rf_t1000[WMI_MAX_XIF_PORTS_NUM]; 4167 /* Temperature times 1000 (actual temperature will be achieved by 4168 * dividing the value by 1000). When temperature cannot be read from 4169 * device return WMI_INVALID_TEMPERATURE 4170 */ 4171 __le32 baseband_t1000; 4172} __packed; 4173 |
|
4143#endif /* __WILOCITY_WMI_H__ */ | 4174#endif /* __WILOCITY_WMI_H__ */ |