aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ath/wil6210/wmi.h392
1 files changed, 264 insertions, 128 deletions
diff --git a/drivers/net/wireless/ath/wil6210/wmi.h b/drivers/net/wireless/ath/wil6210/wmi.h
index 2cc7775c0b1f..d93a4d490d24 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.h
+++ b/drivers/net/wireless/ath/wil6210/wmi.h
@@ -35,6 +35,7 @@
35#define WMI_MAC_LEN (6) 35#define WMI_MAC_LEN (6)
36#define WMI_PROX_RANGE_NUM (3) 36#define WMI_PROX_RANGE_NUM (3)
37#define WMI_MAX_LOSS_DMG_BEACONS (20) 37#define WMI_MAX_LOSS_DMG_BEACONS (20)
38#define MAX_NUM_OF_SECTORS (128)
38 39
39/* Mailbox interface 40/* Mailbox interface
40 * used for commands and events 41 * used for commands and events
@@ -68,144 +69,149 @@ struct wmi_cmd_hdr {
68 69
69/* List of Commands */ 70/* List of Commands */
70enum wmi_command_id { 71enum wmi_command_id {
71 WMI_CONNECT_CMDID = 0x01, 72 WMI_CONNECT_CMDID = 0x01,
72 WMI_DISCONNECT_CMDID = 0x03, 73 WMI_DISCONNECT_CMDID = 0x03,
73 WMI_DISCONNECT_STA_CMDID = 0x04, 74 WMI_DISCONNECT_STA_CMDID = 0x04,
74 WMI_START_SCAN_CMDID = 0x07, 75 WMI_START_SCAN_CMDID = 0x07,
75 WMI_SET_BSS_FILTER_CMDID = 0x09, 76 WMI_SET_BSS_FILTER_CMDID = 0x09,
76 WMI_SET_PROBED_SSID_CMDID = 0x0A, 77 WMI_SET_PROBED_SSID_CMDID = 0x0A,
77 WMI_SET_LISTEN_INT_CMDID = 0x0B, 78 WMI_SET_LISTEN_INT_CMDID = 0x0B,
78 WMI_BCON_CTRL_CMDID = 0x0F, 79 WMI_BCON_CTRL_CMDID = 0x0F,
79 WMI_ADD_CIPHER_KEY_CMDID = 0x16, 80 WMI_ADD_CIPHER_KEY_CMDID = 0x16,
80 WMI_DELETE_CIPHER_KEY_CMDID = 0x17, 81 WMI_DELETE_CIPHER_KEY_CMDID = 0x17,
81 WMI_PCP_CONF_CMDID = 0x18, 82 WMI_PCP_CONF_CMDID = 0x18,
82 WMI_SET_APPIE_CMDID = 0x3F, 83 WMI_SET_APPIE_CMDID = 0x3F,
83 WMI_SET_WSC_STATUS_CMDID = 0x41, 84 WMI_SET_WSC_STATUS_CMDID = 0x41,
84 WMI_PXMT_RANGE_CFG_CMDID = 0x42, 85 WMI_PXMT_RANGE_CFG_CMDID = 0x42,
85 WMI_PXMT_SNR2_RANGE_CFG_CMDID = 0x43, 86 WMI_PXMT_SNR2_RANGE_CFG_CMDID = 0x43,
86 WMI_MEM_READ_CMDID = 0x800, 87 WMI_MEM_READ_CMDID = 0x800,
87 WMI_MEM_WR_CMDID = 0x801, 88 WMI_MEM_WR_CMDID = 0x801,
88 WMI_ECHO_CMDID = 0x803, 89 WMI_ECHO_CMDID = 0x803,
89 WMI_DEEP_ECHO_CMDID = 0x804, 90 WMI_DEEP_ECHO_CMDID = 0x804,
90 WMI_CONFIG_MAC_CMDID = 0x805, 91 WMI_CONFIG_MAC_CMDID = 0x805,
91 WMI_CONFIG_PHY_DEBUG_CMDID = 0x806, 92 WMI_CONFIG_PHY_DEBUG_CMDID = 0x806,
92 WMI_ADD_DEBUG_TX_PCKT_CMDID = 0x808, 93 WMI_ADD_DEBUG_TX_PCKT_CMDID = 0x808,
93 WMI_PHY_GET_STATISTICS_CMDID = 0x809, 94 WMI_PHY_GET_STATISTICS_CMDID = 0x809,
94 WMI_FS_TUNE_CMDID = 0x80A, 95 WMI_FS_TUNE_CMDID = 0x80A,
95 WMI_CORR_MEASURE_CMDID = 0x80B, 96 WMI_CORR_MEASURE_CMDID = 0x80B,
96 WMI_READ_RSSI_CMDID = 0x80C, 97 WMI_READ_RSSI_CMDID = 0x80C,
97 WMI_TEMP_SENSE_CMDID = 0x80E, 98 WMI_TEMP_SENSE_CMDID = 0x80E,
98 WMI_DC_CALIB_CMDID = 0x80F, 99 WMI_DC_CALIB_CMDID = 0x80F,
99 WMI_SEND_TONE_CMDID = 0x810, 100 WMI_SEND_TONE_CMDID = 0x810,
100 WMI_IQ_TX_CALIB_CMDID = 0x811, 101 WMI_IQ_TX_CALIB_CMDID = 0x811,
101 WMI_IQ_RX_CALIB_CMDID = 0x812, 102 WMI_IQ_RX_CALIB_CMDID = 0x812,
102 WMI_SET_UCODE_IDLE_CMDID = 0x813, 103 WMI_SET_UCODE_IDLE_CMDID = 0x813,
103 WMI_SET_WORK_MODE_CMDID = 0x815, 104 WMI_SET_WORK_MODE_CMDID = 0x815,
104 WMI_LO_LEAKAGE_CALIB_CMDID = 0x816, 105 WMI_LO_LEAKAGE_CALIB_CMDID = 0x816,
105 WMI_MARLON_R_READ_CMDID = 0x818, 106 WMI_MARLON_R_READ_CMDID = 0x818,
106 WMI_MARLON_R_WRITE_CMDID = 0x819, 107 WMI_MARLON_R_WRITE_CMDID = 0x819,
107 WMI_MARLON_R_TXRX_SEL_CMDID = 0x81A, 108 WMI_MARLON_R_TXRX_SEL_CMDID = 0x81A,
108 MAC_IO_STATIC_PARAMS_CMDID = 0x81B, 109 MAC_IO_STATIC_PARAMS_CMDID = 0x81B,
109 MAC_IO_DYNAMIC_PARAMS_CMDID = 0x81C, 110 MAC_IO_DYNAMIC_PARAMS_CMDID = 0x81C,
110 WMI_SILENT_RSSI_CALIB_CMDID = 0x81D, 111 WMI_SILENT_RSSI_CALIB_CMDID = 0x81D,
111 WMI_RF_RX_TEST_CMDID = 0x81E, 112 WMI_RF_RX_TEST_CMDID = 0x81E,
112 WMI_CFG_RX_CHAIN_CMDID = 0x820, 113 WMI_CFG_RX_CHAIN_CMDID = 0x820,
113 WMI_VRING_CFG_CMDID = 0x821, 114 WMI_VRING_CFG_CMDID = 0x821,
114 WMI_BCAST_VRING_CFG_CMDID = 0x822, 115 WMI_BCAST_VRING_CFG_CMDID = 0x822,
115 WMI_VRING_BA_EN_CMDID = 0x823, 116 WMI_VRING_BA_EN_CMDID = 0x823,
116 WMI_VRING_BA_DIS_CMDID = 0x824, 117 WMI_VRING_BA_DIS_CMDID = 0x824,
117 WMI_RCP_ADDBA_RESP_CMDID = 0x825, 118 WMI_RCP_ADDBA_RESP_CMDID = 0x825,
118 WMI_RCP_DELBA_CMDID = 0x826, 119 WMI_RCP_DELBA_CMDID = 0x826,
119 WMI_SET_SSID_CMDID = 0x827, 120 WMI_SET_SSID_CMDID = 0x827,
120 WMI_GET_SSID_CMDID = 0x828, 121 WMI_GET_SSID_CMDID = 0x828,
121 WMI_SET_PCP_CHANNEL_CMDID = 0x829, 122 WMI_SET_PCP_CHANNEL_CMDID = 0x829,
122 WMI_GET_PCP_CHANNEL_CMDID = 0x82A, 123 WMI_GET_PCP_CHANNEL_CMDID = 0x82A,
123 WMI_SW_TX_REQ_CMDID = 0x82B, 124 WMI_SW_TX_REQ_CMDID = 0x82B,
124 WMI_READ_MAC_RXQ_CMDID = 0x830, 125 WMI_READ_MAC_RXQ_CMDID = 0x830,
125 WMI_READ_MAC_TXQ_CMDID = 0x831, 126 WMI_READ_MAC_TXQ_CMDID = 0x831,
126 WMI_WRITE_MAC_RXQ_CMDID = 0x832, 127 WMI_WRITE_MAC_RXQ_CMDID = 0x832,
127 WMI_WRITE_MAC_TXQ_CMDID = 0x833, 128 WMI_WRITE_MAC_TXQ_CMDID = 0x833,
128 WMI_WRITE_MAC_XQ_FIELD_CMDID = 0x834, 129 WMI_WRITE_MAC_XQ_FIELD_CMDID = 0x834,
129 WMI_MLME_PUSH_CMDID = 0x835, 130 WMI_MLME_PUSH_CMDID = 0x835,
130 WMI_BEAMFORMING_MGMT_CMDID = 0x836, 131 WMI_BEAMFORMING_MGMT_CMDID = 0x836,
131 WMI_BF_TXSS_MGMT_CMDID = 0x837, 132 WMI_BF_TXSS_MGMT_CMDID = 0x837,
132 WMI_BF_SM_MGMT_CMDID = 0x838, 133 WMI_BF_SM_MGMT_CMDID = 0x838,
133 WMI_BF_RXSS_MGMT_CMDID = 0x839, 134 WMI_BF_RXSS_MGMT_CMDID = 0x839,
134 WMI_BF_TRIG_CMDID = 0x83A, 135 WMI_BF_TRIG_CMDID = 0x83A,
135 WMI_LINK_MAINTAIN_CFG_WRITE_CMDID = 0x842, 136 WMI_LINK_MAINTAIN_CFG_WRITE_CMDID = 0x842,
136 WMI_LINK_MAINTAIN_CFG_READ_CMDID = 0x843, 137 WMI_LINK_MAINTAIN_CFG_READ_CMDID = 0x843,
137 WMI_SET_SECTORS_CMDID = 0x849, 138 WMI_SET_SECTORS_CMDID = 0x849,
138 WMI_MAINTAIN_PAUSE_CMDID = 0x850, 139 WMI_MAINTAIN_PAUSE_CMDID = 0x850,
139 WMI_MAINTAIN_RESUME_CMDID = 0x851, 140 WMI_MAINTAIN_RESUME_CMDID = 0x851,
140 WMI_RS_MGMT_CMDID = 0x852, 141 WMI_RS_MGMT_CMDID = 0x852,
141 WMI_RF_MGMT_CMDID = 0x853, 142 WMI_RF_MGMT_CMDID = 0x853,
142 WMI_THERMAL_THROTTLING_CTRL_CMDID = 0x854, 143 WMI_THERMAL_THROTTLING_CTRL_CMDID = 0x854,
143 WMI_THERMAL_THROTTLING_GET_STATUS_CMDID = 0x855, 144 WMI_THERMAL_THROTTLING_GET_STATUS_CMDID = 0x855,
144 WMI_OTP_READ_CMDID = 0x856, 145 WMI_OTP_READ_CMDID = 0x856,
145 WMI_OTP_WRITE_CMDID = 0x857, 146 WMI_OTP_WRITE_CMDID = 0x857,
146 WMI_LED_CFG_CMDID = 0x858, 147 WMI_LED_CFG_CMDID = 0x858,
147 /* Performance monitoring commands */ 148 /* Performance monitoring commands */
148 WMI_BF_CTRL_CMDID = 0x862, 149 WMI_BF_CTRL_CMDID = 0x862,
149 WMI_NOTIFY_REQ_CMDID = 0x863, 150 WMI_NOTIFY_REQ_CMDID = 0x863,
150 WMI_GET_STATUS_CMDID = 0x864, 151 WMI_GET_STATUS_CMDID = 0x864,
151 WMI_GET_RF_STATUS_CMDID = 0x866, 152 WMI_GET_RF_STATUS_CMDID = 0x866,
152 WMI_GET_BASEBAND_TYPE_CMDID = 0x867, 153 WMI_GET_BASEBAND_TYPE_CMDID = 0x867,
153 WMI_UNIT_TEST_CMDID = 0x900, 154 WMI_UNIT_TEST_CMDID = 0x900,
154 WMI_HICCUP_CMDID = 0x901, 155 WMI_HICCUP_CMDID = 0x901,
155 WMI_FLASH_READ_CMDID = 0x902, 156 WMI_FLASH_READ_CMDID = 0x902,
156 WMI_FLASH_WRITE_CMDID = 0x903, 157 WMI_FLASH_WRITE_CMDID = 0x903,
157 /* Power management */ 158 /* Power management */
158 WMI_TRAFFIC_DEFERRAL_CMDID = 0x904, 159 WMI_TRAFFIC_DEFERRAL_CMDID = 0x904,
159 WMI_TRAFFIC_RESUME_CMDID = 0x905, 160 WMI_TRAFFIC_RESUME_CMDID = 0x905,
160 /* P2P */ 161 /* P2P */
161 WMI_P2P_CFG_CMDID = 0x910, 162 WMI_P2P_CFG_CMDID = 0x910,
162 WMI_PORT_ALLOCATE_CMDID = 0x911, 163 WMI_PORT_ALLOCATE_CMDID = 0x911,
163 WMI_PORT_DELETE_CMDID = 0x912, 164 WMI_PORT_DELETE_CMDID = 0x912,
164 WMI_POWER_MGMT_CFG_CMDID = 0x913, 165 WMI_POWER_MGMT_CFG_CMDID = 0x913,
165 WMI_START_LISTEN_CMDID = 0x914, 166 WMI_START_LISTEN_CMDID = 0x914,
166 WMI_START_SEARCH_CMDID = 0x915, 167 WMI_START_SEARCH_CMDID = 0x915,
167 WMI_DISCOVERY_START_CMDID = 0x916, 168 WMI_DISCOVERY_START_CMDID = 0x916,
168 WMI_DISCOVERY_STOP_CMDID = 0x917, 169 WMI_DISCOVERY_STOP_CMDID = 0x917,
169 WMI_PCP_START_CMDID = 0x918, 170 WMI_PCP_START_CMDID = 0x918,
170 WMI_PCP_STOP_CMDID = 0x919, 171 WMI_PCP_STOP_CMDID = 0x919,
171 WMI_GET_PCP_FACTOR_CMDID = 0x91B, 172 WMI_GET_PCP_FACTOR_CMDID = 0x91B,
172 /* Power Save Configuration Commands */ 173 /* Power Save Configuration Commands */
173 WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C, 174 WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C,
174 /* Not supported yet */ 175 /* Not supported yet */
175 WMI_PS_DEV_CFG_CMDID = 0x91D, 176 WMI_PS_DEV_CFG_CMDID = 0x91D,
176 /* Not supported yet */ 177 /* Not supported yet */
177 WMI_PS_DEV_CFG_READ_CMDID = 0x91E, 178 WMI_PS_DEV_CFG_READ_CMDID = 0x91E,
178 /* Per MAC Power Save Configuration commands 179 /* Per MAC Power Save Configuration commands
179 * Not supported yet 180 * Not supported yet
180 */ 181 */
181 WMI_PS_MID_CFG_CMDID = 0x91F, 182 WMI_PS_MID_CFG_CMDID = 0x91F,
182 /* Not supported yet */ 183 /* Not supported yet */
183 WMI_PS_MID_CFG_READ_CMDID = 0x920, 184 WMI_PS_MID_CFG_READ_CMDID = 0x920,
184 WMI_RS_CFG_CMDID = 0x921, 185 WMI_RS_CFG_CMDID = 0x921,
185 WMI_GET_DETAILED_RS_RES_CMDID = 0x922, 186 WMI_GET_DETAILED_RS_RES_CMDID = 0x922,
186 WMI_AOA_MEAS_CMDID = 0x923, 187 WMI_AOA_MEAS_CMDID = 0x923,
187 WMI_SET_MGMT_RETRY_LIMIT_CMDID = 0x930, 188 WMI_SET_MGMT_RETRY_LIMIT_CMDID = 0x930,
188 WMI_GET_MGMT_RETRY_LIMIT_CMDID = 0x931, 189 WMI_GET_MGMT_RETRY_LIMIT_CMDID = 0x931,
189 WMI_TOF_SESSION_START_CMDID = 0x991, 190 WMI_TOF_SESSION_START_CMDID = 0x991,
190 WMI_TOF_GET_CAPABILITIES_CMDID = 0x992, 191 WMI_TOF_GET_CAPABILITIES_CMDID = 0x992,
191 WMI_TOF_SET_LCR_CMDID = 0x993, 192 WMI_TOF_SET_LCR_CMDID = 0x993,
192 WMI_TOF_SET_LCI_CMDID = 0x994, 193 WMI_TOF_SET_LCI_CMDID = 0x994,
193 WMI_TOF_CHANNEL_INFO_CMDID = 0x995, 194 WMI_TOF_CHANNEL_INFO_CMDID = 0x995,
194 WMI_GET_RF_SECTOR_PARAMS_CMDID = 0x9A0, 195 WMI_TOF_SET_TX_RX_OFFSET_CMDID = 0x997,
195 WMI_SET_RF_SECTOR_PARAMS_CMDID = 0x9A1, 196 WMI_TOF_GET_TX_RX_OFFSET_CMDID = 0x998,
196 WMI_GET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A2, 197 WMI_GET_RF_SECTOR_PARAMS_CMDID = 0x9A0,
197 WMI_SET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A3, 198 WMI_SET_RF_SECTOR_PARAMS_CMDID = 0x9A1,
198 WMI_SET_RF_SECTOR_ON_CMDID = 0x9A4, 199 WMI_GET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A2,
199 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 200 WMI_SET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A3,
200 WMI_ABORT_SCAN_CMDID = 0xF007, 201 WMI_SET_RF_SECTOR_ON_CMDID = 0x9A4,
201 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 202 WMI_PRIO_TX_SECTORS_ORDER_CMDID = 0x9A5,
202 WMI_GET_PMK_CMDID = 0xF048, 203 WMI_PRIO_TX_SECTORS_NUMBER_CMDID = 0x9A6,
203 WMI_SET_PASSPHRASE_CMDID = 0xF049, 204 WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID = 0x9A7,
204 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, 205 WMI_SET_MAC_ADDRESS_CMDID = 0xF003,
205 WMI_SET_ASSOC_REQ_RELAY_CMDID = 0xF04B, 206 WMI_ABORT_SCAN_CMDID = 0xF007,
206 WMI_MAC_ADDR_REQ_CMDID = 0xF04D, 207 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041,
207 WMI_FW_VER_CMDID = 0xF04E, 208 WMI_GET_PMK_CMDID = 0xF048,
208 WMI_PMC_CMDID = 0xF04F, 209 WMI_SET_PASSPHRASE_CMDID = 0xF049,
210 WMI_SEND_ASSOC_RES_CMDID = 0xF04A,
211 WMI_SET_ASSOC_REQ_RELAY_CMDID = 0xF04B,
212 WMI_MAC_ADDR_REQ_CMDID = 0xF04D,
213 WMI_FW_VER_CMDID = 0xF04E,
214 WMI_PMC_CMDID = 0xF04F,
209}; 215};
210 216
211/* WMI_CONNECT_CMDID */ 217/* WMI_CONNECT_CMDID */
@@ -959,6 +965,15 @@ struct wmi_tof_channel_info_cmd {
959 __le32 channel_info_report_request; 965 __le32 channel_info_report_request;
960} __packed; 966} __packed;
961 967
968/* WMI_TOF_SET_TX_RX_OFFSET_CMDID */
969struct wmi_tof_set_tx_rx_offset_cmd {
970 /* TX delay offset */
971 __le32 tx_offset;
972 /* RX delay offset */
973 __le32 rx_offset;
974 __le32 reserved[2];
975} __packed;
976
962/* WMI Events 977/* WMI Events
963 * List of Events (target to host) 978 * List of Events (target to host)
964 */ 979 */
@@ -1060,11 +1075,16 @@ enum wmi_event_id {
1060 WMI_TOF_SET_LCI_EVENTID = 0x1994, 1075 WMI_TOF_SET_LCI_EVENTID = 0x1994,
1061 WMI_TOF_FTM_PER_DEST_RES_EVENTID = 0x1995, 1076 WMI_TOF_FTM_PER_DEST_RES_EVENTID = 0x1995,
1062 WMI_TOF_CHANNEL_INFO_EVENTID = 0x1996, 1077 WMI_TOF_CHANNEL_INFO_EVENTID = 0x1996,
1078 WMI_TOF_SET_TX_RX_OFFSET_EVENTID = 0x1997,
1079 WMI_TOF_GET_TX_RX_OFFSET_EVENTID = 0x1998,
1063 WMI_GET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A0, 1080 WMI_GET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A0,
1064 WMI_SET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A1, 1081 WMI_SET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A1,
1065 WMI_GET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A2, 1082 WMI_GET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A2,
1066 WMI_SET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A3, 1083 WMI_SET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A3,
1067 WMI_SET_RF_SECTOR_ON_DONE_EVENTID = 0x19A4, 1084 WMI_SET_RF_SECTOR_ON_DONE_EVENTID = 0x19A4,
1085 WMI_PRIO_TX_SECTORS_ORDER_EVENTID = 0x19A5,
1086 WMI_PRIO_TX_SECTORS_NUMBER_EVENTID = 0x19A6,
1087 WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID = 0x19A7,
1068 WMI_SET_CHANNEL_EVENTID = 0x9000, 1088 WMI_SET_CHANNEL_EVENTID = 0x9000,
1069 WMI_ASSOC_REQ_EVENTID = 0x9001, 1089 WMI_ASSOC_REQ_EVENTID = 0x9001,
1070 WMI_EAPOL_RX_EVENTID = 0x9002, 1090 WMI_EAPOL_RX_EVENTID = 0x9002,
@@ -1190,6 +1210,7 @@ enum baseband_type {
1190 BASEBAND_SPARROW_M_B0 = 0x05, 1210 BASEBAND_SPARROW_M_B0 = 0x05,
1191 BASEBAND_SPARROW_M_C0 = 0x06, 1211 BASEBAND_SPARROW_M_C0 = 0x06,
1192 BASEBAND_SPARROW_M_D0 = 0x07, 1212 BASEBAND_SPARROW_M_D0 = 0x07,
1213 BASEBAND_TALYN_M_A0 = 0x08,
1193}; 1214};
1194 1215
1195/* WMI_GET_BASEBAND_TYPE_EVENTID */ 1216/* WMI_GET_BASEBAND_TYPE_EVENTID */
@@ -2224,6 +2245,25 @@ struct wmi_tof_channel_info_event {
2224 u8 report[0]; 2245 u8 report[0];
2225} __packed; 2246} __packed;
2226 2247
2248/* WMI_TOF_SET_TX_RX_OFFSET_EVENTID */
2249struct wmi_tof_set_tx_rx_offset_event {
2250 /* enum wmi_fw_status */
2251 u8 status;
2252 u8 reserved[3];
2253} __packed;
2254
2255/* WMI_TOF_GET_TX_RX_OFFSET_EVENTID */
2256struct wmi_tof_get_tx_rx_offset_event {
2257 /* enum wmi_fw_status */
2258 u8 status;
2259 u8 reserved1[3];
2260 /* TX delay offset */
2261 __le32 tx_offset;
2262 /* RX delay offset */
2263 __le32 rx_offset;
2264 __le32 reserved2[2];
2265} __packed;
2266
2227/* Result status codes for WMI commands */ 2267/* Result status codes for WMI commands */
2228enum wmi_rf_sector_status { 2268enum wmi_rf_sector_status {
2229 WMI_RF_SECTOR_STATUS_SUCCESS = 0x00, 2269 WMI_RF_SECTOR_STATUS_SUCCESS = 0x00,
@@ -2388,4 +2428,100 @@ struct wmi_set_rf_sector_on_done_event {
2388 u8 reserved[3]; 2428 u8 reserved[3];
2389} __packed; 2429} __packed;
2390 2430
2431enum wmi_sector_sweep_type {
2432 WMI_SECTOR_SWEEP_TYPE_TXSS = 0x00,
2433 WMI_SECTOR_SWEEP_TYPE_BCON = 0x01,
2434 WMI_SECTOR_SWEEP_TYPE_TXSS_AND_BCON = 0x02,
2435 WMI_SECTOR_SWEEP_TYPE_NUM = 0x03,
2436};
2437
2438/* WMI_PRIO_TX_SECTORS_ORDER_CMDID
2439 *
2440 * Set the order of TX sectors in TXSS and/or Beacon(AP).
2441 *
2442 * Returned event:
2443 * - WMI_PRIO_TX_SECTORS_ORDER_EVENTID
2444 */
2445struct wmi_prio_tx_sectors_order_cmd {
2446 /* tx sectors order to be applied, 0xFF for end of array */
2447 u8 tx_sectors_priority_array[MAX_NUM_OF_SECTORS];
2448 /* enum wmi_sector_sweep_type, TXSS and/or Beacon */
2449 u8 sector_sweep_type;
2450 /* needed only for TXSS configuration */
2451 u8 cid;
2452 /* alignment to 32b */
2453 u8 reserved[2];
2454} __packed;
2455
2456/* completion status codes */
2457enum wmi_prio_tx_sectors_cmd_status {
2458 WMI_PRIO_TX_SECT_CMD_STATUS_SUCCESS = 0x00,
2459 WMI_PRIO_TX_SECT_CMD_STATUS_BAD_PARAM = 0x01,
2460 /* other error */
2461 WMI_PRIO_TX_SECT_CMD_STATUS_ERROR = 0x02,
2462};
2463
2464/* WMI_PRIO_TX_SECTORS_ORDER_EVENTID */
2465struct wmi_prio_tx_sectors_order_event {
2466 /* enum wmi_prio_tx_sectors_cmd_status */
2467 u8 status;
2468 /* alignment to 32b */
2469 u8 reserved[3];
2470} __packed;
2471
2472struct wmi_prio_tx_sectors_num_cmd {
2473 /* [0-128], 0 = No changes */
2474 u8 beacon_number_of_sectors;
2475 /* [0-128], 0 = No changes */
2476 u8 txss_number_of_sectors;
2477 /* [0-8] needed only for TXSS configuration */
2478 u8 cid;
2479} __packed;
2480
2481/* WMI_PRIO_TX_SECTORS_NUMBER_CMDID
2482 *
2483 * Set the number of active sectors in TXSS and/or Beacon.
2484 *
2485 * Returned event:
2486 * - WMI_PRIO_TX_SECTORS_NUMBER_EVENTID
2487 */
2488struct wmi_prio_tx_sectors_number_cmd {
2489 struct wmi_prio_tx_sectors_num_cmd active_sectors_num;
2490 /* alignment to 32b */
2491 u8 reserved;
2492} __packed;
2493
2494/* WMI_PRIO_TX_SECTORS_NUMBER_EVENTID */
2495struct wmi_prio_tx_sectors_number_event {
2496 /* enum wmi_prio_tx_sectors_cmd_status */
2497 u8 status;
2498 /* alignment to 32b */
2499 u8 reserved[3];
2500} __packed;
2501
2502/* WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID
2503 *
2504 * Set default sectors order and number (hard coded in board file)
2505 * in TXSS and/or Beacon.
2506 *
2507 * Returned event:
2508 * - WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID
2509 */
2510struct wmi_prio_tx_sectors_set_default_cfg_cmd {
2511 /* enum wmi_sector_sweep_type, TXSS and/or Beacon */
2512 u8 sector_sweep_type;
2513 /* needed only for TXSS configuration */
2514 u8 cid;
2515 /* alignment to 32b */
2516 u8 reserved[2];
2517} __packed;
2518
2519/* WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID */
2520struct wmi_prio_tx_sectors_set_default_cfg_event {
2521 /* enum wmi_prio_tx_sectors_cmd_status */
2522 u8 status;
2523 /* alignment to 32b */
2524 u8 reserved[3];
2525} __packed;
2526
2391#endif /* __WILOCITY_WMI_H__ */ 2527#endif /* __WILOCITY_WMI_H__ */