1 /* 2 * Indices for 802.11 a/b/g/n/ac 1-3 chain symmetric transmit rates 3 * 4 * Copyright (C) 1999-2012, Broadcom Corporation 5 * 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. 9 * 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. 17 * 18 * $Id: bcmwifi_rates.h 252708 2011-04-12 06:45:56Z $ 19 */ 20 21 #ifndef _bcmwifi_rates_h_ 22 #define _bcmwifi_rates_h_ 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 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 33 34 #define WL_TX_CHAINS_MAX 3 35 36 #define WL_RATE_DISABLED (-128) 37 38 39 typedef enum wl_tx_bw { 40 WL_TX_BW_20, 41 WL_TX_BW_40, 42 WL_TX_BW_80, 43 WL_TX_BW_20IN40, 44 WL_TX_BW_20IN80, 45 WL_TX_BW_40IN80, 46 WL_TX_BW_ALL 47 } wl_tx_bw_t; 48 49 50 51 typedef enum wl_tx_mode { 52 WL_TX_MODE_NONE, 53 WL_TX_MODE_STBC, 54 WL_TX_MODE_CDD, 55 WL_TX_MODE_SDM 56 } wl_tx_mode_t; 57 58 59 60 typedef enum wl_tx_chains { 61 WL_TX_CHAINS_1 = 1, 62 WL_TX_CHAINS_2, 63 WL_TX_CHAINS_3 64 } wl_tx_chains_t; 65 66 67 68 typedef enum wl_tx_nss { 69 WL_TX_NSS_1 = 1, 70 WL_TX_NSS_2, 71 WL_TX_NSS_3 72 } wl_tx_nss_t; 73 74 75 typedef enum clm_rates { 76 77 78 79 WL_RATE_1X1_DSSS_1 = 0, 80 WL_RATE_1X1_DSSS_2 = 1, 81 WL_RATE_1X1_DSSS_5_5 = 2, 82 WL_RATE_1X1_DSSS_11 = 3, 83 84 WL_RATE_1X1_OFDM_6 = 4, 85 WL_RATE_1X1_OFDM_9 = 5, 86 WL_RATE_1X1_OFDM_12 = 6, 87 WL_RATE_1X1_OFDM_18 = 7, 88 WL_RATE_1X1_OFDM_24 = 8, 89 WL_RATE_1X1_OFDM_36 = 9, 90 WL_RATE_1X1_OFDM_48 = 10, 91 WL_RATE_1X1_OFDM_54 = 11, 92 93 WL_RATE_1X1_MCS0 = 12, 94 WL_RATE_1X1_MCS1 = 13, 95 WL_RATE_1X1_MCS2 = 14, 96 WL_RATE_1X1_MCS3 = 15, 97 WL_RATE_1X1_MCS4 = 16, 98 WL_RATE_1X1_MCS5 = 17, 99 WL_RATE_1X1_MCS6 = 18, 100 WL_RATE_1X1_MCS7 = 19, 101 102 WL_RATE_1X1_VHT0SS1 = 12, 103 WL_RATE_1X1_VHT1SS1 = 13, 104 WL_RATE_1X1_VHT2SS1 = 14, 105 WL_RATE_1X1_VHT3SS1 = 15, 106 WL_RATE_1X1_VHT4SS1 = 16, 107 WL_RATE_1X1_VHT5SS1 = 17, 108 WL_RATE_1X1_VHT6SS1 = 18, 109 WL_RATE_1X1_VHT7SS1 = 19, 110 WL_RATE_1X1_VHT8SS1 = 20, 111 WL_RATE_1X1_VHT9SS1 = 21, 112 113 114 115 116 117 WL_RATE_1X2_DSSS_1 = 22, 118 WL_RATE_1X2_DSSS_2 = 23, 119 WL_RATE_1X2_DSSS_5_5 = 24, 120 WL_RATE_1X2_DSSS_11 = 25, 121 122 WL_RATE_1X2_CDD_OFDM_6 = 26, 123 WL_RATE_1X2_CDD_OFDM_9 = 27, 124 WL_RATE_1X2_CDD_OFDM_12 = 28, 125 WL_RATE_1X2_CDD_OFDM_18 = 29, 126 WL_RATE_1X2_CDD_OFDM_24 = 30, 127 WL_RATE_1X2_CDD_OFDM_36 = 31, 128 WL_RATE_1X2_CDD_OFDM_48 = 32, 129 WL_RATE_1X2_CDD_OFDM_54 = 33, 130 131 WL_RATE_1X2_CDD_MCS0 = 34, 132 WL_RATE_1X2_CDD_MCS1 = 35, 133 WL_RATE_1X2_CDD_MCS2 = 36, 134 WL_RATE_1X2_CDD_MCS3 = 37, 135 WL_RATE_1X2_CDD_MCS4 = 38, 136 WL_RATE_1X2_CDD_MCS5 = 39, 137 WL_RATE_1X2_CDD_MCS6 = 40, 138 WL_RATE_1X2_CDD_MCS7 = 41, 139 140 WL_RATE_1X2_VHT0SS1 = 34, 141 WL_RATE_1X2_VHT1SS1 = 35, 142 WL_RATE_1X2_VHT2SS1 = 36, 143 WL_RATE_1X2_VHT3SS1 = 37, 144 WL_RATE_1X2_VHT4SS1 = 38, 145 WL_RATE_1X2_VHT5SS1 = 39, 146 WL_RATE_1X2_VHT6SS1 = 40, 147 WL_RATE_1X2_VHT7SS1 = 41, 148 WL_RATE_1X2_VHT8SS1 = 42, 149 WL_RATE_1X2_VHT9SS1 = 43, 150 151 152 WL_RATE_2X2_STBC_MCS0 = 44, 153 WL_RATE_2X2_STBC_MCS1 = 45, 154 WL_RATE_2X2_STBC_MCS2 = 46, 155 WL_RATE_2X2_STBC_MCS3 = 47, 156 WL_RATE_2X2_STBC_MCS4 = 48, 157 WL_RATE_2X2_STBC_MCS5 = 49, 158 WL_RATE_2X2_STBC_MCS6 = 50, 159 WL_RATE_2X2_STBC_MCS7 = 51, 160 161 WL_RATE_2X2_STBC_VHT0SS1 = 44, 162 WL_RATE_2X2_STBC_VHT1SS1 = 45, 163 WL_RATE_2X2_STBC_VHT2SS1 = 46, 164 WL_RATE_2X2_STBC_VHT3SS1 = 47, 165 WL_RATE_2X2_STBC_VHT4SS1 = 48, 166 WL_RATE_2X2_STBC_VHT5SS1 = 49, 167 WL_RATE_2X2_STBC_VHT6SS1 = 50, 168 WL_RATE_2X2_STBC_VHT7SS1 = 51, 169 WL_RATE_2X2_STBC_VHT8SS1 = 52, 170 WL_RATE_2X2_STBC_VHT9SS1 = 53, 171 172 WL_RATE_2X2_SDM_MCS8 = 54, 173 WL_RATE_2X2_SDM_MCS9 = 55, 174 WL_RATE_2X2_SDM_MCS10 = 56, 175 WL_RATE_2X2_SDM_MCS11 = 57, 176 WL_RATE_2X2_SDM_MCS12 = 58, 177 WL_RATE_2X2_SDM_MCS13 = 59, 178 WL_RATE_2X2_SDM_MCS14 = 60, 179 WL_RATE_2X2_SDM_MCS15 = 61, 180 181 WL_RATE_2X2_VHT0SS2 = 54, 182 WL_RATE_2X2_VHT1SS2 = 55, 183 WL_RATE_2X2_VHT2SS2 = 56, 184 WL_RATE_2X2_VHT3SS2 = 57, 185 WL_RATE_2X2_VHT4SS2 = 58, 186 WL_RATE_2X2_VHT5SS2 = 59, 187 WL_RATE_2X2_VHT6SS2 = 60, 188 WL_RATE_2X2_VHT7SS2 = 61, 189 WL_RATE_2X2_VHT8SS2 = 62, 190 WL_RATE_2X2_VHT9SS2 = 63, 191 192 193 194 195 196 WL_RATE_1X3_DSSS_1 = 64, 197 WL_RATE_1X3_DSSS_2 = 65, 198 WL_RATE_1X3_DSSS_5_5 = 66, 199 WL_RATE_1X3_DSSS_11 = 67, 200 201 WL_RATE_1X3_CDD_OFDM_6 = 68, 202 WL_RATE_1X3_CDD_OFDM_9 = 69, 203 WL_RATE_1X3_CDD_OFDM_12 = 70, 204 WL_RATE_1X3_CDD_OFDM_18 = 71, 205 WL_RATE_1X3_CDD_OFDM_24 = 72, 206 WL_RATE_1X3_CDD_OFDM_36 = 73, 207 WL_RATE_1X3_CDD_OFDM_48 = 74, 208 WL_RATE_1X3_CDD_OFDM_54 = 75, 209 210 WL_RATE_1X3_CDD_MCS0 = 76, 211 WL_RATE_1X3_CDD_MCS1 = 77, 212 WL_RATE_1X3_CDD_MCS2 = 78, 213 WL_RATE_1X3_CDD_MCS3 = 79, 214 WL_RATE_1X3_CDD_MCS4 = 80, 215 WL_RATE_1X3_CDD_MCS5 = 81, 216 WL_RATE_1X3_CDD_MCS6 = 82, 217 WL_RATE_1X3_CDD_MCS7 = 83, 218 219 WL_RATE_1X3_VHT0SS1 = 76, 220 WL_RATE_1X3_VHT1SS1 = 77, 221 WL_RATE_1X3_VHT2SS1 = 78, 222 WL_RATE_1X3_VHT3SS1 = 79, 223 WL_RATE_1X3_VHT4SS1 = 80, 224 WL_RATE_1X3_VHT5SS1 = 81, 225 WL_RATE_1X3_VHT6SS1 = 82, 226 WL_RATE_1X3_VHT7SS1 = 83, 227 WL_RATE_1X3_VHT8SS1 = 84, 228 WL_RATE_1X3_VHT9SS1 = 85, 229 230 231 WL_RATE_2X3_STBC_MCS0 = 86, 232 WL_RATE_2X3_STBC_MCS1 = 87, 233 WL_RATE_2X3_STBC_MCS2 = 88, 234 WL_RATE_2X3_STBC_MCS3 = 89, 235 WL_RATE_2X3_STBC_MCS4 = 90, 236 WL_RATE_2X3_STBC_MCS5 = 91, 237 WL_RATE_2X3_STBC_MCS6 = 92, 238 WL_RATE_2X3_STBC_MCS7 = 93, 239 240 WL_RATE_2X3_STBC_VHT0SS1 = 86, 241 WL_RATE_2X3_STBC_VHT1SS1 = 87, 242 WL_RATE_2X3_STBC_VHT2SS1 = 88, 243 WL_RATE_2X3_STBC_VHT3SS1 = 89, 244 WL_RATE_2X3_STBC_VHT4SS1 = 90, 245 WL_RATE_2X3_STBC_VHT5SS1 = 91, 246 WL_RATE_2X3_STBC_VHT6SS1 = 92, 247 WL_RATE_2X3_STBC_VHT7SS1 = 93, 248 WL_RATE_2X3_STBC_VHT8SS1 = 94, 249 WL_RATE_2X3_STBC_VHT9SS1 = 95, 250 251 WL_RATE_2X3_SDM_MCS8 = 96, 252 WL_RATE_2X3_SDM_MCS9 = 97, 253 WL_RATE_2X3_SDM_MCS10 = 98, 254 WL_RATE_2X3_SDM_MCS11 = 99, 255 WL_RATE_2X3_SDM_MCS12 = 100, 256 WL_RATE_2X3_SDM_MCS13 = 101, 257 WL_RATE_2X3_SDM_MCS14 = 102, 258 WL_RATE_2X3_SDM_MCS15 = 103, 259 260 WL_RATE_2X3_VHT0SS2 = 96, 261 WL_RATE_2X3_VHT1SS2 = 97, 262 WL_RATE_2X3_VHT2SS2 = 98, 263 WL_RATE_2X3_VHT3SS2 = 99, 264 WL_RATE_2X3_VHT4SS2 = 100, 265 WL_RATE_2X3_VHT5SS2 = 101, 266 WL_RATE_2X3_VHT6SS2 = 102, 267 WL_RATE_2X3_VHT7SS2 = 103, 268 WL_RATE_2X3_VHT8SS2 = 104, 269 WL_RATE_2X3_VHT9SS2 = 105, 270 271 272 WL_RATE_3X3_SDM_MCS16 = 106, 273 WL_RATE_3X3_SDM_MCS17 = 107, 274 WL_RATE_3X3_SDM_MCS18 = 108, 275 WL_RATE_3X3_SDM_MCS19 = 109, 276 WL_RATE_3X3_SDM_MCS20 = 110, 277 WL_RATE_3X3_SDM_MCS21 = 111, 278 WL_RATE_3X3_SDM_MCS22 = 112, 279 WL_RATE_3X3_SDM_MCS23 = 113, 280 281 WL_RATE_3X3_VHT0SS3 = 106, 282 WL_RATE_3X3_VHT1SS3 = 107, 283 WL_RATE_3X3_VHT2SS3 = 108, 284 WL_RATE_3X3_VHT3SS3 = 109, 285 WL_RATE_3X3_VHT4SS3 = 110, 286 WL_RATE_3X3_VHT5SS3 = 111, 287 WL_RATE_3X3_VHT6SS3 = 112, 288 WL_RATE_3X3_VHT7SS3 = 113, 289 WL_RATE_3X3_VHT8SS3 = 114, 290 WL_RATE_3X3_VHT9SS3 = 115, 291 292 293 WL_NUMRATES = 116 294 } clm_rates_t; 295 296 #ifdef __cplusplus 297 } 298 #endif 299 300 #endif 301