wmi.h (3a37471551cd3b287ce7f02ed25bcf8ec37a191d) wmi.h (90ffabb08b7d0627239c7dd53c3c7065a158508c)
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 *

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

53 */
54enum wmi_fw_capability {
55 WMI_FW_CAPABILITY_FTM = 0,
56 WMI_FW_CAPABILITY_PS_CONFIG = 1,
57 WMI_FW_CAPABILITY_RF_SECTORS = 2,
58 WMI_FW_CAPABILITY_MGMT_RETRY_LIMIT = 3,
59 WMI_FW_CAPABILITY_DISABLE_AP_SME = 4,
60 WMI_FW_CAPABILITY_WMI_ONLY = 5,
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 *

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

53 */
54enum wmi_fw_capability {
55 WMI_FW_CAPABILITY_FTM = 0,
56 WMI_FW_CAPABILITY_PS_CONFIG = 1,
57 WMI_FW_CAPABILITY_RF_SECTORS = 2,
58 WMI_FW_CAPABILITY_MGMT_RETRY_LIMIT = 3,
59 WMI_FW_CAPABILITY_DISABLE_AP_SME = 4,
60 WMI_FW_CAPABILITY_WMI_ONLY = 5,
61 WMI_FW_CAPABILITY_THERMAL_THROTTLING = 7,
61 WMI_FW_CAPABILITY_MAX,
62};
63
64/* WMI_CMD_HDR */
65struct wmi_cmd_hdr {
66 u8 mid;
67 u8 reserved;
68 __le16 command_id;

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

137 WMI_BF_TRIG_CMDID = 0x83A,
138 WMI_LINK_MAINTAIN_CFG_WRITE_CMDID = 0x842,
139 WMI_LINK_MAINTAIN_CFG_READ_CMDID = 0x843,
140 WMI_SET_SECTORS_CMDID = 0x849,
141 WMI_MAINTAIN_PAUSE_CMDID = 0x850,
142 WMI_MAINTAIN_RESUME_CMDID = 0x851,
143 WMI_RS_MGMT_CMDID = 0x852,
144 WMI_RF_MGMT_CMDID = 0x853,
62 WMI_FW_CAPABILITY_MAX,
63};
64
65/* WMI_CMD_HDR */
66struct wmi_cmd_hdr {
67 u8 mid;
68 u8 reserved;
69 __le16 command_id;

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

138 WMI_BF_TRIG_CMDID = 0x83A,
139 WMI_LINK_MAINTAIN_CFG_WRITE_CMDID = 0x842,
140 WMI_LINK_MAINTAIN_CFG_READ_CMDID = 0x843,
141 WMI_SET_SECTORS_CMDID = 0x849,
142 WMI_MAINTAIN_PAUSE_CMDID = 0x850,
143 WMI_MAINTAIN_RESUME_CMDID = 0x851,
144 WMI_RS_MGMT_CMDID = 0x852,
145 WMI_RF_MGMT_CMDID = 0x853,
145 WMI_THERMAL_THROTTLING_CTRL_CMDID = 0x854,
146 WMI_THERMAL_THROTTLING_GET_STATUS_CMDID = 0x855,
147 WMI_OTP_READ_CMDID = 0x856,
148 WMI_OTP_WRITE_CMDID = 0x857,
149 WMI_LED_CFG_CMDID = 0x858,
150 /* Performance monitoring commands */
151 WMI_BF_CTRL_CMDID = 0x862,
152 WMI_NOTIFY_REQ_CMDID = 0x863,
153 WMI_GET_STATUS_CMDID = 0x864,
154 WMI_GET_RF_STATUS_CMDID = 0x866,

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

187 WMI_RS_CFG_CMDID = 0x921,
188 WMI_GET_DETAILED_RS_RES_CMDID = 0x922,
189 WMI_AOA_MEAS_CMDID = 0x923,
190 WMI_BRP_SET_ANT_LIMIT_CMDID = 0x924,
191 WMI_SET_MGMT_RETRY_LIMIT_CMDID = 0x930,
192 WMI_GET_MGMT_RETRY_LIMIT_CMDID = 0x931,
193 WMI_NEW_STA_CMDID = 0x935,
194 WMI_DEL_STA_CMDID = 0x936,
146 WMI_OTP_READ_CMDID = 0x856,
147 WMI_OTP_WRITE_CMDID = 0x857,
148 WMI_LED_CFG_CMDID = 0x858,
149 /* Performance monitoring commands */
150 WMI_BF_CTRL_CMDID = 0x862,
151 WMI_NOTIFY_REQ_CMDID = 0x863,
152 WMI_GET_STATUS_CMDID = 0x864,
153 WMI_GET_RF_STATUS_CMDID = 0x866,

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

186 WMI_RS_CFG_CMDID = 0x921,
187 WMI_GET_DETAILED_RS_RES_CMDID = 0x922,
188 WMI_AOA_MEAS_CMDID = 0x923,
189 WMI_BRP_SET_ANT_LIMIT_CMDID = 0x924,
190 WMI_SET_MGMT_RETRY_LIMIT_CMDID = 0x930,
191 WMI_GET_MGMT_RETRY_LIMIT_CMDID = 0x931,
192 WMI_NEW_STA_CMDID = 0x935,
193 WMI_DEL_STA_CMDID = 0x936,
194 WMI_SET_THERMAL_THROTTLING_CFG_CMDID = 0x940,
195 WMI_GET_THERMAL_THROTTLING_CFG_CMDID = 0x941,
195 WMI_TOF_SESSION_START_CMDID = 0x991,
196 WMI_TOF_GET_CAPABILITIES_CMDID = 0x992,
197 WMI_TOF_SET_LCR_CMDID = 0x993,
198 WMI_TOF_SET_LCI_CMDID = 0x994,
199 WMI_TOF_CHANNEL_INFO_CMDID = 0x995,
200 WMI_TOF_SET_TX_RX_OFFSET_CMDID = 0x997,
201 WMI_TOF_GET_TX_RX_OFFSET_CMDID = 0x998,
202 WMI_GET_RF_SECTOR_PARAMS_CMDID = 0x9A0,

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

433 WMI_RF_MGMT_GET_STATUS = 0x02,
434};
435
436/* WMI_RF_MGMT_CMDID */
437struct wmi_rf_mgmt_cmd {
438 __le32 rf_mgmt_type;
439} __packed;
440
196 WMI_TOF_SESSION_START_CMDID = 0x991,
197 WMI_TOF_GET_CAPABILITIES_CMDID = 0x992,
198 WMI_TOF_SET_LCR_CMDID = 0x993,
199 WMI_TOF_SET_LCI_CMDID = 0x994,
200 WMI_TOF_CHANNEL_INFO_CMDID = 0x995,
201 WMI_TOF_SET_TX_RX_OFFSET_CMDID = 0x997,
202 WMI_TOF_GET_TX_RX_OFFSET_CMDID = 0x998,
203 WMI_GET_RF_SECTOR_PARAMS_CMDID = 0x9A0,

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

434 WMI_RF_MGMT_GET_STATUS = 0x02,
435};
436
437/* WMI_RF_MGMT_CMDID */
438struct wmi_rf_mgmt_cmd {
439 __le32 rf_mgmt_type;
440} __packed;
441
441/* WMI_THERMAL_THROTTLING_CTRL_CMDID */
442#define THERMAL_THROTTLING_USE_DEFAULT_MAX_TXOP_LENGTH (0xFFFFFFFF)
443
444/* WMI_THERMAL_THROTTLING_CTRL_CMDID */
445struct wmi_thermal_throttling_ctrl_cmd {
446 __le32 time_on_usec;
447 __le32 time_off_usec;
448 __le32 max_txop_length_usec;
449} __packed;
450
451/* WMI_RF_RX_TEST_CMDID */
452struct wmi_rf_rx_test_cmd {
453 __le32 sector;
454} __packed;
455
456/* WMI_CORR_MEASURE_CMDID */
457struct wmi_corr_measure_cmd {
458 __le32 freq_mhz;

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

544
545/* WMI_PCP_START_CMDID */
546struct wmi_pcp_start_cmd {
547 __le16 bcon_interval;
548 u8 pcp_max_assoc_sta;
549 u8 hidden_ssid;
550 u8 is_go;
551 u8 reserved0[5];
442/* WMI_RF_RX_TEST_CMDID */
443struct wmi_rf_rx_test_cmd {
444 __le32 sector;
445} __packed;
446
447/* WMI_CORR_MEASURE_CMDID */
448struct wmi_corr_measure_cmd {
449 __le32 freq_mhz;

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

535
536/* WMI_PCP_START_CMDID */
537struct wmi_pcp_start_cmd {
538 __le16 bcon_interval;
539 u8 pcp_max_assoc_sta;
540 u8 hidden_ssid;
541 u8 is_go;
542 u8 reserved0[5];
552 /* abft_len override if non-0 */
543 /* A-BFT length override if non-0 */
553 u8 abft_len;
554 u8 disable_ap_sme;
555 u8 network_type;
556 u8 channel;
557 u8 disable_sec_offload;
558 u8 disable_sec;
559} __packed;
560

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

905/* WMI_SET_MGMT_RETRY_LIMIT_CMDID */
906struct wmi_set_mgmt_retry_limit_cmd {
907 /* MAC retransmit limit for mgmt frames */
908 u8 mgmt_retry_limit;
909 /* alignment to 32b */
910 u8 reserved[3];
911} __packed;
912
544 u8 abft_len;
545 u8 disable_ap_sme;
546 u8 network_type;
547 u8 channel;
548 u8 disable_sec_offload;
549 u8 disable_sec;
550} __packed;
551

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

896/* WMI_SET_MGMT_RETRY_LIMIT_CMDID */
897struct wmi_set_mgmt_retry_limit_cmd {
898 /* MAC retransmit limit for mgmt frames */
899 u8 mgmt_retry_limit;
900 /* alignment to 32b */
901 u8 reserved[3];
902} __packed;
903
904/* Zones: HIGH, MAX, CRITICAL */
905#define WMI_NUM_OF_TT_ZONES (3)
906
907struct wmi_tt_zone_limits {
908 /* Above this temperature this zone is active */
909 u8 temperature_high;
910 /* Below this temperature the adjacent lower zone is active */
911 u8 temperature_low;
912 u8 reserved[2];
913} __packed;
914
915/* Struct used for both configuration and status commands of thermal
916 * throttling
917 */
918struct wmi_tt_data {
919 /* Enable/Disable TT algorithm for baseband */
920 u8 bb_enabled;
921 u8 reserved0[3];
922 /* Define zones for baseband */
923 struct wmi_tt_zone_limits bb_zones[WMI_NUM_OF_TT_ZONES];
924 /* Enable/Disable TT algorithm for radio */
925 u8 rf_enabled;
926 u8 reserved1[3];
927 /* Define zones for all radio chips */
928 struct wmi_tt_zone_limits rf_zones[WMI_NUM_OF_TT_ZONES];
929} __packed;
930
931/* WMI_SET_THERMAL_THROTTLING_CFG_CMDID */
932struct wmi_set_thermal_throttling_cfg_cmd {
933 /* Command data */
934 struct wmi_tt_data tt_data;
935} __packed;
936
913/* WMI_NEW_STA_CMDID */
914struct wmi_new_sta_cmd {
915 u8 dst_mac[WMI_MAC_LEN];
916 u8 aid;
917} __packed;
918
919/* WMI_DEL_STA_CMDID */
920struct wmi_del_sta_cmd {

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

1035 WMI_WRITE_MAC_RXQ_EVENTID = 0x1832,
1036 WMI_WRITE_MAC_TXQ_EVENTID = 0x1833,
1037 WMI_WRITE_MAC_XQ_FIELD_EVENTID = 0x1834,
1038 WMI_BEAMFORMING_MGMT_DONE_EVENTID = 0x1836,
1039 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837,
1040 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839,
1041 WMI_RS_MGMT_DONE_EVENTID = 0x1852,
1042 WMI_RF_MGMT_STATUS_EVENTID = 0x1853,
937/* WMI_NEW_STA_CMDID */
938struct wmi_new_sta_cmd {
939 u8 dst_mac[WMI_MAC_LEN];
940 u8 aid;
941} __packed;
942
943/* WMI_DEL_STA_CMDID */
944struct wmi_del_sta_cmd {

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

1059 WMI_WRITE_MAC_RXQ_EVENTID = 0x1832,
1060 WMI_WRITE_MAC_TXQ_EVENTID = 0x1833,
1061 WMI_WRITE_MAC_XQ_FIELD_EVENTID = 0x1834,
1062 WMI_BEAMFORMING_MGMT_DONE_EVENTID = 0x1836,
1063 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837,
1064 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839,
1065 WMI_RS_MGMT_DONE_EVENTID = 0x1852,
1066 WMI_RF_MGMT_STATUS_EVENTID = 0x1853,
1043 WMI_THERMAL_THROTTLING_STATUS_EVENTID = 0x1855,
1044 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838,
1045 WMI_RX_MGMT_PACKET_EVENTID = 0x1840,
1046 WMI_TX_MGMT_PACKET_EVENTID = 0x1841,
1047 WMI_LINK_MAINTAIN_CFG_WRITE_DONE_EVENTID = 0x1842,
1048 WMI_LINK_MAINTAIN_CFG_READ_DONE_EVENTID = 0x1843,
1049 WMI_OTP_READ_RESULT_EVENTID = 0x1856,
1050 WMI_LED_CFG_DONE_EVENTID = 0x1858,
1051 /* Performance monitoring events */

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

1085 /* Not supported yet */
1086 WMI_PS_MID_CFG_READ_EVENTID = 0x1920,
1087 WMI_RS_CFG_DONE_EVENTID = 0x1921,
1088 WMI_GET_DETAILED_RS_RES_EVENTID = 0x1922,
1089 WMI_AOA_MEAS_EVENTID = 0x1923,
1090 WMI_BRP_SET_ANT_LIMIT_EVENTID = 0x1924,
1091 WMI_SET_MGMT_RETRY_LIMIT_EVENTID = 0x1930,
1092 WMI_GET_MGMT_RETRY_LIMIT_EVENTID = 0x1931,
1067 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838,
1068 WMI_RX_MGMT_PACKET_EVENTID = 0x1840,
1069 WMI_TX_MGMT_PACKET_EVENTID = 0x1841,
1070 WMI_LINK_MAINTAIN_CFG_WRITE_DONE_EVENTID = 0x1842,
1071 WMI_LINK_MAINTAIN_CFG_READ_DONE_EVENTID = 0x1843,
1072 WMI_OTP_READ_RESULT_EVENTID = 0x1856,
1073 WMI_LED_CFG_DONE_EVENTID = 0x1858,
1074 /* Performance monitoring events */

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

1108 /* Not supported yet */
1109 WMI_PS_MID_CFG_READ_EVENTID = 0x1920,
1110 WMI_RS_CFG_DONE_EVENTID = 0x1921,
1111 WMI_GET_DETAILED_RS_RES_EVENTID = 0x1922,
1112 WMI_AOA_MEAS_EVENTID = 0x1923,
1113 WMI_BRP_SET_ANT_LIMIT_EVENTID = 0x1924,
1114 WMI_SET_MGMT_RETRY_LIMIT_EVENTID = 0x1930,
1115 WMI_GET_MGMT_RETRY_LIMIT_EVENTID = 0x1931,
1116 WMI_SET_THERMAL_THROTTLING_CFG_EVENTID = 0x1940,
1117 WMI_GET_THERMAL_THROTTLING_CFG_EVENTID = 0x1941,
1093 WMI_TOF_SESSION_END_EVENTID = 0x1991,
1094 WMI_TOF_GET_CAPABILITIES_EVENTID = 0x1992,
1095 WMI_TOF_SET_LCR_EVENTID = 0x1993,
1096 WMI_TOF_SET_LCI_EVENTID = 0x1994,
1097 WMI_TOF_FTM_PER_DEST_RES_EVENTID = 0x1995,
1098 WMI_TOF_CHANNEL_INFO_EVENTID = 0x1996,
1099 WMI_TOF_SET_TX_RX_OFFSET_EVENTID = 0x1997,
1100 WMI_TOF_GET_TX_RX_OFFSET_EVENTID = 0x1998,

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

1128 WMI_RF_DISABLED_HW_SW = 0x03,
1129};
1130
1131/* WMI_RF_MGMT_STATUS_EVENTID */
1132struct wmi_rf_mgmt_status_event {
1133 __le32 rf_status;
1134} __packed;
1135
1118 WMI_TOF_SESSION_END_EVENTID = 0x1991,
1119 WMI_TOF_GET_CAPABILITIES_EVENTID = 0x1992,
1120 WMI_TOF_SET_LCR_EVENTID = 0x1993,
1121 WMI_TOF_SET_LCI_EVENTID = 0x1994,
1122 WMI_TOF_FTM_PER_DEST_RES_EVENTID = 0x1995,
1123 WMI_TOF_CHANNEL_INFO_EVENTID = 0x1996,
1124 WMI_TOF_SET_TX_RX_OFFSET_EVENTID = 0x1997,
1125 WMI_TOF_GET_TX_RX_OFFSET_EVENTID = 0x1998,

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

1153 WMI_RF_DISABLED_HW_SW = 0x03,
1154};
1155
1156/* WMI_RF_MGMT_STATUS_EVENTID */
1157struct wmi_rf_mgmt_status_event {
1158 __le32 rf_status;
1159} __packed;
1160
1136/* WMI_THERMAL_THROTTLING_STATUS_EVENTID */
1137struct wmi_thermal_throttling_status_event {
1138 __le32 time_on_usec;
1139 __le32 time_off_usec;
1140 __le32 max_txop_length_usec;
1141} __packed;
1142
1143/* WMI_GET_STATUS_DONE_EVENTID */
1144struct wmi_get_status_done_event {
1145 __le32 is_associated;
1146 u8 cid;
1147 u8 reserved0[3];
1148 u8 bssid[WMI_MAC_LEN];
1149 u8 channel;
1150 u8 reserved1;

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

2201 /* maximum supported multi bursts */
2202 __le16 max_multi_bursts_sessions;
2203 /* maximum supported FTM burst duration , wmi_tof_burst_duration_e */
2204 __le16 max_ftm_burst_duration;
2205 /* AOA supported types */
2206 __le32 aoa_supported_types;
2207} __packed;
2208
1161/* WMI_GET_STATUS_DONE_EVENTID */
1162struct wmi_get_status_done_event {
1163 __le32 is_associated;
1164 u8 cid;
1165 u8 reserved0[3];
1166 u8 bssid[WMI_MAC_LEN];
1167 u8 channel;
1168 u8 reserved1;

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

2219 /* maximum supported multi bursts */
2220 __le16 max_multi_bursts_sessions;
2221 /* maximum supported FTM burst duration , wmi_tof_burst_duration_e */
2222 __le16 max_ftm_burst_duration;
2223 /* AOA supported types */
2224 __le32 aoa_supported_types;
2225} __packed;
2226
2227/* WMI_SET_THERMAL_THROTTLING_CFG_EVENTID */
2228struct wmi_set_thermal_throttling_cfg_event {
2229 /* wmi_fw_status */
2230 u8 status;
2231 u8 reserved[3];
2232} __packed;
2233
2234/* WMI_GET_THERMAL_THROTTLING_CFG_EVENTID */
2235struct wmi_get_thermal_throttling_cfg_event {
2236 /* Status data */
2237 struct wmi_tt_data tt_data;
2238} __packed;
2239
2209enum wmi_tof_session_end_status {
2210 WMI_TOF_SESSION_END_NO_ERROR = 0x00,
2211 WMI_TOF_SESSION_END_FAIL = 0x01,
2212 WMI_TOF_SESSION_END_PARAMS_ERROR = 0x02,
2213 WMI_TOF_SESSION_END_ABORTED = 0x03,
2214};
2215
2216/* WMI_TOF_SESSION_END_EVENTID */

--- 370 unchanged lines hidden ---
2240enum wmi_tof_session_end_status {
2241 WMI_TOF_SESSION_END_NO_ERROR = 0x00,
2242 WMI_TOF_SESSION_END_FAIL = 0x01,
2243 WMI_TOF_SESSION_END_PARAMS_ERROR = 0x02,
2244 WMI_TOF_SESSION_END_ABORTED = 0x03,
2245};
2246
2247/* WMI_TOF_SESSION_END_EVENTID */

--- 370 unchanged lines hidden ---