2 * Indices for 802.11 a/b/g/n/ac 1-3 chain symmetric transmit rates
4 * Copyright (C) 2011, Broadcom Corporation. All Rights Reserved.
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.
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
13 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
15 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 * $Id: bcmwifi_rates.h 252708 2011-04-12 06:45:56Z $
21 #ifndef _bcmwifi_rates_h_
22 #define _bcmwifi_rates_h_
26 #endif /* __cplusplus */
29 #define WL_RATESET_SZ_DSSS 4
30 #define WL_RATESET_SZ_OFDM 8
31 #define WL_RATESET_SZ_HT_MCS 8
32 #define WL_RATESET_SZ_VHT_MCS 10
34 #define WL_TX_CHAINS_MAX 3
36 #define WL_RATE_DISABLED (-128) /* Power value corresponding to unsupported rate */
38 /* Transmit channel bandwidths */
39 typedef enum wl_tx_bw
{
52 * Not all modes are listed here, only those required for disambiguation. e.g. SPEXP is not listed
54 typedef enum wl_tx_mode
{
62 /* Number of transmit chains */
63 typedef enum wl_tx_chains
{
70 /* Number of transmit streams */
71 typedef enum wl_tx_nss
{
78 typedef enum clm_rates
{
85 WL_RATE_1X1_DSSS_1
= 0,
86 WL_RATE_1X1_DSSS_2
= 1,
87 WL_RATE_1X1_DSSS_5_5
= 2,
88 WL_RATE_1X1_DSSS_11
= 3,
90 WL_RATE_1X1_OFDM_6
= 4,
91 WL_RATE_1X1_OFDM_9
= 5,
92 WL_RATE_1X1_OFDM_12
= 6,
93 WL_RATE_1X1_OFDM_18
= 7,
94 WL_RATE_1X1_OFDM_24
= 8,
95 WL_RATE_1X1_OFDM_36
= 9,
96 WL_RATE_1X1_OFDM_48
= 10,
97 WL_RATE_1X1_OFDM_54
= 11,
99 WL_RATE_1X1_MCS0
= 12,
100 WL_RATE_1X1_MCS1
= 13,
101 WL_RATE_1X1_MCS2
= 14,
102 WL_RATE_1X1_MCS3
= 15,
103 WL_RATE_1X1_MCS4
= 16,
104 WL_RATE_1X1_MCS5
= 17,
105 WL_RATE_1X1_MCS6
= 18,
106 WL_RATE_1X1_MCS7
= 19,
108 WL_RATE_1X1_VHT0SS1
= 12,
109 WL_RATE_1X1_VHT1SS1
= 13,
110 WL_RATE_1X1_VHT2SS1
= 14,
111 WL_RATE_1X1_VHT3SS1
= 15,
112 WL_RATE_1X1_VHT4SS1
= 16,
113 WL_RATE_1X1_VHT5SS1
= 17,
114 WL_RATE_1X1_VHT6SS1
= 18,
115 WL_RATE_1X1_VHT7SS1
= 19,
116 WL_RATE_1X1_VHT8SS1
= 20,
117 WL_RATE_1X1_VHT9SS1
= 21,
125 /* 1 Stream expanded + 1 */
126 WL_RATE_1X2_DSSS_1
= 22,
127 WL_RATE_1X2_DSSS_2
= 23,
128 WL_RATE_1X2_DSSS_5_5
= 24,
129 WL_RATE_1X2_DSSS_11
= 25,
131 WL_RATE_1X2_CDD_OFDM_6
= 26,
132 WL_RATE_1X2_CDD_OFDM_9
= 27,
133 WL_RATE_1X2_CDD_OFDM_12
= 28,
134 WL_RATE_1X2_CDD_OFDM_18
= 29,
135 WL_RATE_1X2_CDD_OFDM_24
= 30,
136 WL_RATE_1X2_CDD_OFDM_36
= 31,
137 WL_RATE_1X2_CDD_OFDM_48
= 32,
138 WL_RATE_1X2_CDD_OFDM_54
= 33,
140 WL_RATE_1X2_CDD_MCS0
= 34,
141 WL_RATE_1X2_CDD_MCS1
= 35,
142 WL_RATE_1X2_CDD_MCS2
= 36,
143 WL_RATE_1X2_CDD_MCS3
= 37,
144 WL_RATE_1X2_CDD_MCS4
= 38,
145 WL_RATE_1X2_CDD_MCS5
= 39,
146 WL_RATE_1X2_CDD_MCS6
= 40,
147 WL_RATE_1X2_CDD_MCS7
= 41,
149 WL_RATE_1X2_VHT0SS1
= 34,
150 WL_RATE_1X2_VHT1SS1
= 35,
151 WL_RATE_1X2_VHT2SS1
= 36,
152 WL_RATE_1X2_VHT3SS1
= 37,
153 WL_RATE_1X2_VHT4SS1
= 38,
154 WL_RATE_1X2_VHT5SS1
= 39,
155 WL_RATE_1X2_VHT6SS1
= 40,
156 WL_RATE_1X2_VHT7SS1
= 41,
157 WL_RATE_1X2_VHT8SS1
= 42,
158 WL_RATE_1X2_VHT9SS1
= 43,
161 WL_RATE_2X2_STBC_MCS0
= 44,
162 WL_RATE_2X2_STBC_MCS1
= 45,
163 WL_RATE_2X2_STBC_MCS2
= 46,
164 WL_RATE_2X2_STBC_MCS3
= 47,
165 WL_RATE_2X2_STBC_MCS4
= 48,
166 WL_RATE_2X2_STBC_MCS5
= 49,
167 WL_RATE_2X2_STBC_MCS6
= 50,
168 WL_RATE_2X2_STBC_MCS7
= 51,
170 WL_RATE_2X2_STBC_VHT0SS1
= 44,
171 WL_RATE_2X2_STBC_VHT1SS1
= 45,
172 WL_RATE_2X2_STBC_VHT2SS1
= 46,
173 WL_RATE_2X2_STBC_VHT3SS1
= 47,
174 WL_RATE_2X2_STBC_VHT4SS1
= 48,
175 WL_RATE_2X2_STBC_VHT5SS1
= 49,
176 WL_RATE_2X2_STBC_VHT6SS1
= 50,
177 WL_RATE_2X2_STBC_VHT7SS1
= 51,
178 WL_RATE_2X2_STBC_VHT8SS1
= 52,
179 WL_RATE_2X2_STBC_VHT9SS1
= 53,
181 WL_RATE_2X2_SDM_MCS8
= 54,
182 WL_RATE_2X2_SDM_MCS9
= 55,
183 WL_RATE_2X2_SDM_MCS10
= 56,
184 WL_RATE_2X2_SDM_MCS11
= 57,
185 WL_RATE_2X2_SDM_MCS12
= 58,
186 WL_RATE_2X2_SDM_MCS13
= 59,
187 WL_RATE_2X2_SDM_MCS14
= 60,
188 WL_RATE_2X2_SDM_MCS15
= 61,
190 WL_RATE_2X2_VHT0SS2
= 54,
191 WL_RATE_2X2_VHT1SS2
= 55,
192 WL_RATE_2X2_VHT2SS2
= 56,
193 WL_RATE_2X2_VHT3SS2
= 57,
194 WL_RATE_2X2_VHT4SS2
= 58,
195 WL_RATE_2X2_VHT5SS2
= 59,
196 WL_RATE_2X2_VHT6SS2
= 60,
197 WL_RATE_2X2_VHT7SS2
= 61,
198 WL_RATE_2X2_VHT8SS2
= 62,
199 WL_RATE_2X2_VHT9SS2
= 63,
207 /* 1 Stream expanded + 2 */
208 WL_RATE_1X3_DSSS_1
= 64,
209 WL_RATE_1X3_DSSS_2
= 65,
210 WL_RATE_1X3_DSSS_5_5
= 66,
211 WL_RATE_1X3_DSSS_11
= 67,
213 WL_RATE_1X3_CDD_OFDM_6
= 68,
214 WL_RATE_1X3_CDD_OFDM_9
= 69,
215 WL_RATE_1X3_CDD_OFDM_12
= 70,
216 WL_RATE_1X3_CDD_OFDM_18
= 71,
217 WL_RATE_1X3_CDD_OFDM_24
= 72,
218 WL_RATE_1X3_CDD_OFDM_36
= 73,
219 WL_RATE_1X3_CDD_OFDM_48
= 74,
220 WL_RATE_1X3_CDD_OFDM_54
= 75,
222 WL_RATE_1X3_CDD_MCS0
= 76,
223 WL_RATE_1X3_CDD_MCS1
= 77,
224 WL_RATE_1X3_CDD_MCS2
= 78,
225 WL_RATE_1X3_CDD_MCS3
= 79,
226 WL_RATE_1X3_CDD_MCS4
= 80,
227 WL_RATE_1X3_CDD_MCS5
= 81,
228 WL_RATE_1X3_CDD_MCS6
= 82,
229 WL_RATE_1X3_CDD_MCS7
= 83,
231 WL_RATE_1X3_VHT0SS1
= 76,
232 WL_RATE_1X3_VHT1SS1
= 77,
233 WL_RATE_1X3_VHT2SS1
= 78,
234 WL_RATE_1X3_VHT3SS1
= 79,
235 WL_RATE_1X3_VHT4SS1
= 80,
236 WL_RATE_1X3_VHT5SS1
= 81,
237 WL_RATE_1X3_VHT6SS1
= 82,
238 WL_RATE_1X3_VHT7SS1
= 83,
239 WL_RATE_1X3_VHT8SS1
= 84,
240 WL_RATE_1X3_VHT9SS1
= 85,
242 /* 2 Streams expanded + 1 */
243 WL_RATE_2X3_STBC_MCS0
= 86,
244 WL_RATE_2X3_STBC_MCS1
= 87,
245 WL_RATE_2X3_STBC_MCS2
= 88,
246 WL_RATE_2X3_STBC_MCS3
= 89,
247 WL_RATE_2X3_STBC_MCS4
= 90,
248 WL_RATE_2X3_STBC_MCS5
= 91,
249 WL_RATE_2X3_STBC_MCS6
= 92,
250 WL_RATE_2X3_STBC_MCS7
= 93,
252 WL_RATE_2X3_STBC_VHT0SS1
= 86,
253 WL_RATE_2X3_STBC_VHT1SS1
= 87,
254 WL_RATE_2X3_STBC_VHT2SS1
= 88,
255 WL_RATE_2X3_STBC_VHT3SS1
= 89,
256 WL_RATE_2X3_STBC_VHT4SS1
= 90,
257 WL_RATE_2X3_STBC_VHT5SS1
= 91,
258 WL_RATE_2X3_STBC_VHT6SS1
= 92,
259 WL_RATE_2X3_STBC_VHT7SS1
= 93,
260 WL_RATE_2X3_STBC_VHT8SS1
= 94,
261 WL_RATE_2X3_STBC_VHT9SS1
= 95,
263 WL_RATE_2X3_SDM_MCS8
= 96,
264 WL_RATE_2X3_SDM_MCS9
= 97,
265 WL_RATE_2X3_SDM_MCS10
= 98,
266 WL_RATE_2X3_SDM_MCS11
= 99,
267 WL_RATE_2X3_SDM_MCS12
= 100,
268 WL_RATE_2X3_SDM_MCS13
= 101,
269 WL_RATE_2X3_SDM_MCS14
= 102,
270 WL_RATE_2X3_SDM_MCS15
= 103,
272 WL_RATE_2X3_VHT0SS2
= 96,
273 WL_RATE_2X3_VHT1SS2
= 97,
274 WL_RATE_2X3_VHT2SS2
= 98,
275 WL_RATE_2X3_VHT3SS2
= 99,
276 WL_RATE_2X3_VHT4SS2
= 100,
277 WL_RATE_2X3_VHT5SS2
= 101,
278 WL_RATE_2X3_VHT6SS2
= 102,
279 WL_RATE_2X3_VHT7SS2
= 103,
280 WL_RATE_2X3_VHT8SS2
= 104,
281 WL_RATE_2X3_VHT9SS2
= 105,
284 WL_RATE_3X3_SDM_MCS16
= 106,
285 WL_RATE_3X3_SDM_MCS17
= 107,
286 WL_RATE_3X3_SDM_MCS18
= 108,
287 WL_RATE_3X3_SDM_MCS19
= 109,
288 WL_RATE_3X3_SDM_MCS20
= 110,
289 WL_RATE_3X3_SDM_MCS21
= 111,
290 WL_RATE_3X3_SDM_MCS22
= 112,
291 WL_RATE_3X3_SDM_MCS23
= 113,
293 WL_RATE_3X3_VHT0SS3
= 106,
294 WL_RATE_3X3_VHT1SS3
= 107,
295 WL_RATE_3X3_VHT2SS3
= 108,
296 WL_RATE_3X3_VHT3SS3
= 109,
297 WL_RATE_3X3_VHT4SS3
= 110,
298 WL_RATE_3X3_VHT5SS3
= 111,
299 WL_RATE_3X3_VHT6SS3
= 112,
300 WL_RATE_3X3_VHT7SS3
= 113,
301 WL_RATE_3X3_VHT8SS3
= 114,
302 WL_RATE_3X3_VHT9SS3
= 115,
304 /* Number of rate codes */
310 #endif /* __cplusplus */
312 #endif /* _bcmwifi_rates_h_ */