• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Indices for 802.11 a/b/g/n/ac 1-3 chain symmetric transmit rates
3  *
4  * Copyright (C) 1999-2017, Broadcom Corporation
5  *
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:
11  *
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.
19  *
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.
23  *
24  *
25  * <<Broadcom-WL-IPTag/Open:>>
26  *
27  * $Id: bcmwifi_rates.h 612483 2016-01-14 03:44:27Z $
28  */
29 
30 #ifndef _bcmwifi_rates_h_
31 #define _bcmwifi_rates_h_
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif /* __cplusplus */
36 
37 
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
42 
43 #if defined(WLPROPRIETARY_11N_RATES)
44 #define WL_RATESET_SZ_HT_MCS    WL_RATESET_SZ_VHT_MCS
45 #else
46 #define WL_RATESET_SZ_HT_MCS    8
47 #endif
48 
49 #define WL_RATESET_SZ_HT_IOCTL    8    /* MAC histogram, compatibility with wl utility */
50 
51 #define WL_TX_CHAINS_MAX        4
52 
53 #define WL_RATE_DISABLED        (-128) /* Power value corresponding to unsupported rate */
54 
55 /* Transmit channel bandwidths */
56 typedef enum wl_tx_bw {
57     WL_TX_BW_20,
58     WL_TX_BW_40,
59     WL_TX_BW_80,
60     WL_TX_BW_20IN40,
61     WL_TX_BW_20IN80,
62     WL_TX_BW_40IN80,
63     WL_TX_BW_160,
64     WL_TX_BW_20IN160,
65     WL_TX_BW_40IN160,
66     WL_TX_BW_80IN160,
67     WL_TX_BW_ALL,
68     WL_TX_BW_8080,
69     WL_TX_BW_8080CHAN2,
70     WL_TX_BW_20IN8080,
71     WL_TX_BW_40IN8080,
72     WL_TX_BW_80IN8080,
73     WL_TX_BW_2P5,
74     WL_TX_BW_5,
75     WL_TX_BW_10
76 } wl_tx_bw_t;
77 
78 
79 /*
80  * Transmit modes.
81  * Not all modes are listed here, only those required for disambiguation. e.g. SPEXP is not listed
82  */
83 typedef enum wl_tx_mode {
84     WL_TX_MODE_NONE,
85     WL_TX_MODE_STBC,
86     WL_TX_MODE_CDD,
87     WL_TX_MODE_TXBF,
88     WL_NUM_TX_MODES
89 } wl_tx_mode_t;
90 
91 
92 /* Number of transmit chains */
93 typedef enum wl_tx_chains {
94     WL_TX_CHAINS_1 = 1,
95     WL_TX_CHAINS_2,
96     WL_TX_CHAINS_3,
97     WL_TX_CHAINS_4
98 } wl_tx_chains_t;
99 
100 
101 /* Number of transmit streams */
102 typedef enum wl_tx_nss {
103     WL_TX_NSS_1 = 1,
104     WL_TX_NSS_2,
105     WL_TX_NSS_3,
106     WL_TX_NSS_4
107 } wl_tx_nss_t;
108 
109 
110 /* This enum maps each rate to a CLM index */
111 
112 typedef enum clm_rates {
113     /************
114     * 1 chain  *
115     ************
116     */
117 
118     /* 1 Stream */
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,
123 
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,
132 
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,
143 
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,
156 
157 
158     /************
159     * 2 chains *
160     ************
161     */
162 
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,
168 
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,
177 
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,
188 
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,
201 
202     /* 2 Streams */
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,
213 
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,
226 
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,
237 
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,
250 
251     /****************************
252      * TX Beamforming, 2 chains *
253      ****************************
254      */
255 
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,
265 
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,
276 
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,
289 
290     /* 2 Streams */
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,
301 
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,
314 
315 
316     /************
317     * 3 chains *
318     ************
319     */
320 
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,
326 
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,
335 
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,
346 
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,
359 
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,
371 
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,
384 
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,
395 
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,
408 
409     /* 3 Streams */
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,
420 
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,
433 
434 
435     /****************************
436      * TX Beamforming, 3 chains *
437      ****************************
438      */
439 
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,
449 
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,
460 
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,
473 
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,
485 
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,
498 
499     /* 3 Streams */
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,
510 
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,
523 
524 
525     /************
526     * 4 chains *
527     ************
528     */
529 
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,
535 
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,
544 
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,
555 
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,
568 
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,
580 
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,
593 
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,
604 
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,
617 
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,
629 
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,
642 
643 
644     /* 4 Streams */
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,
655 
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,
668 
669 
670     /****************************
671      * TX Beamforming, 4 chains *
672      ****************************
673      */
674 
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,
684 
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,
695 
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,
708 
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,
720 
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,
733 
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,
745 
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,
758 
759     /* 4 Streams */
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,
770 
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
783 } clm_rates_t;
784 
785 /* Number of rate codes */
786 #define WL_NUMRATES 336
787 
788 #ifdef __cplusplus
789 }
790 #endif /* __cplusplus */
791 
792 #endif /* _bcmwifi_rates_h_ */
793