2 * Indices for 802.11 a/b/g/n/ac 1-3 chain symmetric transmit rates
4 * Copyright (C) 1999-2016, Broadcom Corporation
6 * Unless you and Broadcom execute a separate written software license
7 * agreement governing use of this software, this software is licensed to you
8 * under the terms of the GNU General Public License version 2 (the "GPL"),
9 * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10 * following added to such license:
12 * As a special exception, the copyright holders of this software give you
13 * permission to link this software with independent modules, and to copy and
14 * distribute the resulting executable under terms of your choice, provided that
15 * you also meet, for each linked independent module, the terms and conditions of
16 * the license of that module. An independent module is a module which is not
17 * derived from this software. The special exception does not apply to any
18 * modifications of the software.
20 * Notwithstanding the above, under no circumstances may you combine this
21 * software in any way with any other Broadcom software provided under a license
22 * other than the GPL, without Broadcom's express prior written consent.
25 * <<Broadcom-WL-IPTag/Open:>>
27 * $Id: bcmwifi_rates.h 591285 2015-10-07 11:56:29Z $
30 #ifndef _bcmwifi_rates_h_
31 #define _bcmwifi_rates_h_
35 #endif /* __cplusplus */
38 #define WL_RATESET_SZ_DSSS 4
39 #define WL_RATESET_SZ_OFDM 8
40 #define WL_RATESET_SZ_VHT_MCS 10
41 #define WL_RATESET_SZ_VHT_MCS_P 12
43 #if defined(WLPROPRIETARY_11N_RATES)
44 #define WL_RATESET_SZ_HT_MCS WL_RATESET_SZ_VHT_MCS
46 #define WL_RATESET_SZ_HT_MCS 8
49 #define WL_RATESET_SZ_HT_IOCTL 8 /* MAC histogram, compatibility with wl utility */
51 #define WL_TX_CHAINS_MAX 4
53 #define WL_RATE_DISABLED (-128) /* Power value corresponding to unsupported rate */
55 /* Transmit channel bandwidths */
56 typedef enum wl_tx_bw {
81 * Not all modes are listed here, only those required for disambiguation. e.g. SPEXP is not listed
83 typedef enum wl_tx_mode {
92 /* Number of transmit chains */
93 typedef enum wl_tx_chains {
101 /* Number of transmit streams */
102 typedef enum wl_tx_nss {
110 /* This enum maps each rate to a CLM index */
112 typedef enum clm_rates {
119 WL_RATE_1X1_DSSS_1 = 0,
120 WL_RATE_1X1_DSSS_2 = 1,
121 WL_RATE_1X1_DSSS_5_5 = 2,
122 WL_RATE_1X1_DSSS_11 = 3,
124 WL_RATE_1X1_OFDM_6 = 4,
125 WL_RATE_1X1_OFDM_9 = 5,
126 WL_RATE_1X1_OFDM_12 = 6,
127 WL_RATE_1X1_OFDM_18 = 7,
128 WL_RATE_1X1_OFDM_24 = 8,
129 WL_RATE_1X1_OFDM_36 = 9,
130 WL_RATE_1X1_OFDM_48 = 10,
131 WL_RATE_1X1_OFDM_54 = 11,
133 WL_RATE_1X1_MCS0 = 12,
134 WL_RATE_1X1_MCS1 = 13,
135 WL_RATE_1X1_MCS2 = 14,
136 WL_RATE_1X1_MCS3 = 15,
137 WL_RATE_1X1_MCS4 = 16,
138 WL_RATE_1X1_MCS5 = 17,
139 WL_RATE_1X1_MCS6 = 18,
140 WL_RATE_1X1_MCS7 = 19,
141 WL_RATE_P_1X1_MCS87 = 20,
142 WL_RATE_P_1X1_MCS88 = 21,
144 WL_RATE_1X1_VHT0SS1 = 12,
145 WL_RATE_1X1_VHT1SS1 = 13,
146 WL_RATE_1X1_VHT2SS1 = 14,
147 WL_RATE_1X1_VHT3SS1 = 15,
148 WL_RATE_1X1_VHT4SS1 = 16,
149 WL_RATE_1X1_VHT5SS1 = 17,
150 WL_RATE_1X1_VHT6SS1 = 18,
151 WL_RATE_1X1_VHT7SS1 = 19,
152 WL_RATE_1X1_VHT8SS1 = 20,
153 WL_RATE_1X1_VHT9SS1 = 21,
154 WL_RATE_P_1X1_VHT10SS1 = 22,
155 WL_RATE_P_1X1_VHT11SS1 = 23,
163 /* 1 Stream expanded + 1 */
164 WL_RATE_1X2_DSSS_1 = 24,
165 WL_RATE_1X2_DSSS_2 = 25,
166 WL_RATE_1X2_DSSS_5_5 = 26,
167 WL_RATE_1X2_DSSS_11 = 27,
169 WL_RATE_1X2_CDD_OFDM_6 = 28,
170 WL_RATE_1X2_CDD_OFDM_9 = 29,
171 WL_RATE_1X2_CDD_OFDM_12 = 30,
172 WL_RATE_1X2_CDD_OFDM_18 = 31,
173 WL_RATE_1X2_CDD_OFDM_24 = 32,
174 WL_RATE_1X2_CDD_OFDM_36 = 33,
175 WL_RATE_1X2_CDD_OFDM_48 = 34,
176 WL_RATE_1X2_CDD_OFDM_54 = 35,
178 WL_RATE_1X2_CDD_MCS0 = 36,
179 WL_RATE_1X2_CDD_MCS1 = 37,
180 WL_RATE_1X2_CDD_MCS2 = 38,
181 WL_RATE_1X2_CDD_MCS3 = 39,
182 WL_RATE_1X2_CDD_MCS4 = 40,
183 WL_RATE_1X2_CDD_MCS5 = 41,
184 WL_RATE_1X2_CDD_MCS6 = 42,
185 WL_RATE_1X2_CDD_MCS7 = 43,
186 WL_RATE_P_1X2_CDD_MCS87 = 44,
187 WL_RATE_P_1X2_CDD_MCS88 = 45,
189 WL_RATE_1X2_VHT0SS1 = 36,
190 WL_RATE_1X2_VHT1SS1 = 37,
191 WL_RATE_1X2_VHT2SS1 = 38,
192 WL_RATE_1X2_VHT3SS1 = 39,
193 WL_RATE_1X2_VHT4SS1 = 40,
194 WL_RATE_1X2_VHT5SS1 = 41,
195 WL_RATE_1X2_VHT6SS1 = 42,
196 WL_RATE_1X2_VHT7SS1 = 43,
197 WL_RATE_1X2_VHT8SS1 = 44,
198 WL_RATE_1X2_VHT9SS1 = 45,
199 WL_RATE_P_1X2_VHT10SS1 = 46,
200 WL_RATE_P_1X2_VHT11SS1 = 47,
203 WL_RATE_2X2_STBC_MCS0 = 48,
204 WL_RATE_2X2_STBC_MCS1 = 49,
205 WL_RATE_2X2_STBC_MCS2 = 50,
206 WL_RATE_2X2_STBC_MCS3 = 51,
207 WL_RATE_2X2_STBC_MCS4 = 52,
208 WL_RATE_2X2_STBC_MCS5 = 53,
209 WL_RATE_2X2_STBC_MCS6 = 54,
210 WL_RATE_2X2_STBC_MCS7 = 55,
211 WL_RATE_P_2X2_STBC_MCS87 = 56,
212 WL_RATE_P_2X2_STBC_MCS88 = 57,
214 WL_RATE_2X2_STBC_VHT0SS1 = 48,
215 WL_RATE_2X2_STBC_VHT1SS1 = 49,
216 WL_RATE_2X2_STBC_VHT2SS1 = 50,
217 WL_RATE_2X2_STBC_VHT3SS1 = 51,
218 WL_RATE_2X2_STBC_VHT4SS1 = 52,
219 WL_RATE_2X2_STBC_VHT5SS1 = 53,
220 WL_RATE_2X2_STBC_VHT6SS1 = 54,
221 WL_RATE_2X2_STBC_VHT7SS1 = 55,
222 WL_RATE_2X2_STBC_VHT8SS1 = 56,
223 WL_RATE_2X2_STBC_VHT9SS1 = 57,
224 WL_RATE_P_2X2_STBC_VHT10SS1 = 58,
225 WL_RATE_P_2X2_STBC_VHT11SS1 = 59,
227 WL_RATE_2X2_SDM_MCS8 = 60,
228 WL_RATE_2X2_SDM_MCS9 = 61,
229 WL_RATE_2X2_SDM_MCS10 = 62,
230 WL_RATE_2X2_SDM_MCS11 = 63,
231 WL_RATE_2X2_SDM_MCS12 = 64,
232 WL_RATE_2X2_SDM_MCS13 = 65,
233 WL_RATE_2X2_SDM_MCS14 = 66,
234 WL_RATE_2X2_SDM_MCS15 = 67,
235 WL_RATE_P_2X2_SDM_MCS99 = 68,
236 WL_RATE_P_2X2_SDM_MCS100 = 69,
238 WL_RATE_2X2_VHT0SS2 = 60,
239 WL_RATE_2X2_VHT1SS2 = 61,
240 WL_RATE_2X2_VHT2SS2 = 62,
241 WL_RATE_2X2_VHT3SS2 = 63,
242 WL_RATE_2X2_VHT4SS2 = 64,
243 WL_RATE_2X2_VHT5SS2 = 65,
244 WL_RATE_2X2_VHT6SS2 = 66,
245 WL_RATE_2X2_VHT7SS2 = 67,
246 WL_RATE_2X2_VHT8SS2 = 68,
247 WL_RATE_2X2_VHT9SS2 = 69,
248 WL_RATE_P_2X2_VHT10SS2 = 70,
249 WL_RATE_P_2X2_VHT11SS2 = 71,
251 /****************************
252 * TX Beamforming, 2 chains *
253 ****************************
256 /* 1 Stream expanded + 1 */
257 WL_RATE_1X2_TXBF_OFDM_6 = 72,
258 WL_RATE_1X2_TXBF_OFDM_9 = 73,
259 WL_RATE_1X2_TXBF_OFDM_12 = 74,
260 WL_RATE_1X2_TXBF_OFDM_18 = 75,
261 WL_RATE_1X2_TXBF_OFDM_24 = 76,
262 WL_RATE_1X2_TXBF_OFDM_36 = 77,
263 WL_RATE_1X2_TXBF_OFDM_48 = 78,
264 WL_RATE_1X2_TXBF_OFDM_54 = 79,
266 WL_RATE_1X2_TXBF_MCS0 = 80,
267 WL_RATE_1X2_TXBF_MCS1 = 81,
268 WL_RATE_1X2_TXBF_MCS2 = 82,
269 WL_RATE_1X2_TXBF_MCS3 = 83,
270 WL_RATE_1X2_TXBF_MCS4 = 84,
271 WL_RATE_1X2_TXBF_MCS5 = 85,
272 WL_RATE_1X2_TXBF_MCS6 = 86,
273 WL_RATE_1X2_TXBF_MCS7 = 87,
274 WL_RATE_P_1X2_TXBF_MCS87 = 88,
275 WL_RATE_P_1X2_TXBF_MCS88 = 89,
277 WL_RATE_1X2_TXBF_VHT0SS1 = 80,
278 WL_RATE_1X2_TXBF_VHT1SS1 = 81,
279 WL_RATE_1X2_TXBF_VHT2SS1 = 82,
280 WL_RATE_1X2_TXBF_VHT3SS1 = 83,
281 WL_RATE_1X2_TXBF_VHT4SS1 = 84,
282 WL_RATE_1X2_TXBF_VHT5SS1 = 85,
283 WL_RATE_1X2_TXBF_VHT6SS1 = 86,
284 WL_RATE_1X2_TXBF_VHT7SS1 = 87,
285 WL_RATE_1X2_TXBF_VHT8SS1 = 88,
286 WL_RATE_1X2_TXBF_VHT9SS1 = 89,
287 WL_RATE_P_1X2_TXBF_VHT10SS1 = 90,
288 WL_RATE_P_1X2_TXBF_VHT11SS1 = 91,
291 WL_RATE_2X2_TXBF_SDM_MCS8 = 92,
292 WL_RATE_2X2_TXBF_SDM_MCS9 = 93,
293 WL_RATE_2X2_TXBF_SDM_MCS10 = 94,
294 WL_RATE_2X2_TXBF_SDM_MCS11 = 95,
295 WL_RATE_2X2_TXBF_SDM_MCS12 = 96,
296 WL_RATE_2X2_TXBF_SDM_MCS13 = 97,
297 WL_RATE_2X2_TXBF_SDM_MCS14 = 98,
298 WL_RATE_2X2_TXBF_SDM_MCS15 = 99,
299 WL_RATE_P_2X2_TXBF_SDM_MCS99 = 100,
300 WL_RATE_P_2X2_TXBF_SDM_MCS100 = 101,
302 WL_RATE_2X2_TXBF_VHT0SS2 = 92,
303 WL_RATE_2X2_TXBF_VHT1SS2 = 93,
304 WL_RATE_2X2_TXBF_VHT2SS2 = 94,
305 WL_RATE_2X2_TXBF_VHT3SS2 = 95,
306 WL_RATE_2X2_TXBF_VHT4SS2 = 96,
307 WL_RATE_2X2_TXBF_VHT5SS2 = 97,
308 WL_RATE_2X2_TXBF_VHT6SS2 = 98,
309 WL_RATE_2X2_TXBF_VHT7SS2 = 99,
310 WL_RATE_2X2_TXBF_VHT8SS2 = 100,
311 WL_RATE_2X2_TXBF_VHT9SS2 = 101,
312 WL_RATE_P_2X2_TXBF_VHT10SS2 = 102,
313 WL_RATE_P_2X2_TXBF_VHT11SS2 = 103,
321 /* 1 Stream expanded + 2 */
322 WL_RATE_1X3_DSSS_1 = 104,
323 WL_RATE_1X3_DSSS_2 = 105,
324 WL_RATE_1X3_DSSS_5_5 = 106,
325 WL_RATE_1X3_DSSS_11 = 107,
327 WL_RATE_1X3_CDD_OFDM_6 = 108,
328 WL_RATE_1X3_CDD_OFDM_9 = 109,
329 WL_RATE_1X3_CDD_OFDM_12 = 110,
330 WL_RATE_1X3_CDD_OFDM_18 = 111,
331 WL_RATE_1X3_CDD_OFDM_24 = 112,
332 WL_RATE_1X3_CDD_OFDM_36 = 113,
333 WL_RATE_1X3_CDD_OFDM_48 = 114,
334 WL_RATE_1X3_CDD_OFDM_54 = 115,
336 WL_RATE_1X3_CDD_MCS0 = 116,
337 WL_RATE_1X3_CDD_MCS1 = 117,
338 WL_RATE_1X3_CDD_MCS2 = 118,
339 WL_RATE_1X3_CDD_MCS3 = 119,
340 WL_RATE_1X3_CDD_MCS4 = 120,
341 WL_RATE_1X3_CDD_MCS5 = 121,
342 WL_RATE_1X3_CDD_MCS6 = 122,
343 WL_RATE_1X3_CDD_MCS7 = 123,
344 WL_RATE_P_1X3_CDD_MCS87 = 124,
345 WL_RATE_P_1X3_CDD_MCS88 = 125,
347 WL_RATE_1X3_VHT0SS1 = 116,
348 WL_RATE_1X3_VHT1SS1 = 117,
349 WL_RATE_1X3_VHT2SS1 = 118,
350 WL_RATE_1X3_VHT3SS1 = 119,
351 WL_RATE_1X3_VHT4SS1 = 120,
352 WL_RATE_1X3_VHT5SS1 = 121,
353 WL_RATE_1X3_VHT6SS1 = 122,
354 WL_RATE_1X3_VHT7SS1 = 123,
355 WL_RATE_1X3_VHT8SS1 = 124,
356 WL_RATE_1X3_VHT9SS1 = 125,
357 WL_RATE_P_1X3_VHT10SS1 = 126,
358 WL_RATE_P_1X3_VHT11SS1 = 127,
360 /* 2 Streams expanded + 1 */
361 WL_RATE_2X3_STBC_MCS0 = 128,
362 WL_RATE_2X3_STBC_MCS1 = 129,
363 WL_RATE_2X3_STBC_MCS2 = 130,
364 WL_RATE_2X3_STBC_MCS3 = 131,
365 WL_RATE_2X3_STBC_MCS4 = 132,
366 WL_RATE_2X3_STBC_MCS5 = 133,
367 WL_RATE_2X3_STBC_MCS6 = 134,
368 WL_RATE_2X3_STBC_MCS7 = 135,
369 WL_RATE_P_2X3_STBC_MCS87 = 136,
370 WL_RATE_P_2X3_STBC_MCS88 = 137,
372 WL_RATE_2X3_STBC_VHT0SS1 = 128,
373 WL_RATE_2X3_STBC_VHT1SS1 = 129,
374 WL_RATE_2X3_STBC_VHT2SS1 = 130,
375 WL_RATE_2X3_STBC_VHT3SS1 = 131,
376 WL_RATE_2X3_STBC_VHT4SS1 = 132,
377 WL_RATE_2X3_STBC_VHT5SS1 = 133,
378 WL_RATE_2X3_STBC_VHT6SS1 = 134,
379 WL_RATE_2X3_STBC_VHT7SS1 = 135,
380 WL_RATE_2X3_STBC_VHT8SS1 = 136,
381 WL_RATE_2X3_STBC_VHT9SS1 = 137,
382 WL_RATE_P_2X3_STBC_VHT10SS1 = 138,
383 WL_RATE_P_2X3_STBC_VHT11SS1 = 139,
385 WL_RATE_2X3_SDM_MCS8 = 140,
386 WL_RATE_2X3_SDM_MCS9 = 141,
387 WL_RATE_2X3_SDM_MCS10 = 142,
388 WL_RATE_2X3_SDM_MCS11 = 143,
389 WL_RATE_2X3_SDM_MCS12 = 144,
390 WL_RATE_2X3_SDM_MCS13 = 145,
391 WL_RATE_2X3_SDM_MCS14 = 146,
392 WL_RATE_2X3_SDM_MCS15 = 147,
393 WL_RATE_P_2X3_SDM_MCS99 = 148,
394 WL_RATE_P_2X3_SDM_MCS100 = 149,
396 WL_RATE_2X3_VHT0SS2 = 140,
397 WL_RATE_2X3_VHT1SS2 = 141,
398 WL_RATE_2X3_VHT2SS2 = 142,
399 WL_RATE_2X3_VHT3SS2 = 143,
400 WL_RATE_2X3_VHT4SS2 = 144,
401 WL_RATE_2X3_VHT5SS2 = 145,
402 WL_RATE_2X3_VHT6SS2 = 146,
403 WL_RATE_2X3_VHT7SS2 = 147,
404 WL_RATE_2X3_VHT8SS2 = 148,
405 WL_RATE_2X3_VHT9SS2 = 149,
406 WL_RATE_P_2X3_VHT10SS2 = 150,
407 WL_RATE_P_2X3_VHT11SS2 = 151,
410 WL_RATE_3X3_SDM_MCS16 = 152,
411 WL_RATE_3X3_SDM_MCS17 = 153,
412 WL_RATE_3X3_SDM_MCS18 = 154,
413 WL_RATE_3X3_SDM_MCS19 = 155,
414 WL_RATE_3X3_SDM_MCS20 = 156,
415 WL_RATE_3X3_SDM_MCS21 = 157,
416 WL_RATE_3X3_SDM_MCS22 = 158,
417 WL_RATE_3X3_SDM_MCS23 = 159,
418 WL_RATE_P_3X3_SDM_MCS101 = 160,
419 WL_RATE_P_3X3_SDM_MCS102 = 161,
421 WL_RATE_3X3_VHT0SS3 = 152,
422 WL_RATE_3X3_VHT1SS3 = 153,
423 WL_RATE_3X3_VHT2SS3 = 154,
424 WL_RATE_3X3_VHT3SS3 = 155,
425 WL_RATE_3X3_VHT4SS3 = 156,
426 WL_RATE_3X3_VHT5SS3 = 157,
427 WL_RATE_3X3_VHT6SS3 = 158,
428 WL_RATE_3X3_VHT7SS3 = 159,
429 WL_RATE_3X3_VHT8SS3 = 160,
430 WL_RATE_3X3_VHT9SS3 = 161,
431 WL_RATE_P_3X3_VHT10SS3 = 162,
432 WL_RATE_P_3X3_VHT11SS3 = 163,
435 /****************************
436 * TX Beamforming, 3 chains *
437 ****************************
440 /* 1 Stream expanded + 2 */
441 WL_RATE_1X3_TXBF_OFDM_6 = 164,
442 WL_RATE_1X3_TXBF_OFDM_9 = 165,
443 WL_RATE_1X3_TXBF_OFDM_12 = 166,
444 WL_RATE_1X3_TXBF_OFDM_18 = 167,
445 WL_RATE_1X3_TXBF_OFDM_24 = 168,
446 WL_RATE_1X3_TXBF_OFDM_36 = 169,
447 WL_RATE_1X3_TXBF_OFDM_48 = 170,
448 WL_RATE_1X3_TXBF_OFDM_54 = 171,
450 WL_RATE_1X3_TXBF_MCS0 = 172,
451 WL_RATE_1X3_TXBF_MCS1 = 173,
452 WL_RATE_1X3_TXBF_MCS2 = 174,
453 WL_RATE_1X3_TXBF_MCS3 = 175,
454 WL_RATE_1X3_TXBF_MCS4 = 176,
455 WL_RATE_1X3_TXBF_MCS5 = 177,
456 WL_RATE_1X3_TXBF_MCS6 = 178,
457 WL_RATE_1X3_TXBF_MCS7 = 179,
458 WL_RATE_P_1X3_TXBF_MCS87 = 180,
459 WL_RATE_P_1X3_TXBF_MCS88 = 181,
461 WL_RATE_1X3_TXBF_VHT0SS1 = 172,
462 WL_RATE_1X3_TXBF_VHT1SS1 = 173,
463 WL_RATE_1X3_TXBF_VHT2SS1 = 174,
464 WL_RATE_1X3_TXBF_VHT3SS1 = 175,
465 WL_RATE_1X3_TXBF_VHT4SS1 = 176,
466 WL_RATE_1X3_TXBF_VHT5SS1 = 177,
467 WL_RATE_1X3_TXBF_VHT6SS1 = 178,
468 WL_RATE_1X3_TXBF_VHT7SS1 = 179,
469 WL_RATE_1X3_TXBF_VHT8SS1 = 180,
470 WL_RATE_1X3_TXBF_VHT9SS1 = 181,
471 WL_RATE_P_1X3_TXBF_VHT10SS1 = 182,
472 WL_RATE_P_1X3_TXBF_VHT11SS1 = 183,
474 /* 2 Streams expanded + 1 */
475 WL_RATE_2X3_TXBF_SDM_MCS8 = 184,
476 WL_RATE_2X3_TXBF_SDM_MCS9 = 185,
477 WL_RATE_2X3_TXBF_SDM_MCS10 = 186,
478 WL_RATE_2X3_TXBF_SDM_MCS11 = 187,
479 WL_RATE_2X3_TXBF_SDM_MCS12 = 188,
480 WL_RATE_2X3_TXBF_SDM_MCS13 = 189,
481 WL_RATE_2X3_TXBF_SDM_MCS14 = 190,
482 WL_RATE_2X3_TXBF_SDM_MCS15 = 191,
483 WL_RATE_P_2X3_TXBF_SDM_MCS99 = 192,
484 WL_RATE_P_2X3_TXBF_SDM_MCS100 = 193,
486 WL_RATE_2X3_TXBF_VHT0SS2 = 184,
487 WL_RATE_2X3_TXBF_VHT1SS2 = 185,
488 WL_RATE_2X3_TXBF_VHT2SS2 = 186,
489 WL_RATE_2X3_TXBF_VHT3SS2 = 187,
490 WL_RATE_2X3_TXBF_VHT4SS2 = 188,
491 WL_RATE_2X3_TXBF_VHT5SS2 = 189,
492 WL_RATE_2X3_TXBF_VHT6SS2 = 190,
493 WL_RATE_2X3_TXBF_VHT7SS2 = 191,
494 WL_RATE_2X3_TXBF_VHT8SS2 = 192,
495 WL_RATE_2X3_TXBF_VHT9SS2 = 193,
496 WL_RATE_P_2X3_TXBF_VHT10SS2 = 194,
497 WL_RATE_P_2X3_TXBF_VHT11SS2 = 195,
500 WL_RATE_3X3_TXBF_SDM_MCS16 = 196,
501 WL_RATE_3X3_TXBF_SDM_MCS17 = 197,
502 WL_RATE_3X3_TXBF_SDM_MCS18 = 198,
503 WL_RATE_3X3_TXBF_SDM_MCS19 = 199,
504 WL_RATE_3X3_TXBF_SDM_MCS20 = 200,
505 WL_RATE_3X3_TXBF_SDM_MCS21 = 201,
506 WL_RATE_3X3_TXBF_SDM_MCS22 = 202,
507 WL_RATE_3X3_TXBF_SDM_MCS23 = 203,
508 WL_RATE_P_3X3_TXBF_SDM_MCS101 = 204,
509 WL_RATE_P_3X3_TXBF_SDM_MCS102 = 205,
511 WL_RATE_3X3_TXBF_VHT0SS3 = 196,
512 WL_RATE_3X3_TXBF_VHT1SS3 = 197,
513 WL_RATE_3X3_TXBF_VHT2SS3 = 198,
514 WL_RATE_3X3_TXBF_VHT3SS3 = 199,
515 WL_RATE_3X3_TXBF_VHT4SS3 = 200,
516 WL_RATE_3X3_TXBF_VHT5SS3 = 201,
517 WL_RATE_3X3_TXBF_VHT6SS3 = 202,
518 WL_RATE_3X3_TXBF_VHT7SS3 = 203,
519 WL_RATE_3X3_TXBF_VHT8SS3 = 204,
520 WL_RATE_3X3_TXBF_VHT9SS3 = 205,
521 WL_RATE_P_3X3_TXBF_VHT10SS3 = 206,
522 WL_RATE_P_3X3_TXBF_VHT11SS3 = 207,
530 /* 1 Stream expanded + 3 */
531 WL_RATE_1X4_DSSS_1 = 208,
532 WL_RATE_1X4_DSSS_2 = 209,
533 WL_RATE_1X4_DSSS_5_5 = 210,
534 WL_RATE_1X4_DSSS_11 = 211,
536 WL_RATE_1X4_CDD_OFDM_6 = 212,
537 WL_RATE_1X4_CDD_OFDM_9 = 213,
538 WL_RATE_1X4_CDD_OFDM_12 = 214,
539 WL_RATE_1X4_CDD_OFDM_18 = 215,
540 WL_RATE_1X4_CDD_OFDM_24 = 216,
541 WL_RATE_1X4_CDD_OFDM_36 = 217,
542 WL_RATE_1X4_CDD_OFDM_48 = 218,
543 WL_RATE_1X4_CDD_OFDM_54 = 219,
545 WL_RATE_1X4_CDD_MCS0 = 220,
546 WL_RATE_1X4_CDD_MCS1 = 221,
547 WL_RATE_1X4_CDD_MCS2 = 222,
548 WL_RATE_1X4_CDD_MCS3 = 223,
549 WL_RATE_1X4_CDD_MCS4 = 224,
550 WL_RATE_1X4_CDD_MCS5 = 225,
551 WL_RATE_1X4_CDD_MCS6 = 226,
552 WL_RATE_1X4_CDD_MCS7 = 227,
553 WL_RATE_P_1X4_CDD_MCS87 = 228,
554 WL_RATE_P_1X4_CDD_MCS88 = 229,
556 WL_RATE_1X4_VHT0SS1 = 220,
557 WL_RATE_1X4_VHT1SS1 = 221,
558 WL_RATE_1X4_VHT2SS1 = 222,
559 WL_RATE_1X4_VHT3SS1 = 223,
560 WL_RATE_1X4_VHT4SS1 = 224,
561 WL_RATE_1X4_VHT5SS1 = 225,
562 WL_RATE_1X4_VHT6SS1 = 226,
563 WL_RATE_1X4_VHT7SS1 = 227,
564 WL_RATE_1X4_VHT8SS1 = 228,
565 WL_RATE_1X4_VHT9SS1 = 229,
566 WL_RATE_P_1X4_VHT10SS1 = 230,
567 WL_RATE_P_1X4_VHT11SS1 = 231,
569 /* 2 Streams expanded + 2 */
570 WL_RATE_2X4_STBC_MCS0 = 232,
571 WL_RATE_2X4_STBC_MCS1 = 233,
572 WL_RATE_2X4_STBC_MCS2 = 234,
573 WL_RATE_2X4_STBC_MCS3 = 235,
574 WL_RATE_2X4_STBC_MCS4 = 236,
575 WL_RATE_2X4_STBC_MCS5 = 237,
576 WL_RATE_2X4_STBC_MCS6 = 238,
577 WL_RATE_2X4_STBC_MCS7 = 239,
578 WL_RATE_P_2X4_STBC_MCS87 = 240,
579 WL_RATE_P_2X4_STBC_MCS88 = 241,
581 WL_RATE_2X4_STBC_VHT0SS1 = 232,
582 WL_RATE_2X4_STBC_VHT1SS1 = 233,
583 WL_RATE_2X4_STBC_VHT2SS1 = 234,
584 WL_RATE_2X4_STBC_VHT3SS1 = 235,
585 WL_RATE_2X4_STBC_VHT4SS1 = 236,
586 WL_RATE_2X4_STBC_VHT5SS1 = 237,
587 WL_RATE_2X4_STBC_VHT6SS1 = 238,
588 WL_RATE_2X4_STBC_VHT7SS1 = 239,
589 WL_RATE_2X4_STBC_VHT8SS1 = 240,
590 WL_RATE_2X4_STBC_VHT9SS1 = 241,
591 WL_RATE_P_2X4_STBC_VHT10SS1 = 242,
592 WL_RATE_P_2X4_STBC_VHT11SS1 = 243,
594 WL_RATE_2X4_SDM_MCS8 = 244,
595 WL_RATE_2X4_SDM_MCS9 = 245,
596 WL_RATE_2X4_SDM_MCS10 = 246,
597 WL_RATE_2X4_SDM_MCS11 = 247,
598 WL_RATE_2X4_SDM_MCS12 = 248,
599 WL_RATE_2X4_SDM_MCS13 = 249,
600 WL_RATE_2X4_SDM_MCS14 = 250,
601 WL_RATE_2X4_SDM_MCS15 = 251,
602 WL_RATE_P_2X4_SDM_MCS99 = 252,
603 WL_RATE_P_2X4_SDM_MCS100 = 253,
605 WL_RATE_2X4_VHT0SS2 = 244,
606 WL_RATE_2X4_VHT1SS2 = 245,
607 WL_RATE_2X4_VHT2SS2 = 246,
608 WL_RATE_2X4_VHT3SS2 = 247,
609 WL_RATE_2X4_VHT4SS2 = 248,
610 WL_RATE_2X4_VHT5SS2 = 249,
611 WL_RATE_2X4_VHT6SS2 = 250,
612 WL_RATE_2X4_VHT7SS2 = 251,
613 WL_RATE_2X4_VHT8SS2 = 252,
614 WL_RATE_2X4_VHT9SS2 = 253,
615 WL_RATE_P_2X4_VHT10SS2 = 254,
616 WL_RATE_P_2X4_VHT11SS2 = 255,
618 /* 3 Streams expanded + 1 */
619 WL_RATE_3X4_SDM_MCS16 = 256,
620 WL_RATE_3X4_SDM_MCS17 = 257,
621 WL_RATE_3X4_SDM_MCS18 = 258,
622 WL_RATE_3X4_SDM_MCS19 = 259,
623 WL_RATE_3X4_SDM_MCS20 = 260,
624 WL_RATE_3X4_SDM_MCS21 = 261,
625 WL_RATE_3X4_SDM_MCS22 = 262,
626 WL_RATE_3X4_SDM_MCS23 = 263,
627 WL_RATE_P_3X4_SDM_MCS101 = 264,
628 WL_RATE_P_3X4_SDM_MCS102 = 265,
630 WL_RATE_3X4_VHT0SS3 = 256,
631 WL_RATE_3X4_VHT1SS3 = 257,
632 WL_RATE_3X4_VHT2SS3 = 258,
633 WL_RATE_3X4_VHT3SS3 = 259,
634 WL_RATE_3X4_VHT4SS3 = 260,
635 WL_RATE_3X4_VHT5SS3 = 261,
636 WL_RATE_3X4_VHT6SS3 = 262,
637 WL_RATE_3X4_VHT7SS3 = 263,
638 WL_RATE_3X4_VHT8SS3 = 264,
639 WL_RATE_3X4_VHT9SS3 = 265,
640 WL_RATE_P_3X4_VHT10SS3 = 266,
641 WL_RATE_P_3X4_VHT11SS3 = 267,
645 WL_RATE_4X4_SDM_MCS24 = 268,
646 WL_RATE_4X4_SDM_MCS25 = 269,
647 WL_RATE_4X4_SDM_MCS26 = 270,
648 WL_RATE_4X4_SDM_MCS27 = 271,
649 WL_RATE_4X4_SDM_MCS28 = 272,
650 WL_RATE_4X4_SDM_MCS29 = 273,
651 WL_RATE_4X4_SDM_MCS30 = 274,
652 WL_RATE_4X4_SDM_MCS31 = 275,
653 WL_RATE_P_4X4_SDM_MCS103 = 276,
654 WL_RATE_P_4X4_SDM_MCS104 = 277,
656 WL_RATE_4X4_VHT0SS4 = 268,
657 WL_RATE_4X4_VHT1SS4 = 269,
658 WL_RATE_4X4_VHT2SS4 = 270,
659 WL_RATE_4X4_VHT3SS4 = 271,
660 WL_RATE_4X4_VHT4SS4 = 272,
661 WL_RATE_4X4_VHT5SS4 = 273,
662 WL_RATE_4X4_VHT6SS4 = 274,
663 WL_RATE_4X4_VHT7SS4 = 275,
664 WL_RATE_4X4_VHT8SS4 = 276,
665 WL_RATE_4X4_VHT9SS4 = 277,
666 WL_RATE_P_4X4_VHT10SS4 = 278,
667 WL_RATE_P_4X4_VHT11SS4 = 279,
670 /****************************
671 * TX Beamforming, 4 chains *
672 ****************************
675 /* 1 Stream expanded + 3 */
676 WL_RATE_1X4_TXBF_OFDM_6 = 280,
677 WL_RATE_1X4_TXBF_OFDM_9 = 281,
678 WL_RATE_1X4_TXBF_OFDM_12 = 282,
679 WL_RATE_1X4_TXBF_OFDM_18 = 283,
680 WL_RATE_1X4_TXBF_OFDM_24 = 284,
681 WL_RATE_1X4_TXBF_OFDM_36 = 285,
682 WL_RATE_1X4_TXBF_OFDM_48 = 286,
683 WL_RATE_1X4_TXBF_OFDM_54 = 287,
685 WL_RATE_1X4_TXBF_MCS0 = 288,
686 WL_RATE_1X4_TXBF_MCS1 = 289,
687 WL_RATE_1X4_TXBF_MCS2 = 290,
688 WL_RATE_1X4_TXBF_MCS3 = 291,
689 WL_RATE_1X4_TXBF_MCS4 = 292,
690 WL_RATE_1X4_TXBF_MCS5 = 293,
691 WL_RATE_1X4_TXBF_MCS6 = 294,
692 WL_RATE_1X4_TXBF_MCS7 = 295,
693 WL_RATE_P_1X4_TXBF_MCS87 = 296,
694 WL_RATE_P_1X4_TXBF_MCS88 = 297,
696 WL_RATE_1X4_TXBF_VHT0SS1 = 288,
697 WL_RATE_1X4_TXBF_VHT1SS1 = 289,
698 WL_RATE_1X4_TXBF_VHT2SS1 = 290,
699 WL_RATE_1X4_TXBF_VHT3SS1 = 291,
700 WL_RATE_1X4_TXBF_VHT4SS1 = 292,
701 WL_RATE_1X4_TXBF_VHT5SS1 = 293,
702 WL_RATE_1X4_TXBF_VHT6SS1 = 294,
703 WL_RATE_1X4_TXBF_VHT7SS1 = 295,
704 WL_RATE_1X4_TXBF_VHT8SS1 = 296,
705 WL_RATE_1X4_TXBF_VHT9SS1 = 297,
706 WL_RATE_P_1X4_TXBF_VHT10SS1 = 298,
707 WL_RATE_P_1X4_TXBF_VHT11SS1 = 299,
709 /* 2 Streams expanded + 2 */
710 WL_RATE_2X4_TXBF_SDM_MCS8 = 300,
711 WL_RATE_2X4_TXBF_SDM_MCS9 = 301,
712 WL_RATE_2X4_TXBF_SDM_MCS10 = 302,
713 WL_RATE_2X4_TXBF_SDM_MCS11 = 303,
714 WL_RATE_2X4_TXBF_SDM_MCS12 = 304,
715 WL_RATE_2X4_TXBF_SDM_MCS13 = 305,
716 WL_RATE_2X4_TXBF_SDM_MCS14 = 306,
717 WL_RATE_2X4_TXBF_SDM_MCS15 = 307,
718 WL_RATE_P_2X4_TXBF_SDM_MCS99 = 308,
719 WL_RATE_P_2X4_TXBF_SDM_MCS100 = 309,
721 WL_RATE_2X4_TXBF_VHT0SS2 = 300,
722 WL_RATE_2X4_TXBF_VHT1SS2 = 301,
723 WL_RATE_2X4_TXBF_VHT2SS2 = 302,
724 WL_RATE_2X4_TXBF_VHT3SS2 = 303,
725 WL_RATE_2X4_TXBF_VHT4SS2 = 304,
726 WL_RATE_2X4_TXBF_VHT5SS2 = 305,
727 WL_RATE_2X4_TXBF_VHT6SS2 = 306,
728 WL_RATE_2X4_TXBF_VHT7SS2 = 307,
729 WL_RATE_2X4_TXBF_VHT8SS2 = 308,
730 WL_RATE_2X4_TXBF_VHT9SS2 = 309,
731 WL_RATE_P_2X4_TXBF_VHT10SS2 = 310,
732 WL_RATE_P_2X4_TXBF_VHT11SS2 = 311,
734 /* 3 Streams expanded + 1 */
735 WL_RATE_3X4_TXBF_SDM_MCS16 = 312,
736 WL_RATE_3X4_TXBF_SDM_MCS17 = 313,
737 WL_RATE_3X4_TXBF_SDM_MCS18 = 314,
738 WL_RATE_3X4_TXBF_SDM_MCS19 = 315,
739 WL_RATE_3X4_TXBF_SDM_MCS20 = 316,
740 WL_RATE_3X4_TXBF_SDM_MCS21 = 317,
741 WL_RATE_3X4_TXBF_SDM_MCS22 = 318,
742 WL_RATE_3X4_TXBF_SDM_MCS23 = 319,
743 WL_RATE_P_3X4_TXBF_SDM_MCS101 = 320,
744 WL_RATE_P_3X4_TXBF_SDM_MCS102 = 321,
746 WL_RATE_3X4_TXBF_VHT0SS3 = 312,
747 WL_RATE_3X4_TXBF_VHT1SS3 = 313,
748 WL_RATE_3X4_TXBF_VHT2SS3 = 314,
749 WL_RATE_3X4_TXBF_VHT3SS3 = 315,
750 WL_RATE_3X4_TXBF_VHT4SS3 = 316,
751 WL_RATE_3X4_TXBF_VHT5SS3 = 317,
752 WL_RATE_3X4_TXBF_VHT6SS3 = 318,
753 WL_RATE_3X4_TXBF_VHT7SS3 = 319,
754 WL_RATE_P_3X4_TXBF_VHT8SS3 = 320,
755 WL_RATE_P_3X4_TXBF_VHT9SS3 = 321,
756 WL_RATE_P_3X4_TXBF_VHT10SS3 = 322,
757 WL_RATE_P_3X4_TXBF_VHT11SS3 = 323,
760 WL_RATE_4X4_TXBF_SDM_MCS24 = 324,
761 WL_RATE_4X4_TXBF_SDM_MCS25 = 325,
762 WL_RATE_4X4_TXBF_SDM_MCS26 = 326,
763 WL_RATE_4X4_TXBF_SDM_MCS27 = 327,
764 WL_RATE_4X4_TXBF_SDM_MCS28 = 328,
765 WL_RATE_4X4_TXBF_SDM_MCS29 = 329,
766 WL_RATE_4X4_TXBF_SDM_MCS30 = 330,
767 WL_RATE_4X4_TXBF_SDM_MCS31 = 331,
768 WL_RATE_P_4X4_TXBF_SDM_MCS103 = 332,
769 WL_RATE_P_4X4_TXBF_SDM_MCS104 = 333,
771 WL_RATE_4X4_TXBF_VHT0SS4 = 324,
772 WL_RATE_4X4_TXBF_VHT1SS4 = 325,
773 WL_RATE_4X4_TXBF_VHT2SS4 = 326,
774 WL_RATE_4X4_TXBF_VHT3SS4 = 327,
775 WL_RATE_4X4_TXBF_VHT4SS4 = 328,
776 WL_RATE_4X4_TXBF_VHT5SS4 = 329,
777 WL_RATE_4X4_TXBF_VHT6SS4 = 330,
778 WL_RATE_4X4_TXBF_VHT7SS4 = 331,
779 WL_RATE_P_4X4_TXBF_VHT8SS4 = 332,
780 WL_RATE_P_4X4_TXBF_VHT9SS4 = 333,
781 WL_RATE_P_4X4_TXBF_VHT10SS4 = 334,
782 WL_RATE_P_4X4_TXBF_VHT11SS4 = 335
786 /* Number of rate codes */
787 #define WL_NUMRATES 336
791 #endif /* __cplusplus */
793 #endif /* _bcmwifi_rates_h_ */