1 /** @file wlan_txpwrlimit_cfg_WW_rw610.h 2 * 3 * @brief This file provides WLAN World Wide Safe Mode Tx Power Limits. 4 * 5 * Copyright 2008-2021 NXP 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining 8 * a copy of this software and associated documentation files (the 9 * 'Software'), to deal in the Software without restriction, including 10 * without limitation the rights to use, copy, modify, merge, publish, 11 * distribute, sub license, and/or sell copies of the Software, and to 12 * permit persons to whom the Software is furnished to do so, subject 13 * to the following conditions: 14 * 15 * The above copyright notice and this permission notice (including the 16 * next paragraph) shall be included in all copies or substantial 17 * portions of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 22 * IN NO EVENT SHALL NXP AND/OR ITS SUPPLIERS BE LIABLE FOR ANY 23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 * 27 */ 28 #ifndef _WLAN_TXPWRLIMIT_CFG_WW_RW610_H_ 29 #define _WLAN_TXPWRLIMIT_CFG_WW_RW610_H_ 30 31 #include <wlan.h> 32 #include <wifi.h> 33 // coverity[MISRA C-2012 Initializers:SUPPRESS] 34 static wlan_chanlist_t chanlist_2g_cfg = { 35 .num_chans = 11, 36 .chan_info[0] = 37 { 38 .chan_num = 1, 39 .chan_freq = 2412, 40 .passive_scan_or_radar_detect = false, 41 }, 42 .chan_info[1] = 43 { 44 .chan_num = 2, 45 .chan_freq = 2417, 46 .passive_scan_or_radar_detect = false, 47 }, 48 .chan_info[2] = 49 { 50 .chan_num = 3, 51 .chan_freq = 2422, 52 .passive_scan_or_radar_detect = false, 53 }, 54 .chan_info[3] = 55 { 56 .chan_num = 4, 57 .chan_freq = 2427, 58 .passive_scan_or_radar_detect = false, 59 }, 60 .chan_info[4] = 61 { 62 .chan_num = 5, 63 .chan_freq = 2432, 64 .passive_scan_or_radar_detect = false, 65 }, 66 .chan_info[5] = 67 { 68 .chan_num = 6, 69 .chan_freq = 2437, 70 .passive_scan_or_radar_detect = false, 71 }, 72 .chan_info[6] = 73 { 74 .chan_num = 7, 75 .chan_freq = 2442, 76 .passive_scan_or_radar_detect = false, 77 }, 78 .chan_info[7] = 79 { 80 .chan_num = 8, 81 .chan_freq = 2447, 82 .passive_scan_or_radar_detect = false, 83 }, 84 .chan_info[8] = 85 { 86 .chan_num = 9, 87 .chan_freq = 2452, 88 .passive_scan_or_radar_detect = false, 89 }, 90 .chan_info[9] = 91 { 92 .chan_num = 10, 93 .chan_freq = 2457, 94 .passive_scan_or_radar_detect = false, 95 }, 96 .chan_info[10] = 97 { 98 .chan_num = 11, 99 .chan_freq = 2462, 100 .passive_scan_or_radar_detect = false, 101 }, 102 .chan_info[11] = {0}, 103 .chan_info[12] = {0}, 104 .chan_info[13] = {0}, 105 .chan_info[14] = {0}, 106 .chan_info[15] = {0}, 107 .chan_info[16] = {0}, 108 .chan_info[17] = {0}, 109 .chan_info[18] = {0}, 110 .chan_info[19] = {0}, 111 .chan_info[20] = {0}, 112 .chan_info[21] = {0}, 113 .chan_info[22] = {0}, 114 .chan_info[23] = {0}, 115 .chan_info[24] = {0}, 116 .chan_info[25] = {0}, 117 .chan_info[26] = {0}, 118 .chan_info[27] = {0}, 119 .chan_info[28] = {0}, 120 .chan_info[29] = {0}, 121 .chan_info[30] = {0}, 122 .chan_info[31] = {0}, 123 .chan_info[32] = {0}, 124 .chan_info[33] = {0}, 125 .chan_info[34] = {0}, 126 .chan_info[35] = {0}, 127 .chan_info[36] = {0}, 128 .chan_info[37] = {0}, 129 .chan_info[38] = {0}, 130 .chan_info[39] = {0}, 131 .chan_info[40] = {0}, 132 .chan_info[41] = {0}, 133 .chan_info[42] = {0}, 134 .chan_info[43] = {0}, 135 .chan_info[44] = {0}, 136 .chan_info[45] = {0}, 137 .chan_info[46] = {0}, 138 .chan_info[47] = {0}, 139 .chan_info[48] = {0}, 140 .chan_info[49] = {0}, 141 .chan_info[50] = {0}, 142 .chan_info[51] = {0}, 143 .chan_info[52] = {0}, 144 .chan_info[53] = {0}, 145 }; 146 147 #if CONFIG_5GHz_SUPPORT 148 // coverity[MISRA C-2012 Initializers:SUPPRESS] 149 static wlan_chanlist_t chanlist_5g_cfg = { 150 .num_chans = 28, 151 .chan_info[0] = 152 { 153 .chan_num = 36, 154 .chan_freq = 5180, 155 .passive_scan_or_radar_detect = false, 156 }, 157 .chan_info[1] = 158 { 159 .chan_num = 40, 160 .chan_freq = 5200, 161 .passive_scan_or_radar_detect = false, 162 }, 163 .chan_info[2] = 164 { 165 .chan_num = 44, 166 .chan_freq = 5220, 167 .passive_scan_or_radar_detect = false, 168 }, 169 .chan_info[3] = 170 { 171 .chan_num = 48, 172 .chan_freq = 5240, 173 .passive_scan_or_radar_detect = false, 174 }, 175 .chan_info[4] = 176 { 177 .chan_num = 52, 178 .chan_freq = 5260, 179 .passive_scan_or_radar_detect = true, 180 }, 181 .chan_info[5] = 182 { 183 .chan_num = 56, 184 .chan_freq = 5280, 185 .passive_scan_or_radar_detect = true, 186 }, 187 .chan_info[6] = 188 { 189 .chan_num = 60, 190 .chan_freq = 5300, 191 .passive_scan_or_radar_detect = true, 192 }, 193 .chan_info[7] = 194 { 195 .chan_num = 64, 196 .chan_freq = 5320, 197 .passive_scan_or_radar_detect = true, 198 }, 199 .chan_info[8] = 200 { 201 .chan_num = 100, 202 .chan_freq = 5500, 203 .passive_scan_or_radar_detect = true, 204 }, 205 .chan_info[9] = 206 { 207 .chan_num = 104, 208 .chan_freq = 5520, 209 .passive_scan_or_radar_detect = true, 210 }, 211 .chan_info[10] = 212 { 213 .chan_num = 108, 214 .chan_freq = 5540, 215 .passive_scan_or_radar_detect = true, 216 }, 217 .chan_info[11] = 218 { 219 .chan_num = 112, 220 .chan_freq = 5560, 221 .passive_scan_or_radar_detect = true, 222 }, 223 .chan_info[12] = 224 { 225 .chan_num = 116, 226 .chan_freq = 5580, 227 .passive_scan_or_radar_detect = true, 228 }, 229 .chan_info[13] = 230 { 231 .chan_num = 120, 232 .chan_freq = 5600, 233 .passive_scan_or_radar_detect = true, 234 }, 235 .chan_info[14] = 236 { 237 .chan_num = 124, 238 .chan_freq = 5620, 239 .passive_scan_or_radar_detect = true, 240 }, 241 .chan_info[15] = 242 { 243 .chan_num = 128, 244 .chan_freq = 5640, 245 .passive_scan_or_radar_detect = true, 246 }, 247 .chan_info[16] = 248 { 249 .chan_num = 132, 250 .chan_freq = 5660, 251 .passive_scan_or_radar_detect = true, 252 }, 253 .chan_info[17] = 254 { 255 .chan_num = 136, 256 .chan_freq = 5680, 257 .passive_scan_or_radar_detect = true, 258 }, 259 .chan_info[18] = 260 { 261 .chan_num = 140, 262 .chan_freq = 5700, 263 .passive_scan_or_radar_detect = true, 264 }, 265 .chan_info[19] = 266 { 267 .chan_num = 144, 268 .chan_freq = 5720, 269 .passive_scan_or_radar_detect = true, 270 }, 271 .chan_info[20] = 272 { 273 .chan_num = 149, 274 .chan_freq = 5745, 275 .passive_scan_or_radar_detect = false, 276 }, 277 .chan_info[21] = 278 { 279 .chan_num = 153, 280 .chan_freq = 5765, 281 .passive_scan_or_radar_detect = false, 282 }, 283 .chan_info[22] = 284 { 285 .chan_num = 157, 286 .chan_freq = 5785, 287 .passive_scan_or_radar_detect = false, 288 }, 289 .chan_info[23] = 290 { 291 .chan_num = 161, 292 .chan_freq = 5805, 293 .passive_scan_or_radar_detect = false, 294 }, 295 .chan_info[24] = 296 { 297 .chan_num = 165, 298 .chan_freq = 5825, 299 .passive_scan_or_radar_detect = false, 300 }, 301 .chan_info[25] = 302 { 303 .chan_num = 169, 304 .chan_freq = 5845, 305 .passive_scan_or_radar_detect = false, 306 }, 307 .chan_info[26] = 308 { 309 .chan_num = 173, 310 .chan_freq = 5865, 311 .passive_scan_or_radar_detect = false, 312 }, 313 .chan_info[27] = 314 { 315 .chan_num = 177, 316 .chan_freq = 5885, 317 .passive_scan_or_radar_detect = false, 318 }, 319 .chan_info[28] = {0}, 320 .chan_info[29] = {0}, 321 .chan_info[30] = {0}, 322 .chan_info[31] = {0}, 323 .chan_info[32] = {0}, 324 .chan_info[33] = {0}, 325 .chan_info[34] = {0}, 326 .chan_info[35] = {0}, 327 .chan_info[36] = {0}, 328 .chan_info[37] = {0}, 329 .chan_info[38] = {0}, 330 .chan_info[39] = {0}, 331 .chan_info[40] = {0}, 332 .chan_info[41] = {0}, 333 .chan_info[42] = {0}, 334 .chan_info[43] = {0}, 335 .chan_info[44] = {0}, 336 .chan_info[45] = {0}, 337 .chan_info[46] = {0}, 338 .chan_info[47] = {0}, 339 .chan_info[48] = {0}, 340 .chan_info[49] = {0}, 341 .chan_info[50] = {0}, 342 .chan_info[51] = {0}, 343 .chan_info[52] = {0}, 344 .chan_info[53] = {0}, 345 }; 346 #endif 347 348 #if CONFIG_COMPRESS_TX_PWTBL 349 static const t_u8 rg_rw610_bga[] = { 350 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x55, 0x53, 0x20, 0x10, 0x00, 0x01, 0x06, 0x02, 0x82, 0x00, 0x88, 0x88, 351 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x53, 0x20, 0x10, 0x03, 0x07, 0x00, 0x02, 0x08, 0x05, 352 0xa0, 0x00, 0x61, 0x40, 0x58, 0x02, 0x06, 0x05, 0x0a, 0x80, 0x42, 0x80, 0x40, 0x90, 0x06, 0x0c, 0x14, 0x05, 353 0x43, 0x60, 0xc1, 0x28, 0x28, 0x0c, 0x27, 0x0a, 0x04, 0xc5, 0xe0, 0xc1, 0x38, 0xa8, 0x46, 0x0a, 0x2d, 0x8f, 354 0x00, 0x09, 0x21, 0x08, 0xf8, 0x00, 0x08, 0x03, 0x07, 0x80, 0x01, 0x08, 0x00, 0x70, 0x0e, 0x1c, 0x2a, 0x0a, 355 0x02, 0x22, 0xf0, 0x48, 0x48, 0x50, 0x0c, 0x00, 0x07, 0x05, 0x23, 0x30, 0xa0, 0x94, 0xe0, 0x28, 0x01, 0x09, 356 0x82, 0x02, 0x41, 0x39, 0xc4, 0x36, 0x63, 0x33, 0x9e, 0xce, 0x67, 0x61, 0x4a, 0x4c, 0xfc, 0x24, 0x1b, 0xa2, 357 0xc3, 0x8f, 0xc1, 0x1a, 0x80, 0x38, 0x23, 0x0e, 0x34, 0x80, 0x0d, 0x21, 0x10, 0x40, 0x42, 0x88, 0x0e, 0x08, 358 0x54, 0x80}; 359 360 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 361 static const t_u8 rg_rw610_qfn[] = { 362 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x55, 0x53, 0x20, 0x10, 0x00, 0x01, 0x06, 0x02, 0x7b, 0x00, 0x88, 0x88, 363 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x53, 0x20, 0x10, 0x93, 0x06, 0x00, 0x02, 0x08, 0x07, 364 0x05, 0x01, 0xa1, 0x50, 0x08, 0x50, 0x0b, 0x04, 0x0a, 0x00, 0x82, 0x70, 0x50, 0x20, 0x02, 0x0a, 0x08, 0x85, 365 0x85, 0x21, 0xa0, 0x10, 0x90, 0x36, 0x1d, 0x11, 0x88, 0x00, 0xa1, 0x31, 0x78, 0xb0, 0x04, 0x23, 0x16, 0x15, 366 0xc7, 0xc0, 0x04, 0x70, 0x84, 0x80, 0x00, 0x04, 0x01, 0x83, 0xc0, 0x00, 0x84, 0x00, 0x38, 0x06, 0x01, 0x00, 367 0x0a, 0x82, 0x81, 0x48, 0x40, 0x18, 0x01, 0x01, 0x0e, 0x4d, 0xc2, 0x80, 0x10, 0x98, 0x20, 0x24, 0x13, 0x9b, 368 0x84, 0xa0, 0xa1, 0xb9, 0xd4, 0xe6, 0x03, 0x14, 0xa2, 0x03, 0xa8, 0x40, 0x03, 0xf0, 0x46, 0x92, 0x11, 0x98, 369 0x1a, 0x40, 0x06, 0x90, 0x88, 0x20, 0x21, 0x40, 0x07, 0x04, 0x26, 0x07, 0xe0}; 370 371 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 372 static const t_u8 rg_rw610_csp[] = { 373 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x55, 0x53, 0x20, 0x10, 0x00, 0x01, 0x06, 0x02, 0x7f, 0x00, 0x88, 0x88, 374 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x53, 0x20, 0x10, 0xd3, 0x06, 0x00, 0x02, 0x08, 0x07, 375 0x05, 0x01, 0xa1, 0x50, 0x08, 0x50, 0x0b, 0x04, 0x0a, 0x00, 0x82, 0x70, 0x50, 0x20, 0x00, 0x02, 0x13, 0x06, 376 0xc3, 0x82, 0x31, 0x18, 0x7c, 0x14, 0x10, 0x13, 0x01, 0x42, 0x61, 0xd1, 0x08, 0x94, 0x44, 0x57, 0x13, 0x00, 377 0x11, 0xc2, 0x11, 0xe0, 0x00, 0x10, 0x06, 0x0f, 0x00, 0x02, 0x10, 0x00, 0xe0, 0x18, 0x04, 0x00, 0x2a, 0x0a, 378 0x02, 0x02, 0xa0, 0xb0, 0xa0, 0x06, 0x10, 0x06, 0x00, 0x03, 0xa1, 0x13, 0x29, 0xa0, 0x22, 0x73, 0x04, 0x09, 379 0x06, 0xe7, 0x21, 0x29, 0xb0, 0x4e, 0x63, 0x3f, 0x0a, 0x51, 0xe7, 0x40, 0x10, 0x88, 0x20, 0x24, 0x0b, 0xa6, 380 0xd0, 0xe5, 0xc7, 0xe0, 0x8d, 0x08, 0x1c, 0x11, 0x97, 0x1a, 0x40, 0x06, 0x90, 0x85, 0x58, 0x21, 0x53}; 381 382 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 383 static const t_u8 rg_rw610_EU[] = { 384 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x45, 0x55, 0x20, 0x30, 0x00, 0x02, 0x06, 0x02, 0x8f, 0x00, 0x88, 0x88, 385 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x55, 0x20, 0x30, 0xd3, 0x07, 0x00, 0x02, 0x08, 0x06, 386 0xa0, 0x00, 0x21, 0x30, 0x68, 0x02, 0x06, 0x03, 0x0a, 0x01, 0xc2, 0x60, 0x38, 0x34, 0x2e, 0x13, 0x0b, 0x83, 387 0x04, 0xa0, 0xb0, 0x30, 0x10, 0x50, 0x12, 0x13, 0x00, 0x84, 0x80, 0x30, 0xd0, 0x64, 0x6a, 0x0c, 0x11, 0x82, 388 0x8a, 0xe4, 0x00, 0x02, 0x38, 0x42, 0x42, 0x00, 0x02, 0x00, 0xc1, 0xe0, 0x00, 0x2a, 0x00, 0x22, 0x03, 0x8d, 389 0x8a, 0xa3, 0x01, 0x40, 0x34, 0xcc, 0x15, 0x18, 0x07, 0x01, 0x40, 0x01, 0x10, 0x9c, 0x56, 0x6a, 0x01, 0x0a, 390 0x02, 0xa3, 0x53, 0x99, 0xdc, 0x68, 0x26, 0x08, 0x09, 0x02, 0xe8, 0x81, 0x1a, 0x35, 0x02, 0x7f, 0x41, 0x08, 391 0x80, 0x69, 0x75, 0x19, 0x9d, 0x3c, 0x15, 0x51, 0xa9, 0xc6, 0x42, 0x55, 0x89, 0xd0, 0x46, 0xa2, 0x00, 0x3f, 392 0x4f, 0x2b, 0x20, 0x03, 0x4d, 0x90, 0x22, 0x08, 0x08, 0x52, 0xab, 0xa1, 0x08, 0xd9, 0xf8}; 393 394 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 395 static const t_u8 rg_rw610_JP[] = { 396 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x4a, 0x50, 0x20, 0x40, 0x00, 0x03, 0x06, 0x02, 0x81, 0x00, 0x88, 0x88, 397 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x50, 0x20, 0x40, 0xf3, 0x06, 0x00, 0x02, 0x08, 0x07, 398 0x04, 0xc1, 0xe1, 0x40, 0x50, 0x48, 0x02, 0x11, 0x00, 0x80, 0x20, 0xe0, 0x18, 0x30, 0x50, 0x10, 0x12, 0x01, 399 0x42, 0x21, 0x50, 0x80, 0x90, 0x2e, 0x25, 0x0b, 0x86, 0xc3, 0xe2, 0x30, 0x98, 0xc0, 0x04, 0x27, 0x1a, 0x8b, 400 0x84, 0x41, 0xa0, 0x01, 0x5c, 0x88, 0x00, 0x47, 0x08, 0x48, 0xc5, 0x60, 0x00, 0x20, 0x0c, 0x1e, 0x80, 0x0b, 401 0x00, 0xe1, 0x22, 0xa0, 0xa0, 0x10, 0x26, 0x04, 0x0a, 0x02, 0xc0, 0x01, 0x60, 0xa0, 0x16, 0x6f, 0x39, 0x9d, 402 0x85, 0x23, 0xd0, 0xf9, 0xd0, 0x5a, 0x1b, 0x36, 0x9c, 0x51, 0x67, 0xb3, 0xfa, 0x54, 0x30, 0x27, 0x3b, 0x83, 403 0x00, 0x0f, 0xc1, 0x1a, 0x78, 0x5a, 0x24, 0x69, 0x00, 0x1a, 0x42, 0x20, 0x80, 0x85, 0x14, 0x21, 0x09, 0x3f, 404 0x00}; 405 406 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 407 static const t_u8 rg_rw610_CA[] = { 408 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x43, 0x4e, 0x20, 0x50, 0x00, 0x01, 0x06, 0x02, 0xa6, 0x00, 0x88, 0x88, 409 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4e, 0x20, 0x50, 0x43, 0x09, 0x00, 0x02, 0x08, 0x06, 410 0xa0, 0x00, 0x21, 0x30, 0x58, 0x38, 0x02, 0x0d, 0x00, 0x80, 0x00, 0x21, 0x20, 0x40, 0x44, 0x02, 0x10, 0x00, 411 0x83, 0x00, 0x20, 0x58, 0x48, 0x0a, 0x19, 0x0e, 0x88, 0x44, 0xa2, 0x80, 0x08, 0xb4, 0x36, 0x1f, 0x11, 0x89, 412 0xc5, 0x41, 0xf1, 0xf0, 0x88, 0x1a, 0x21, 0x23, 0x8d, 0x48, 0xa4, 0x92, 0x60, 0x0c, 0xa2, 0x43, 0x1c, 0x91, 413 0xc4, 0x24, 0xb2, 0x79, 0x04, 0x6c, 0x58, 0x11, 0x04, 0x4d, 0x25, 0x20, 0x02, 0x40, 0x40, 0x13, 0x2e, 0x9b, 414 0x00, 0x00, 0x80, 0x30, 0x22, 0x00, 0x16, 0x00, 0x02, 0xa0, 0x02, 0x40, 0x01, 0x50, 0x50, 0x10, 0x00, 0x05, 415 0x84, 0x80, 0x21, 0x40, 0x1c, 0x40, 0x00, 0x12, 0xa7, 0x54, 0x2a, 0x55, 0x4a, 0xb0, 0x48, 0x27, 0x4f, 0xa8, 416 0x81, 0x2b, 0xb5, 0x90, 0x58, 0x4e, 0xa7, 0x55, 0x84, 0xd6, 0x2c, 0x16, 0x6a, 0xe5, 0xa6, 0x19, 0x5a, 0xb1, 417 0x42, 0x49, 0x13, 0xc9, 0xc5, 0x40, 0x22, 0x05, 0x00, 0x1c, 0xaf, 0x37, 0x50, 0x58, 0x40, 0x09, 0x23, 0x9e, 418 0x4f, 0x00}; 419 420 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 421 static const t_u8 rg_rw610_WW[] = { 422 0x01, 0x00, 0xee, 0x01, 0x06, 0x00, 0x57, 0x57, 0x20, 0x00, 0x00, 0x00, 0x06, 0x02, 0xb2, 0x00, 0x88, 0x88, 423 0x03, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x20, 0x00, 0x03, 0x0a, 0x00, 0x02, 0x08, 0x05, 424 0x82, 0x80, 0x61, 0x30, 0x58, 0x38, 0x02, 0x0d, 0x00, 0x84, 0xc0, 0x21, 0x10, 0x08, 0x48, 0x0f, 0x0c, 0x08, 425 0x00, 0x41, 0x80, 0x10, 0x28, 0x04, 0x00, 0x02, 0x86, 0x43, 0xa2, 0x11, 0x28, 0xa4, 0x5a, 0x31, 0x0d, 0x87, 426 0x80, 0x62, 0x31, 0x38, 0xac, 0x5c, 0x1f, 0x22, 0x85, 0x81, 0xa2, 0x32, 0x79, 0x24, 0x7a, 0x4f, 0x11, 0x08, 427 0xca, 0x80, 0x32, 0xc8, 0xec, 0x9a, 0x51, 0x31, 0x95, 0xc7, 0x24, 0xa2, 0xc0, 0x88, 0x22, 0x73, 0x2d, 0x00, 428 0x12, 0x02, 0x00, 0x99, 0xa4, 0xec, 0x00, 0x04, 0x01, 0x83, 0xc0, 0x00, 0x54, 0x00, 0x44, 0x07, 0x16, 0x15, 429 0x42, 0x82, 0x90, 0x30, 0x20, 0x50, 0x15, 0x0a, 0x07, 0x01, 0x40, 0x01, 0x10, 0x98, 0x0a, 0xa6, 0x13, 0xaa, 430 0x82, 0x82, 0x40, 0x1a, 0xcd, 0x6e, 0xc6, 0x13, 0x04, 0x04, 0xa0, 0xb5, 0xa0, 0x8d, 0x9c, 0x03, 0x5f, 0xb0, 431 0xc3, 0x2c, 0xa1, 0x18, 0x65, 0x4a, 0xa9, 0x56, 0xb9, 0x5b, 0x23, 0x21, 0x2b, 0xcd, 0x6e, 0x18, 0x00, 0x3f, 432 0x57, 0x2e, 0x77, 0xf3, 0x48, 0x00, 0xd3, 0x3d, 0x08, 0x5a, 0xeb, 0x71, 0x1c, 0x00}; 433 #endif 434 435 #ifndef CONFIG_11AX 436 #ifndef CONFIG_11AC 437 static wifi_txpwrlimit_t 438 tx_pwrlimit_2g_cfg = 439 { 440 .subband = (wifi_SubBand_t)0x00, 441 .num_chans = 14, 442 .txpwrlimit_config[0] = 443 { 444 .num_mod_grps = 7, 445 .chan_desc = 446 { 447 .start_freq = 2407, 448 .chan_width = 20, 449 .chan_num = 1, 450 }, 451 .txpwrlimit_entry = {{0, 19}, {1, 15}, {2, 15}, {3, 15}, {4, 13}, {5, 13}, {6, 13}}, 452 }, 453 .txpwrlimit_config[1] = 454 { 455 .num_mod_grps = 7, 456 .chan_desc = 457 { 458 .start_freq = 2407, 459 .chan_width = 20, 460 .chan_num = 2, 461 }, 462 .txpwrlimit_entry = {{0, 19}, {1, 16}, {2, 16}, {3, 16}, {4, 16}, {5, 16}, {6, 16}}, 463 }, 464 .txpwrlimit_config[2] = 465 { 466 .num_mod_grps = 7, 467 .chan_desc = 468 { 469 .start_freq = 2407, 470 .chan_width = 20, 471 .chan_num = 3, 472 }, 473 .txpwrlimit_entry = {{0, 19}, {1, 16}, {2, 16}, {3, 16}, {4, 16}, {5, 16}, {6, 16}}, 474 }, 475 .txpwrlimit_config[3] = 476 { 477 .num_mod_grps = 7, 478 .chan_desc = 479 { 480 .start_freq = 2407, 481 .chan_width = 20, 482 .chan_num = 4, 483 }, 484 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 485 }, 486 .txpwrlimit_config[4] = 487 { 488 .num_mod_grps = 7, 489 .chan_desc = 490 { 491 .start_freq = 2407, 492 .chan_width = 20, 493 .chan_num = 5, 494 }, 495 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 496 }, 497 .txpwrlimit_config[5] = 498 { 499 .num_mod_grps = 7, 500 .chan_desc = 501 { 502 .start_freq = 2407, 503 .chan_width = 20, 504 .chan_num = 6, 505 }, 506 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 507 }, 508 .txpwrlimit_config[6] = 509 { 510 .num_mod_grps = 7, 511 .chan_desc = 512 { 513 .start_freq = 2407, 514 .chan_width = 20, 515 .chan_num = 7, 516 }, 517 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 518 }, 519 .txpwrlimit_config[7] = 520 { 521 .num_mod_grps = 7, 522 .chan_desc = 523 { 524 .start_freq = 2407, 525 .chan_width = 20, 526 .chan_num = 8, 527 }, 528 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 529 }, 530 .txpwrlimit_config[8] = 531 { 532 .num_mod_grps = 7, 533 .chan_desc = 534 { 535 .start_freq = 2407, 536 .chan_width = 20, 537 .chan_num = 9, 538 }, 539 .txpwrlimit_entry = {{0, 19}, {1, 17}, {2, 17}, {3, 16}, {4, 16}, {5, 16}, {6, 16}}, 540 }, 541 .txpwrlimit_config[9] = 542 { 543 .num_mod_grps = 7, 544 .chan_desc = 545 { 546 .start_freq = 2407, 547 .chan_width = 20, 548 .chan_num = 10, 549 }, 550 .txpwrlimit_entry = {{0, 19}, {1, 16}, {2, 16}, {3, 16}, {4, 15}, {5, 15}, {6, 15}}, 551 }, 552 .txpwrlimit_config[10] = 553 { 554 .num_mod_grps = 7, 555 .chan_desc = 556 { 557 .start_freq = 2407, 558 .chan_width = 20, 559 .chan_num = 11, 560 }, 561 .txpwrlimit_entry = {{0, 19}, {1, 13}, {2, 13}, {3, 13}, {4, 12}, {5, 12}, {6, 12}}, 562 }, 563 .txpwrlimit_config[11] = 564 { 565 .num_mod_grps = 7, 566 .chan_desc = 567 { 568 .start_freq = 2407, 569 .chan_width = 20, 570 .chan_num = 12, 571 }, 572 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 573 }, 574 .txpwrlimit_config[12] = 575 { 576 .num_mod_grps = 7, 577 .chan_desc = 578 { 579 .start_freq = 2407, 580 .chan_width = 20, 581 .chan_num = 13, 582 }, 583 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}}, 584 }, 585 .txpwrlimit_config[13] = 586 { 587 .num_mod_grps = 7, 588 .chan_desc = 589 { 590 .start_freq = 2414, 591 .chan_width = 20, 592 .chan_num = 14, 593 }, 594 .txpwrlimit_entry = {{0, 19}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}}, 595 }, 596 .txpwrlimit_config[14] = {0}, 597 .txpwrlimit_config[15] = {0}, 598 .txpwrlimit_config[16] = {0}, 599 .txpwrlimit_config[17] = {0}, 600 .txpwrlimit_config[18] = {0}, 601 .txpwrlimit_config[19] = {0}, 602 .txpwrlimit_config[20] = {0}, 603 .txpwrlimit_config[21] = {0}, 604 .txpwrlimit_config[22] = {0}, 605 .txpwrlimit_config[23] = {0}, 606 .txpwrlimit_config[24] = {0}, 607 .txpwrlimit_config[25] = {0}, 608 .txpwrlimit_config[26] = {0}, 609 .txpwrlimit_config[27] = {0}, 610 .txpwrlimit_config[28] = {0}, 611 .txpwrlimit_config[29] = {0}, 612 .txpwrlimit_config[30] = {0}, 613 .txpwrlimit_config[31] = {0}, 614 .txpwrlimit_config[32] = {0}, 615 .txpwrlimit_config[33] = {0}, 616 .txpwrlimit_config[34] = {0}, 617 .txpwrlimit_config[35] = {0}, 618 .txpwrlimit_config[36] = {0}, 619 .txpwrlimit_config[37] = {0}, 620 .txpwrlimit_config[38] = {0}, 621 .txpwrlimit_config[39] = {0}, 622 }; 623 624 #if CONFIG_5GHz_SUPPORT 625 static wifi_txpwrlimit_t 626 tx_pwrlimit_5g_cfg = 627 { 628 .subband = (wifi_SubBand_t)0x00, 629 .num_chans = 25, 630 .txpwrlimit_config[0] = 631 { 632 .num_mod_grps = 9, 633 .chan_desc = 634 { 635 .start_freq = 5000, 636 .chan_width = 20, 637 .chan_num = 36, 638 }, 639 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 640 }, 641 .txpwrlimit_config[1] = 642 { 643 .num_mod_grps = 9, 644 .chan_desc = 645 { 646 .start_freq = 5000, 647 .chan_width = 20, 648 .chan_num = 40, 649 }, 650 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 20}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 651 }, 652 .txpwrlimit_config[2] = 653 { 654 .num_mod_grps = 9, 655 .chan_desc = 656 { 657 .start_freq = 5000, 658 .chan_width = 20, 659 .chan_num = 44, 660 }, 661 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 18}, {4, 20}, {5, 20}, {6, 17}, {7, 0}, {8, 0}, {9, 0}}, 662 }, 663 .txpwrlimit_config[3] = 664 { 665 .num_mod_grps = 9, 666 .chan_desc = 667 { 668 .start_freq = 5000, 669 .chan_width = 20, 670 .chan_num = 48, 671 }, 672 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 16}, {4, 20}, {5, 20}, {6, 16}, {7, 0}, {8, 0}, {9, 0}}, 673 }, 674 .txpwrlimit_config[4] = 675 { 676 .num_mod_grps = 9, 677 .chan_desc = 678 { 679 .start_freq = 5000, 680 .chan_width = 20, 681 .chan_num = 52, 682 }, 683 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 17}, {4, 20}, {5, 20}, {6, 16}, {7, 0}, {8, 0}, {9, 0}}, 684 }, 685 .txpwrlimit_config[5] = 686 { 687 .num_mod_grps = 9, 688 .chan_desc = 689 { 690 .start_freq = 5000, 691 .chan_width = 20, 692 .chan_num = 56, 693 }, 694 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 20}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 695 }, 696 .txpwrlimit_config[6] = 697 { 698 .num_mod_grps = 9, 699 .chan_desc = 700 { 701 .start_freq = 5000, 702 .chan_width = 20, 703 .chan_num = 60, 704 }, 705 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 18}, {4, 20}, {5, 20}, {6, 17}, {7, 0}, {8, 0}, {9, 0}}, 706 }, 707 .txpwrlimit_config[7] = 708 { 709 .num_mod_grps = 9, 710 .chan_desc = 711 { 712 .start_freq = 5000, 713 .chan_width = 20, 714 .chan_num = 64, 715 }, 716 .txpwrlimit_entry = {{1, 19}, {2, 19}, {3, 16}, {4, 18}, {5, 18}, {6, 15}, {7, 0}, {8, 0}, {9, 0}}, 717 }, 718 .txpwrlimit_config[8] = 719 { 720 .num_mod_grps = 9, 721 .chan_desc = 722 { 723 .start_freq = 5000, 724 .chan_width = 20, 725 .chan_num = 100, 726 }, 727 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 20}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 728 }, 729 .txpwrlimit_config[9] = 730 { 731 .num_mod_grps = 9, 732 .chan_desc = 733 { 734 .start_freq = 5000, 735 .chan_width = 20, 736 .chan_num = 104, 737 }, 738 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 18}, {4, 20}, {5, 21}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 739 }, 740 .txpwrlimit_config[10] = 741 { 742 .num_mod_grps = 9, 743 .chan_desc = 744 { 745 .start_freq = 5000, 746 .chan_width = 20, 747 .chan_num = 108, 748 }, 749 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 21}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 750 }, 751 .txpwrlimit_config[11] = 752 { 753 .num_mod_grps = 9, 754 .chan_desc = 755 { 756 .start_freq = 5000, 757 .chan_width = 20, 758 .chan_num = 112, 759 }, 760 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 21}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 761 }, 762 .txpwrlimit_config[12] = 763 { 764 .num_mod_grps = 9, 765 .chan_desc = 766 { 767 .start_freq = 5000, 768 .chan_width = 20, 769 .chan_num = 116, 770 }, 771 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 19}, {4, 21}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 772 }, 773 .txpwrlimit_config[13] = 774 { 775 .num_mod_grps = 9, 776 .chan_desc = 777 { 778 .start_freq = 5000, 779 .chan_width = 20, 780 .chan_num = 120, 781 }, 782 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 19}, {4, 21}, {5, 20}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 783 }, 784 .txpwrlimit_config[14] = 785 { 786 .num_mod_grps = 9, 787 .chan_desc = 788 { 789 .start_freq = 5000, 790 .chan_width = 20, 791 .chan_num = 124, 792 }, 793 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 16}, {7, 0}, {8, 0}, {9, 0}}, 794 }, 795 .txpwrlimit_config[15] = 796 { 797 .num_mod_grps = 9, 798 .chan_desc = 799 { 800 .start_freq = 5000, 801 .chan_width = 20, 802 .chan_num = 128, 803 }, 804 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 16}, {7, 0}, {8, 0}, {9, 0}}, 805 }, 806 .txpwrlimit_config[16] = 807 { 808 .num_mod_grps = 9, 809 .chan_desc = 810 { 811 .start_freq = 5000, 812 .chan_width = 20, 813 .chan_num = 132, 814 }, 815 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 816 }, 817 .txpwrlimit_config[17] = 818 { 819 .num_mod_grps = 9, 820 .chan_desc = 821 { 822 .start_freq = 5000, 823 .chan_width = 20, 824 .chan_num = 136, 825 }, 826 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 18}, {7, 0}, {8, 0}, {9, 0}}, 827 }, 828 .txpwrlimit_config[18] = 829 { 830 .num_mod_grps = 9, 831 .chan_desc = 832 { 833 .start_freq = 5000, 834 .chan_width = 20, 835 .chan_num = 140, 836 }, 837 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 16}, {4, 21}, {5, 20}, {6, 15}, {7, 0}, {8, 0}, {9, 0}}, 838 }, 839 .txpwrlimit_config[19] = 840 { 841 .num_mod_grps = 9, 842 .chan_desc = 843 { 844 .start_freq = 5000, 845 .chan_width = 20, 846 .chan_num = 144, 847 }, 848 .txpwrlimit_entry = {{1, 21}, {2, 21}, {3, 16}, {4, 21}, {5, 20}, {6, 15}, {7, 0}, {8, 0}, {9, 0}}, 849 }, 850 .txpwrlimit_config[20] = 851 { 852 .num_mod_grps = 9, 853 .chan_desc = 854 { 855 .start_freq = 5000, 856 .chan_width = 20, 857 .chan_num = 149, 858 }, 859 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 18}, {4, 21}, {5, 21}, {6, 17}, {7, 0}, {8, 0}, {9, 0}}, 860 }, 861 .txpwrlimit_config[21] = 862 { 863 .num_mod_grps = 9, 864 .chan_desc = 865 { 866 .start_freq = 5000, 867 .chan_width = 20, 868 .chan_num = 153, 869 }, 870 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 18}, {4, 21}, {5, 21}, {6, 16}, {7, 0}, {8, 0}, {9, 0}}, 871 }, 872 .txpwrlimit_config[22] = 873 { 874 .num_mod_grps = 9, 875 .chan_desc = 876 { 877 .start_freq = 5000, 878 .chan_width = 20, 879 .chan_num = 157, 880 }, 881 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 15}, {4, 21}, {5, 21}, {6, 14}, {7, 0}, {8, 0}, {9, 0}}, 882 }, 883 .txpwrlimit_config[23] = 884 { 885 .num_mod_grps = 9, 886 .chan_desc = 887 { 888 .start_freq = 5000, 889 .chan_width = 20, 890 .chan_num = 161, 891 }, 892 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 13}, {4, 21}, {5, 21}, {6, 12}, {7, 0}, {8, 0}, {9, 0}}, 893 }, 894 .txpwrlimit_config[24] = 895 { 896 .num_mod_grps = 9, 897 .chan_desc = 898 { 899 .start_freq = 5000, 900 .chan_width = 20, 901 .chan_num = 165, 902 }, 903 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 13}, {4, 20}, {5, 20}, {6, 12}, {7, 0}, {8, 0}, {9, 0}}, 904 }, 905 .txpwrlimit_config[25] = {0}, 906 .txpwrlimit_config[26] = {0}, 907 .txpwrlimit_config[27] = {0}, 908 .txpwrlimit_config[28] = {0}, 909 .txpwrlimit_config[29] = {0}, 910 .txpwrlimit_config[30] = {0}, 911 .txpwrlimit_config[31] = {0}, 912 .txpwrlimit_config[32] = {0}, 913 .txpwrlimit_config[33] = {0}, 914 .txpwrlimit_config[34] = {0}, 915 .txpwrlimit_config[35] = {0}, 916 .txpwrlimit_config[36] = {0}, 917 .txpwrlimit_config[37] = {0}, 918 .txpwrlimit_config[38] = {0}, 919 .txpwrlimit_config[39] = {0}, 920 /* Rest of the channels listed below are not used and contains dummy power entries, 921 * they belong to 4.9GHz Band for Public Safety. 922 */ 923 #if 0 924 .txpwrlimit_config[25] = 925 { 926 .num_mod_grps = 9, 927 .chan_desc = 928 { 929 .start_freq = 5000, 930 .chan_width = 20, 931 .chan_num = 183, 932 }, 933 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 934 }, 935 .txpwrlimit_config[26] = 936 { 937 .num_mod_grps = 9, 938 .chan_desc = 939 { 940 .start_freq = 5000, 941 .chan_width = 20, 942 .chan_num = 184, 943 }, 944 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 945 }, 946 .txpwrlimit_config[27] = 947 { 948 .num_mod_grps = 9, 949 .chan_desc = 950 { 951 .start_freq = 5000, 952 .chan_width = 20, 953 .chan_num = 185, 954 }, 955 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 956 }, 957 .txpwrlimit_config[28] = 958 { 959 .num_mod_grps = 9, 960 .chan_desc = 961 { 962 .start_freq = 5000, 963 .chan_width = 20, 964 .chan_num = 187, 965 }, 966 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 967 }, 968 .txpwrlimit_config[29] = 969 { 970 .num_mod_grps = 9, 971 .chan_desc = 972 { 973 .start_freq = 5000, 974 .chan_width = 20, 975 .chan_num = 188, 976 }, 977 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 978 }, 979 .txpwrlimit_config[30] = 980 { 981 .num_mod_grps = 9, 982 .chan_desc = 983 { 984 .start_freq = 5000, 985 .chan_width = 20, 986 .chan_num = 189, 987 }, 988 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 989 }, 990 .txpwrlimit_config[31] = 991 { 992 .num_mod_grps = 9, 993 .chan_desc = 994 { 995 .start_freq = 5000, 996 .chan_width = 20, 997 .chan_num = 192, 998 }, 999 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1000 }, 1001 .txpwrlimit_config[32] = 1002 { 1003 .num_mod_grps = 9, 1004 .chan_desc = 1005 { 1006 .start_freq = 5000, 1007 .chan_width = 20, 1008 .chan_num = 196, 1009 }, 1010 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1011 }, 1012 .txpwrlimit_config[33] = 1013 { 1014 .num_mod_grps = 9, 1015 .chan_desc = 1016 { 1017 .start_freq = 5000, 1018 .chan_width = 20, 1019 .chan_num = 7, 1020 }, 1021 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1022 }, 1023 .txpwrlimit_config[34] = 1024 { 1025 .num_mod_grps = 9, 1026 .chan_desc = 1027 { 1028 .start_freq = 5000, 1029 .chan_width = 20, 1030 .chan_num = 8, 1031 }, 1032 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1033 }, 1034 .txpwrlimit_config[35] = 1035 { 1036 .num_mod_grps = 9, 1037 .chan_desc = 1038 { 1039 .start_freq = 5000, 1040 .chan_width = 20, 1041 .chan_num = 11, 1042 }, 1043 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1044 }, 1045 .txpwrlimit_config[36] = 1046 { 1047 .num_mod_grps = 9, 1048 .chan_desc = 1049 { 1050 .start_freq = 5000, 1051 .chan_width = 20, 1052 .chan_num = 12, 1053 }, 1054 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1055 }, 1056 .txpwrlimit_config[37] = 1057 { 1058 .num_mod_grps = 9, 1059 .chan_desc = 1060 { 1061 .start_freq = 5000, 1062 .chan_width = 20, 1063 .chan_num = 16, 1064 }, 1065 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1066 }, 1067 .txpwrlimit_config[38] = 1068 { 1069 .num_mod_grps = 9, 1070 .chan_desc = 1071 { 1072 .start_freq = 5000, 1073 .chan_width = 20, 1074 .chan_num = 34, 1075 }, 1076 .txpwrlimit_entry = {{1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, {7, 0}, {8, 0}, {9, 0}}, 1077 }, 1078 #endif 1079 }; 1080 #endif 1081 #else 1082 static wifi_txpwrlimit_t 1083 tx_pwrlimit_2g_cfg = 1084 { 1085 .subband = (wifi_SubBand_t)0x00, 1086 .num_chans = 14, 1087 .txpwrlimit_config[0] = 1088 { 1089 .num_mod_grps = 12, 1090 .chan_desc = 1091 { 1092 .start_freq = 2407, 1093 .chan_width = 20, 1094 .chan_num = 1, 1095 }, 1096 .txpwrlimit_entry = {{0, 19}, 1097 {1, 15}, 1098 {2, 15}, 1099 {3, 15}, 1100 {4, 13}, 1101 {5, 13}, 1102 {6, 13}, 1103 {7, 0}, 1104 {8, 0}, 1105 {9, 0}, 1106 {10, 13}, 1107 {11, 0}}, 1108 }, 1109 .txpwrlimit_config[1] = 1110 { 1111 .num_mod_grps = 12, 1112 .chan_desc = 1113 { 1114 .start_freq = 2407, 1115 .chan_width = 20, 1116 .chan_num = 2, 1117 }, 1118 .txpwrlimit_entry = {{0, 19}, 1119 {1, 16}, 1120 {2, 16}, 1121 {3, 16}, 1122 {4, 16}, 1123 {5, 16}, 1124 {6, 16}, 1125 {7, 0}, 1126 {8, 0}, 1127 {9, 0}, 1128 {10, 16}, 1129 {11, 0}}, 1130 }, 1131 .txpwrlimit_config[2] = 1132 { 1133 .num_mod_grps = 12, 1134 .chan_desc = 1135 { 1136 .start_freq = 2407, 1137 .chan_width = 20, 1138 .chan_num = 3, 1139 }, 1140 .txpwrlimit_entry = {{0, 19}, 1141 {1, 16}, 1142 {2, 16}, 1143 {3, 16}, 1144 {4, 16}, 1145 {5, 16}, 1146 {6, 16}, 1147 {7, 0}, 1148 {8, 0}, 1149 {9, 0}, 1150 {10, 16}, 1151 {11, 0}}, 1152 }, 1153 .txpwrlimit_config[3] = 1154 { 1155 .num_mod_grps = 12, 1156 .chan_desc = 1157 { 1158 .start_freq = 2407, 1159 .chan_width = 20, 1160 .chan_num = 4, 1161 }, 1162 .txpwrlimit_entry = {{0, 19}, 1163 {1, 18}, 1164 {2, 18}, 1165 {3, 17}, 1166 {4, 16}, 1167 {5, 17}, 1168 {6, 16}, 1169 {7, 0}, 1170 {8, 0}, 1171 {9, 0}, 1172 {10, 15}, 1173 {11, 0}}, 1174 }, 1175 .txpwrlimit_config[4] = 1176 { 1177 .num_mod_grps = 12, 1178 .chan_desc = 1179 { 1180 .start_freq = 2407, 1181 .chan_width = 20, 1182 .chan_num = 5, 1183 }, 1184 .txpwrlimit_entry = {{0, 19}, 1185 {1, 18}, 1186 {2, 18}, 1187 {3, 17}, 1188 {4, 16}, 1189 {5, 17}, 1190 {6, 16}, 1191 {7, 0}, 1192 {8, 0}, 1193 {9, 0}, 1194 {10, 15}, 1195 {11, 0}}, 1196 }, 1197 .txpwrlimit_config[5] = 1198 { 1199 .num_mod_grps = 12, 1200 .chan_desc = 1201 { 1202 .start_freq = 2407, 1203 .chan_width = 20, 1204 .chan_num = 6, 1205 }, 1206 .txpwrlimit_entry = {{0, 19}, 1207 {1, 18}, 1208 {2, 18}, 1209 {3, 17}, 1210 {4, 16}, 1211 {5, 17}, 1212 {6, 16}, 1213 {7, 0}, 1214 {8, 0}, 1215 {9, 0}, 1216 {10, 14}, 1217 {11, 0}}, 1218 }, 1219 .txpwrlimit_config[6] = 1220 { 1221 .num_mod_grps = 12, 1222 .chan_desc = 1223 { 1224 .start_freq = 2407, 1225 .chan_width = 20, 1226 .chan_num = 7, 1227 }, 1228 .txpwrlimit_entry = {{0, 19}, 1229 {1, 18}, 1230 {2, 18}, 1231 {3, 17}, 1232 {4, 16}, 1233 {5, 17}, 1234 {6, 16}, 1235 {7, 0}, 1236 {8, 0}, 1237 {9, 0}, 1238 {10, 16}, 1239 {11, 0}}, 1240 }, 1241 .txpwrlimit_config[7] = 1242 { 1243 .num_mod_grps = 12, 1244 .chan_desc = 1245 { 1246 .start_freq = 2407, 1247 .chan_width = 20, 1248 .chan_num = 8, 1249 }, 1250 .txpwrlimit_entry = {{0, 19}, 1251 {1, 18}, 1252 {2, 18}, 1253 {3, 17}, 1254 {4, 16}, 1255 {5, 17}, 1256 {6, 16}, 1257 {7, 0}, 1258 {8, 0}, 1259 {9, 0}, 1260 {10, 16}, 1261 {11, 0}}, 1262 }, 1263 .txpwrlimit_config[8] = 1264 { 1265 .num_mod_grps = 12, 1266 .chan_desc = 1267 { 1268 .start_freq = 2407, 1269 .chan_width = 20, 1270 .chan_num = 9, 1271 }, 1272 .txpwrlimit_entry = {{0, 19}, 1273 {1, 17}, 1274 {2, 17}, 1275 {3, 16}, 1276 {4, 16}, 1277 {5, 16}, 1278 {6, 16}, 1279 {7, 0}, 1280 {8, 0}, 1281 {9, 0}, 1282 {10, 15}, 1283 {11, 0}}, 1284 }, 1285 .txpwrlimit_config[9] = 1286 { 1287 .num_mod_grps = 12, 1288 .chan_desc = 1289 { 1290 .start_freq = 2407, 1291 .chan_width = 20, 1292 .chan_num = 10, 1293 }, 1294 .txpwrlimit_entry = {{0, 19}, 1295 {1, 16}, 1296 {2, 16}, 1297 {3, 16}, 1298 {4, 15}, 1299 {5, 15}, 1300 {6, 15}, 1301 {7, 0}, 1302 {8, 0}, 1303 {9, 0}, 1304 {10, 15}, 1305 {11, 0}}, 1306 }, 1307 .txpwrlimit_config[10] = 1308 { 1309 .num_mod_grps = 12, 1310 .chan_desc = 1311 { 1312 .start_freq = 2407, 1313 .chan_width = 20, 1314 .chan_num = 11, 1315 }, 1316 .txpwrlimit_entry = {{0, 19}, 1317 {1, 13}, 1318 {2, 13}, 1319 {3, 13}, 1320 {4, 12}, 1321 {5, 12}, 1322 {6, 12}, 1323 {7, 0}, 1324 {8, 0}, 1325 {9, 0}, 1326 {10, 12}, 1327 {11, 0}}, 1328 }, 1329 .txpwrlimit_config[11] = 1330 { 1331 .num_mod_grps = 12, 1332 .chan_desc = 1333 { 1334 .start_freq = 2407, 1335 .chan_width = 20, 1336 .chan_num = 12, 1337 }, 1338 .txpwrlimit_entry = {{0, 19}, 1339 {1, 18}, 1340 {2, 18}, 1341 {3, 17}, 1342 {4, 16}, 1343 {5, 17}, 1344 {6, 16}, 1345 {7, 0}, 1346 {8, 0}, 1347 {9, 0}, 1348 {10, 16}, 1349 {11, 0}}, 1350 }, 1351 .txpwrlimit_config[12] = 1352 { 1353 .num_mod_grps = 12, 1354 .chan_desc = 1355 { 1356 .start_freq = 2407, 1357 .chan_width = 20, 1358 .chan_num = 13, 1359 }, 1360 .txpwrlimit_entry = {{0, 19}, 1361 {1, 18}, 1362 {2, 18}, 1363 {3, 17}, 1364 {4, 16}, 1365 {5, 17}, 1366 {6, 16}, 1367 {7, 0}, 1368 {8, 0}, 1369 {9, 0}, 1370 {10, 16}, 1371 {11, 0}}, 1372 }, 1373 .txpwrlimit_config[13] = 1374 { 1375 .num_mod_grps = 12, 1376 .chan_desc = 1377 { 1378 .start_freq = 2414, 1379 .chan_width = 20, 1380 .chan_num = 14, 1381 }, 1382 .txpwrlimit_entry = 1383 {{0, 19}, 1384 {1, 0}, 1385 {2, 0}, 1386 {3, 0}, 1387 {4, 0}, 1388 {5, 0}, 1389 {6, 0}, 1390 {7, 0}, 1391 {8, 0}, 1392 {9, 0}, 1393 {10, 0}, 1394 {11, 0}}, 1395 }, 1396 .txpwrlimit_config[14] = {0}, 1397 .txpwrlimit_config[15] = {0}, 1398 .txpwrlimit_config[16] = {0}, 1399 .txpwrlimit_config[17] = {0}, 1400 .txpwrlimit_config[18] = {0}, 1401 .txpwrlimit_config[19] = {0}, 1402 .txpwrlimit_config[20] = {0}, 1403 .txpwrlimit_config[21] = {0}, 1404 .txpwrlimit_config[22] = {0}, 1405 .txpwrlimit_config[23] = {0}, 1406 .txpwrlimit_config[24] = {0}, 1407 .txpwrlimit_config[25] = {0}, 1408 .txpwrlimit_config[26] = {0}, 1409 .txpwrlimit_config[27] = {0}, 1410 .txpwrlimit_config[28] = {0}, 1411 .txpwrlimit_config[29] = {0}, 1412 .txpwrlimit_config[30] = {0}, 1413 .txpwrlimit_config[31] = {0}, 1414 .txpwrlimit_config[32] = {0}, 1415 .txpwrlimit_config[33] = {0}, 1416 .txpwrlimit_config[34] = {0}, 1417 .txpwrlimit_config[35] = {0}, 1418 .txpwrlimit_config[36] = {0}, 1419 .txpwrlimit_config[37] = {0}, 1420 .txpwrlimit_config[38] = {0}, 1421 .txpwrlimit_config[39] = {0}, 1422 }; 1423 1424 #if CONFIG_5GHz_SUPPORT 1425 static wifi_txpwrlimit_t 1426 tx_pwrlimit_5g_cfg = 1427 { 1428 .subband = (wifi_SubBand_t)0x00, 1429 .num_chans = 25, 1430 .txpwrlimit_config[0] = 1431 { 1432 .num_mod_grps = 16, 1433 .chan_desc = 1434 { 1435 .start_freq = 5000, 1436 .chan_width = 20, 1437 .chan_num = 36, 1438 }, 1439 .txpwrlimit_entry = {{0, 0}, 1440 {1, 20}, 1441 {2, 20}, 1442 {3, 20}, 1443 {4, 20}, 1444 {5, 20}, 1445 {6, 19}, 1446 {7, 0}, 1447 {8, 0}, 1448 {9, 0}, 1449 {10, 16}, 1450 {11, 0}, 1451 {12, 0}, 1452 {13, 0}, 1453 {14, 0}, 1454 {15, 0}}, 1455 }, 1456 .txpwrlimit_config[1] = 1457 { 1458 .num_mod_grps = 16, 1459 .chan_desc = 1460 { 1461 .start_freq = 5000, 1462 .chan_width = 20, 1463 .chan_num = 40, 1464 }, 1465 .txpwrlimit_entry = {{0, 0}, 1466 {1, 20}, 1467 {2, 20}, 1468 {3, 19}, 1469 {4, 20}, 1470 {5, 20}, 1471 {6, 18}, 1472 {7, 0}, 1473 {8, 0}, 1474 {9, 0}, 1475 {10, 16}, 1476 {11, 0}, 1477 {12, 0}, 1478 {13, 0}, 1479 {14, 0}, 1480 {15, 0}}, 1481 }, 1482 .txpwrlimit_config[2] = 1483 { 1484 .num_mod_grps = 16, 1485 .chan_desc = 1486 { 1487 .start_freq = 5000, 1488 .chan_width = 20, 1489 .chan_num = 44, 1490 }, 1491 .txpwrlimit_entry = {{0, 0}, 1492 {1, 20}, 1493 {2, 20}, 1494 {3, 18}, 1495 {4, 20}, 1496 {5, 20}, 1497 {6, 17}, 1498 {7, 0}, 1499 {8, 0}, 1500 {9, 0}, 1501 {10, 16}, 1502 {11, 0}, 1503 {12, 0}, 1504 {13, 0}, 1505 {14, 0}, 1506 {15, 0}}, 1507 }, 1508 .txpwrlimit_config[3] = 1509 { 1510 .num_mod_grps = 16, 1511 .chan_desc = 1512 { 1513 .start_freq = 5000, 1514 .chan_width = 20, 1515 .chan_num = 48, 1516 }, 1517 .txpwrlimit_entry = {{0, 0}, 1518 {1, 20}, 1519 {2, 20}, 1520 {3, 16}, 1521 {4, 20}, 1522 {5, 20}, 1523 {6, 16}, 1524 {7, 0}, 1525 {8, 0}, 1526 {9, 0}, 1527 {10, 16}, 1528 {11, 0}, 1529 {12, 0}, 1530 {13, 0}, 1531 {14, 0}, 1532 {15, 0}}, 1533 }, 1534 .txpwrlimit_config[4] = 1535 { 1536 .num_mod_grps = 16, 1537 .chan_desc = 1538 { 1539 .start_freq = 5000, 1540 .chan_width = 20, 1541 .chan_num = 52, 1542 }, 1543 .txpwrlimit_entry = {{0, 0}, 1544 {1, 20}, 1545 {2, 20}, 1546 {3, 17}, 1547 {4, 20}, 1548 {5, 20}, 1549 {6, 16}, 1550 {7, 0}, 1551 {8, 0}, 1552 {9, 0}, 1553 {10, 15}, 1554 {11, 0}, 1555 {12, 0}, 1556 {13, 0}, 1557 {14, 0}, 1558 {15, 0}}, 1559 }, 1560 .txpwrlimit_config[5] = 1561 { 1562 .num_mod_grps = 16, 1563 .chan_desc = 1564 { 1565 .start_freq = 5000, 1566 .chan_width = 20, 1567 .chan_num = 56, 1568 }, 1569 .txpwrlimit_entry = {{0, 0}, 1570 {1, 20}, 1571 {2, 20}, 1572 {3, 19}, 1573 {4, 20}, 1574 {5, 20}, 1575 {6, 18}, 1576 {7, 0}, 1577 {8, 0}, 1578 {9, 0}, 1579 {10, 15}, 1580 {11, 0}, 1581 {12, 0}, 1582 {13, 0}, 1583 {14, 0}, 1584 {15, 0}}, 1585 }, 1586 .txpwrlimit_config[6] = 1587 { 1588 .num_mod_grps = 16, 1589 .chan_desc = 1590 { 1591 .start_freq = 5000, 1592 .chan_width = 20, 1593 .chan_num = 60, 1594 }, 1595 .txpwrlimit_entry = {{0, 0}, 1596 {1, 20}, 1597 {2, 20}, 1598 {3, 18}, 1599 {4, 20}, 1600 {5, 20}, 1601 {6, 17}, 1602 {7, 0}, 1603 {8, 0}, 1604 {9, 0}, 1605 {10, 15}, 1606 {11, 0}, 1607 {12, 0}, 1608 {13, 0}, 1609 {14, 0}, 1610 {15, 0}}, 1611 }, 1612 .txpwrlimit_config[7] = 1613 { 1614 .num_mod_grps = 16, 1615 .chan_desc = 1616 { 1617 .start_freq = 5000, 1618 .chan_width = 20, 1619 .chan_num = 64, 1620 }, 1621 .txpwrlimit_entry = 1622 {{0, 0}, 1623 {1, 19}, 1624 {2, 19}, 1625 {3, 16}, 1626 {4, 18}, 1627 {5, 18}, 1628 {6, 15}, 1629 {7, 0}, 1630 {8, 0}, 1631 {9, 0}, 1632 {10, 15}, 1633 {11, 0}, 1634 {12, 0}, 1635 {13, 0}, 1636 {14, 0}, 1637 {15, 0}}, 1638 }, 1639 .txpwrlimit_config[8] = 1640 { 1641 .num_mod_grps = 16, 1642 .chan_desc = 1643 { 1644 .start_freq = 5000, 1645 .chan_width = 20, 1646 .chan_num = 100, 1647 }, 1648 .txpwrlimit_entry = 1649 {{0, 0}, 1650 {1, 20}, 1651 {2, 20}, 1652 {3, 19}, 1653 {4, 20}, 1654 {5, 20}, 1655 {6, 18}, 1656 {7, 0}, 1657 {8, 0}, 1658 {9, 0}, 1659 {10, 15}, 1660 {11, 0}, 1661 {12, 0}, 1662 {13, 0}, 1663 {14, 0}, 1664 {15, 0}}, 1665 }, 1666 .txpwrlimit_config[9] = 1667 { 1668 .num_mod_grps = 16, 1669 .chan_desc = 1670 { 1671 .start_freq = 5000, 1672 .chan_width = 20, 1673 .chan_num = 104, 1674 }, 1675 .txpwrlimit_entry = 1676 {{0, 0}, 1677 {1, 20}, 1678 {2, 20}, 1679 {3, 18}, 1680 {4, 20}, 1681 {5, 21}, 1682 {6, 18}, 1683 {7, 0}, 1684 {8, 0}, 1685 {9, 0}, 1686 {10, 15}, 1687 {11, 0}, 1688 {12, 0}, 1689 {13, 0}, 1690 {14, 0}, 1691 {15, 0}}, 1692 }, 1693 .txpwrlimit_config[10] = 1694 { 1695 .num_mod_grps = 16, 1696 .chan_desc = 1697 { 1698 .start_freq = 5000, 1699 .chan_width = 20, 1700 .chan_num = 108, 1701 }, 1702 .txpwrlimit_entry = 1703 {{0, 0}, 1704 {1, 20}, 1705 {2, 20}, 1706 {3, 19}, 1707 {4, 20}, 1708 {5, 21}, 1709 {6, 18}, 1710 {7, 0}, 1711 {8, 0}, 1712 {9, 0}, 1713 {10, 15}, 1714 {11, 0}, 1715 {12, 0}, 1716 {13, 0}, 1717 {14, 0}, 1718 {15, 0}}, 1719 }, 1720 .txpwrlimit_config[11] = 1721 { 1722 .num_mod_grps = 16, 1723 .chan_desc = 1724 { 1725 .start_freq = 5000, 1726 .chan_width = 20, 1727 .chan_num = 112, 1728 }, 1729 .txpwrlimit_entry = 1730 {{0, 0}, 1731 {1, 20}, 1732 {2, 20}, 1733 {3, 19}, 1734 {4, 20}, 1735 {5, 21}, 1736 {6, 18}, 1737 {7, 0}, 1738 {8, 0}, 1739 {9, 0}, 1740 {10, 15}, 1741 {11, 0}, 1742 {12, 0}, 1743 {13, 0}, 1744 {14, 0}, 1745 {15, 0}}, 1746 }, 1747 .txpwrlimit_config[12] = 1748 { 1749 .num_mod_grps = 16, 1750 .chan_desc = 1751 { 1752 .start_freq = 5000, 1753 .chan_width = 20, 1754 .chan_num = 116, 1755 }, 1756 .txpwrlimit_entry = 1757 {{0, 0}, 1758 {1, 21}, 1759 {2, 21}, 1760 {3, 19}, 1761 {4, 21}, 1762 {5, 20}, 1763 {6, 19}, 1764 {7, 0}, 1765 {8, 0}, 1766 {9, 0}, 1767 {10, 15}, 1768 {11, 0}, 1769 {12, 0}, 1770 {13, 0}, 1771 {14, 0}, 1772 {15, 0}}, 1773 }, 1774 .txpwrlimit_config[13] = 1775 { 1776 .num_mod_grps = 16, 1777 .chan_desc = 1778 { 1779 .start_freq = 5000, 1780 .chan_width = 20, 1781 .chan_num = 120, 1782 }, 1783 .txpwrlimit_entry = 1784 {{0, 0}, 1785 {1, 21}, 1786 {2, 21}, 1787 {3, 19}, 1788 {4, 21}, 1789 {5, 20}, 1790 {6, 18}, 1791 {7, 0}, 1792 {8, 0}, 1793 {9, 0}, 1794 {10, 15}, 1795 {11, 0}, 1796 {12, 0}, 1797 {13, 0}, 1798 {14, 0}, 1799 {15, 0}}, 1800 }, 1801 .txpwrlimit_config[14] = 1802 { 1803 .num_mod_grps = 16, 1804 .chan_desc = 1805 { 1806 .start_freq = 5000, 1807 .chan_width = 20, 1808 .chan_num = 124, 1809 }, 1810 .txpwrlimit_entry = 1811 {{0, 0}, 1812 {1, 21}, 1813 {2, 21}, 1814 {3, 18}, 1815 {4, 21}, 1816 {5, 20}, 1817 {6, 16}, 1818 {7, 0}, 1819 {8, 0}, 1820 {9, 0}, 1821 {10, 15}, 1822 {11, 0}, 1823 {12, 0}, 1824 {13, 0}, 1825 {14, 0}, 1826 {15, 0}}, 1827 }, 1828 .txpwrlimit_config[15] = 1829 { 1830 .num_mod_grps = 16, 1831 .chan_desc = 1832 { 1833 .start_freq = 5000, 1834 .chan_width = 20, 1835 .chan_num = 128, 1836 }, 1837 .txpwrlimit_entry = 1838 {{0, 0}, 1839 {1, 21}, 1840 {2, 21}, 1841 {3, 18}, 1842 {4, 21}, 1843 {5, 20}, 1844 {6, 16}, 1845 {7, 0}, 1846 {8, 0}, 1847 {9, 0}, 1848 {10, 15}, 1849 {11, 0}, 1850 {12, 0}, 1851 {13, 0}, 1852 {14, 0}, 1853 {15, 0}}, 1854 }, 1855 .txpwrlimit_config[16] = 1856 { 1857 .num_mod_grps = 16, 1858 .chan_desc = 1859 { 1860 .start_freq = 5000, 1861 .chan_width = 20, 1862 .chan_num = 132, 1863 }, 1864 .txpwrlimit_entry = 1865 {{0, 0}, 1866 {1, 21}, 1867 {2, 21}, 1868 {3, 18}, 1869 {4, 21}, 1870 {5, 20}, 1871 {6, 18}, 1872 {7, 0}, 1873 {8, 0}, 1874 {9, 0}, 1875 {10, 15}, 1876 {11, 0}, 1877 {12, 0}, 1878 {13, 0}, 1879 {14, 0}, 1880 {15, 0}}, 1881 }, 1882 .txpwrlimit_config[17] = 1883 { 1884 .num_mod_grps = 16, 1885 .chan_desc = 1886 { 1887 .start_freq = 5000, 1888 .chan_width = 20, 1889 .chan_num = 136, 1890 }, 1891 .txpwrlimit_entry = 1892 {{0, 0}, 1893 {1, 21}, 1894 {2, 21}, 1895 {3, 18}, 1896 {4, 21}, 1897 {5, 20}, 1898 {6, 18}, 1899 {7, 0}, 1900 {8, 0}, 1901 {9, 0}, 1902 {10, 15}, 1903 {11, 0}, 1904 {12, 0}, 1905 {13, 0}, 1906 {14, 0}, 1907 {15, 0}}, 1908 }, 1909 .txpwrlimit_config[18] = 1910 { 1911 .num_mod_grps = 16, 1912 .chan_desc = 1913 { 1914 .start_freq = 5000, 1915 .chan_width = 20, 1916 .chan_num = 140, 1917 }, 1918 .txpwrlimit_entry = 1919 {{0, 0}, 1920 {1, 21}, 1921 {2, 21}, 1922 {3, 16}, 1923 {4, 21}, 1924 {5, 20}, 1925 {6, 15}, 1926 {7, 0}, 1927 {8, 0}, 1928 {9, 0}, 1929 {10, 15}, 1930 {11, 0}, 1931 {12, 0}, 1932 {13, 0}, 1933 {14, 0}, 1934 {15, 0}}, 1935 }, 1936 .txpwrlimit_config[19] = 1937 { 1938 .num_mod_grps = 16, 1939 .chan_desc = 1940 { 1941 .start_freq = 5000, 1942 .chan_width = 20, 1943 .chan_num = 144, 1944 }, 1945 .txpwrlimit_entry = 1946 {{0, 0}, 1947 {1, 21}, 1948 {2, 21}, 1949 {3, 16}, 1950 {4, 21}, 1951 {5, 20}, 1952 {6, 15}, 1953 {7, 0}, 1954 {8, 0}, 1955 {9, 0}, 1956 {10, 15}, 1957 {11, 0}, 1958 {12, 0}, 1959 {13, 0}, 1960 {14, 0}, 1961 {15, 0}}, 1962 }, 1963 .txpwrlimit_config[20] = 1964 { 1965 .num_mod_grps = 16, 1966 .chan_desc = 1967 { 1968 .start_freq = 5000, 1969 .chan_width = 20, 1970 .chan_num = 149, 1971 }, 1972 .txpwrlimit_entry = 1973 {{0, 0}, 1974 {1, 20}, 1975 {2, 20}, 1976 {3, 18}, 1977 {4, 21}, 1978 {5, 21}, 1979 {6, 17}, 1980 {7, 0}, 1981 {8, 0}, 1982 {9, 0}, 1983 {10, 12}, 1984 {11, 0}, 1985 {12, 0}, 1986 {13, 0}, 1987 {14, 0}, 1988 {15, 0}}, 1989 }, 1990 .txpwrlimit_config[21] = 1991 { 1992 .num_mod_grps = 16, 1993 .chan_desc = 1994 { 1995 .start_freq = 5000, 1996 .chan_width = 20, 1997 .chan_num = 153, 1998 }, 1999 .txpwrlimit_entry = 2000 {{0, 0}, 2001 {1, 20}, 2002 {2, 20}, 2003 {3, 18}, 2004 {4, 21}, 2005 {5, 21}, 2006 {6, 16}, 2007 {7, 0}, 2008 {8, 0}, 2009 {9, 0}, 2010 {10, 12}, 2011 {11, 0}, 2012 {12, 0}, 2013 {13, 0}, 2014 {14, 0}, 2015 {15, 0}}, 2016 }, 2017 .txpwrlimit_config[22] = 2018 { 2019 .num_mod_grps = 16, 2020 .chan_desc = 2021 { 2022 .start_freq = 5000, 2023 .chan_width = 20, 2024 .chan_num = 157, 2025 }, 2026 .txpwrlimit_entry = 2027 {{0, 0}, 2028 {1, 20}, 2029 {2, 20}, 2030 {3, 15}, 2031 {4, 21}, 2032 {5, 21}, 2033 {6, 14}, 2034 {7, 0}, 2035 {8, 0}, 2036 {9, 0}, 2037 {10, 12}, 2038 {11, 0}, 2039 {12, 0}, 2040 {13, 0}, 2041 {14, 0}, 2042 {15, 0}}, 2043 }, 2044 .txpwrlimit_config[23] = 2045 { 2046 .num_mod_grps = 16, 2047 .chan_desc = 2048 { 2049 .start_freq = 5000, 2050 .chan_width = 20, 2051 .chan_num = 161, 2052 }, 2053 .txpwrlimit_entry = 2054 {{0, 0}, 2055 {1, 20}, 2056 {2, 20}, 2057 {3, 13}, 2058 {4, 21}, 2059 {5, 21}, 2060 {6, 12}, 2061 {7, 0}, 2062 {8, 0}, 2063 {9, 0}, 2064 {10, 12}, 2065 {11, 0}, 2066 {12, 0}, 2067 {13, 0}, 2068 {14, 0}, 2069 {15, 0}}, 2070 }, 2071 .txpwrlimit_config[24] = 2072 { 2073 .num_mod_grps = 16, 2074 .chan_desc = 2075 { 2076 .start_freq = 5000, 2077 .chan_width = 20, 2078 .chan_num = 165, 2079 }, 2080 .txpwrlimit_entry = 2081 {{0, 0}, 2082 {1, 20}, 2083 {2, 20}, 2084 {3, 13}, 2085 {4, 20}, 2086 {5, 20}, 2087 {6, 12}, 2088 {7, 0}, 2089 {8, 0}, 2090 {9, 0}, 2091 {10, 12}, 2092 {11, 0}, 2093 {12, 0}, 2094 {13, 0}, 2095 {14, 0}, 2096 {15, 0}}, 2097 }, 2098 .txpwrlimit_config[25] = {0}, 2099 .txpwrlimit_config[26] = {0}, 2100 .txpwrlimit_config[27] = {0}, 2101 .txpwrlimit_config[28] = {0}, 2102 .txpwrlimit_config[29] = {0}, 2103 .txpwrlimit_config[30] = {0}, 2104 .txpwrlimit_config[31] = {0}, 2105 .txpwrlimit_config[32] = {0}, 2106 .txpwrlimit_config[33] = {0}, 2107 .txpwrlimit_config[34] = {0}, 2108 .txpwrlimit_config[35] = {0}, 2109 .txpwrlimit_config[36] = {0}, 2110 .txpwrlimit_config[37] = {0}, 2111 .txpwrlimit_config[38] = {0}, 2112 .txpwrlimit_config[39] = {0}, 2113 /* Rest of the channels listed below are not used and contains dummy power entries, 2114 * they belong to 4.9GHz Band for Public Safety. 2115 */ 2116 #if 0 2117 .txpwrlimit_config[25] = 2118 { 2119 .num_mod_grps = 16, 2120 .chan_desc = 2121 { 2122 .start_freq = 5000, 2123 .chan_width = 20, 2124 .chan_num = 183, 2125 }, 2126 .txpwrlimit_entry = 2127 {{0, 0}, 2128 {1, 20}, 2129 {2, 20}, 2130 {3, 20}, 2131 {4, 20}, 2132 {5, 20}, 2133 {6, 19}, 2134 {7, 0}, 2135 {8, 0}, 2136 {9, 0}, 2137 {10, 16}, 2138 {11, 0}, 2139 {12, 0}, 2140 {13, 0}, 2141 {14, 0}, 2142 {15, 0}}, 2143 }, 2144 .txpwrlimit_config[26] = 2145 { 2146 .num_mod_grps = 16, 2147 .chan_desc = 2148 { 2149 .start_freq = 5000, 2150 .chan_width = 20, 2151 .chan_num = 184, 2152 }, 2153 .txpwrlimit_entry = 2154 {{0, 0}, 2155 {1, 20}, 2156 {2, 20}, 2157 {3, 20}, 2158 {4, 20}, 2159 {5, 20}, 2160 {6, 19}, 2161 {7, 0}, 2162 {8, 0}, 2163 {9, 0}, 2164 {10, 18}, 2165 {11, 0}, 2166 {12, 0}, 2167 {13, 0}, 2168 {14, 0}, 2169 {15, 0}}, 2170 }, 2171 .txpwrlimit_config[27] = 2172 { 2173 .num_mod_grps = 16, 2174 .chan_desc = 2175 { 2176 .start_freq = 5000, 2177 .chan_width = 20, 2178 .chan_num = 185, 2179 }, 2180 .txpwrlimit_entry = 2181 {{0, 0}, 2182 {1, 20}, 2183 {2, 20}, 2184 {3, 20}, 2185 {4, 20}, 2186 {5, 20}, 2187 {6, 19}, 2188 {7, 0}, 2189 {8, 0}, 2190 {9, 0}, 2191 {10, 16}, 2192 {11, 0}, 2193 {12, 0}, 2194 {13, 0}, 2195 {14, 0}, 2196 {15, 0}}, 2197 }, 2198 .txpwrlimit_config[28] = 2199 { 2200 .num_mod_grps = 16, 2201 .chan_desc = 2202 { 2203 .start_freq = 5000, 2204 .chan_width = 20, 2205 .chan_num = 187, 2206 }, 2207 .txpwrlimit_entry = 2208 {{0, 0}, 2209 {1, 20}, 2210 {2, 20}, 2211 {3, 20}, 2212 {4, 20}, 2213 {5, 20}, 2214 {6, 19}, 2215 {7, 0}, 2216 {8, 0}, 2217 {9, 0}, 2218 {10, 16}, 2219 {11, 0}, 2220 {12, 0}, 2221 {13, 0}, 2222 {14, 0}, 2223 {15, 0}}, 2224 }, 2225 .txpwrlimit_config[29] = 2226 { 2227 .num_mod_grps = 16, 2228 .chan_desc = 2229 { 2230 .start_freq = 5000, 2231 .chan_width = 20, 2232 .chan_num = 188, 2233 }, 2234 .txpwrlimit_entry = 2235 {{0, 0}, 2236 {1, 20}, 2237 {2, 20}, 2238 {3, 20}, 2239 {4, 20}, 2240 {5, 20}, 2241 {6, 19}, 2242 {7, 0}, 2243 {8, 0}, 2244 {9, 0}, 2245 {10, 16}, 2246 {11, 0}, 2247 {12, 0}, 2248 {13, 0}, 2249 {14, 0}, 2250 {15, 0}}, 2251 }, 2252 .txpwrlimit_config[30] = 2253 { 2254 .num_mod_grps = 16, 2255 .chan_desc = 2256 { 2257 .start_freq = 5000, 2258 .chan_width = 20, 2259 .chan_num = 189, 2260 }, 2261 .txpwrlimit_entry = 2262 {{0, 0}, 2263 {1, 20}, 2264 {2, 20}, 2265 {3, 20}, 2266 {4, 20}, 2267 {5, 20}, 2268 {6, 19}, 2269 {7, 0}, 2270 {8, 0}, 2271 {9, 0}, 2272 {10, 16}, 2273 {11, 0}, 2274 {12, 0}, 2275 {13, 0}, 2276 {14, 0}, 2277 {15, 0}}, 2278 }, 2279 .txpwrlimit_config[31] = 2280 { 2281 .num_mod_grps = 16, 2282 .chan_desc = 2283 { 2284 .start_freq = 5000, 2285 .chan_width = 20, 2286 .chan_num = 192, 2287 }, 2288 .txpwrlimit_entry = 2289 {{0, 0}, 2290 {1, 20}, 2291 {2, 20}, 2292 {3, 20}, 2293 {4, 20}, 2294 {5, 20}, 2295 {6, 19}, 2296 {7, 0}, 2297 {8, 0}, 2298 {9, 0}, 2299 {10, 16}, 2300 {11, 0}, 2301 {12, 0}, 2302 {13, 0}, 2303 {14, 0}, 2304 {15, 0}}, 2305 }, 2306 .txpwrlimit_config[32] = 2307 { 2308 .num_mod_grps = 16, 2309 .chan_desc = 2310 { 2311 .start_freq = 5000, 2312 .chan_width = 20, 2313 .chan_num = 196, 2314 }, 2315 .txpwrlimit_entry = 2316 {{0, 0}, 2317 {1, 20}, 2318 {2, 20}, 2319 {3, 20}, 2320 {4, 20}, 2321 {5, 20}, 2322 {6, 19}, 2323 {7, 0}, 2324 {8, 0}, 2325 {9, 0}, 2326 {10, 16}, 2327 {11, 0}, 2328 {12, 0}, 2329 {13, 0}, 2330 {14, 0}, 2331 {15, 0}}, 2332 }, 2333 .txpwrlimit_config[33] = 2334 { 2335 .num_mod_grps = 16, 2336 .chan_desc = 2337 { 2338 .start_freq = 5000, 2339 .chan_width = 20, 2340 .chan_num = 7, 2341 }, 2342 .txpwrlimit_entry = 2343 {{0, 0}, 2344 {1, 20}, 2345 {2, 20}, 2346 {3, 20}, 2347 {4, 20}, 2348 {5, 20}, 2349 {6, 19}, 2350 {7, 0}, 2351 {8, 0}, 2352 {9, 0}, 2353 {10, 16}, 2354 {11, 0}, 2355 {12, 0}, 2356 {13, 0}, 2357 {14, 0}, 2358 {15, 0}}, 2359 }, 2360 .txpwrlimit_config[34] = 2361 { 2362 .num_mod_grps = 16, 2363 .chan_desc = 2364 { 2365 .start_freq = 5000, 2366 .chan_width = 20, 2367 .chan_num = 8, 2368 }, 2369 .txpwrlimit_entry = 2370 {{0, 0}, 2371 {1, 20}, 2372 {2, 20}, 2373 {3, 20}, 2374 {4, 20}, 2375 {5, 20}, 2376 {6, 19}, 2377 {7, 0}, 2378 {8, 0}, 2379 {9, 0}, 2380 {10, 16}, 2381 {11, 0}, 2382 {12, 0}, 2383 {13, 0}, 2384 {14, 0}, 2385 {15, 0}}, 2386 }, 2387 .txpwrlimit_config[35] = 2388 { 2389 .num_mod_grps = 16, 2390 .chan_desc = 2391 { 2392 .start_freq = 5000, 2393 .chan_width = 20, 2394 .chan_num = 11, 2395 }, 2396 .txpwrlimit_entry = 2397 {{0, 0}, 2398 {1, 20}, 2399 {2, 20}, 2400 {3, 20}, 2401 {4, 20}, 2402 {5, 20}, 2403 {6, 19}, 2404 {7, 0}, 2405 {8, 0}, 2406 {9, 0}, 2407 {10, 16}, 2408 {11, 0}, 2409 {12, 0}, 2410 {13, 0}, 2411 {14, 0}, 2412 {15, 0}}, 2413 }, 2414 .txpwrlimit_config[36] = 2415 { 2416 .num_mod_grps = 16, 2417 .chan_desc = 2418 { 2419 .start_freq = 5000, 2420 .chan_width = 20, 2421 .chan_num = 12, 2422 }, 2423 .txpwrlimit_entry = 2424 {{0, 0}, 2425 {1, 20}, 2426 {2, 20}, 2427 {3, 20}, 2428 {4, 20}, 2429 {5, 20}, 2430 {6, 19}, 2431 {7, 0}, 2432 {8, 0}, 2433 {9, 0}, 2434 {10, 16}, 2435 {11, 0}, 2436 {12, 0}, 2437 {13, 0}, 2438 {14, 0}, 2439 {15, 0}}, 2440 }, 2441 .txpwrlimit_config[37] = 2442 { 2443 .num_mod_grps = 16, 2444 .chan_desc = 2445 { 2446 .start_freq = 5000, 2447 .chan_width = 20, 2448 .chan_num = 16, 2449 }, 2450 .txpwrlimit_entry = 2451 {{0, 0}, 2452 {1, 20}, 2453 {2, 20}, 2454 {3, 20}, 2455 {4, 20}, 2456 {5, 20}, 2457 {6, 19}, 2458 {7, 0}, 2459 {8, 0}, 2460 {9, 0}, 2461 {10, 16}, 2462 {11, 0}, 2463 {12, 0}, 2464 {13, 0}, 2465 {14, 0}, 2466 {15, 0}}, 2467 }, 2468 .txpwrlimit_config[38] = 2469 { 2470 .num_mod_grps = 16, 2471 .chan_desc = 2472 { 2473 .start_freq = 5000, 2474 .chan_width = 20, 2475 .chan_num = 34, 2476 }, 2477 .txpwrlimit_entry = 2478 {{0, 0}, 2479 {1, 20}, 2480 {2, 20}, 2481 {3, 20}, 2482 {4, 20}, 2483 {5, 20}, 2484 {6, 19}, 2485 {7, 0}, 2486 {8, 0}, 2487 {9, 0}, 2488 {10, 16}, 2489 {11, 0}, 2490 {12, 0}, 2491 {13, 0}, 2492 {14, 0}, 2493 {15, 0}}, 2494 }, 2495 #endif 2496 }; 2497 #endif /* CONFIG_5GHz_SUPPORT */ 2498 #endif /* CONFIG_11AC */ 2499 #else 2500 // coverity[MISRA C-2012 Initializers :SUPPRESS] 2501 static wifi_txpwrlimit_t tx_pwrlimit_2g_cfg = { 2502 .subband = (wifi_SubBand_t)0x00, 2503 .num_chans = 14, 2504 .txpwrlimit_config[0] = 2505 { 2506 .num_mod_grps = 20, 2507 .chan_desc = 2508 { 2509 .start_freq = 2407, 2510 .chan_width = 20, 2511 .chan_num = 1, 2512 }, 2513 .txpwrlimit_entry = {{0, 19}, {1, 15}, {2, 15}, {3, 15}, {4, 13}, {5, 13}, {6, 13}, 2514 {7, 0}, {8, 0}, {9, 0}, {10, 13}, {11, 0}, {12, 0}, {13, 0}, 2515 {14, 0}, {15, 0}, {16, 13}, {17, 0}, {18, 0}, {19, 0}}, 2516 }, 2517 .txpwrlimit_config[1] = 2518 { 2519 .num_mod_grps = 20, 2520 .chan_desc = 2521 { 2522 .start_freq = 2407, 2523 .chan_width = 20, 2524 .chan_num = 2, 2525 }, 2526 .txpwrlimit_entry = {{0, 19}, {1, 16}, {2, 16}, {3, 16}, {4, 16}, {5, 16}, {6, 16}, 2527 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2528 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2529 }, 2530 .txpwrlimit_config[2] = 2531 { 2532 .num_mod_grps = 20, 2533 .chan_desc = 2534 { 2535 .start_freq = 2407, 2536 .chan_width = 20, 2537 .chan_num = 3, 2538 }, 2539 .txpwrlimit_entry = {{0, 19}, {1, 16}, {2, 16}, {3, 16}, {4, 16}, {5, 16}, {6, 16}, 2540 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2541 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2542 }, 2543 .txpwrlimit_config[3] = 2544 { 2545 .num_mod_grps = 20, 2546 .chan_desc = 2547 { 2548 .start_freq = 2407, 2549 .chan_width = 20, 2550 .chan_num = 4, 2551 }, 2552 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2553 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2554 {14, 0}, {15, 0}, {16, 12}, {17, 0}, {18, 0}, {19, 0}}, 2555 }, 2556 .txpwrlimit_config[4] = 2557 { 2558 .num_mod_grps = 20, 2559 .chan_desc = 2560 { 2561 .start_freq = 2407, 2562 .chan_width = 20, 2563 .chan_num = 5, 2564 }, 2565 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2566 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2567 {14, 0}, {15, 0}, {16, 13}, {17, 0}, {18, 0}, {19, 0}}, 2568 }, 2569 .txpwrlimit_config[5] = 2570 { 2571 .num_mod_grps = 20, 2572 .chan_desc = 2573 { 2574 .start_freq = 2407, 2575 .chan_width = 20, 2576 .chan_num = 6, 2577 }, 2578 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2579 {7, 0}, {8, 0}, {9, 0}, {10, 14}, {11, 0}, {12, 0}, {13, 0}, 2580 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2581 }, 2582 .txpwrlimit_config[6] = 2583 { 2584 .num_mod_grps = 20, 2585 .chan_desc = 2586 { 2587 .start_freq = 2407, 2588 .chan_width = 20, 2589 .chan_num = 7, 2590 }, 2591 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2592 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2593 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2594 }, 2595 .txpwrlimit_config[7] = 2596 { 2597 .num_mod_grps = 20, 2598 .chan_desc = 2599 { 2600 .start_freq = 2407, 2601 .chan_width = 20, 2602 .chan_num = 8, 2603 }, 2604 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2605 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2606 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2607 }, 2608 .txpwrlimit_config[8] = 2609 { 2610 .num_mod_grps = 20, 2611 .chan_desc = 2612 { 2613 .start_freq = 2407, 2614 .chan_width = 20, 2615 .chan_num = 9, 2616 }, 2617 .txpwrlimit_entry = {{0, 19}, {1, 17}, {2, 17}, {3, 16}, {4, 16}, {5, 16}, {6, 16}, 2618 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2619 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2620 }, 2621 .txpwrlimit_config[9] = 2622 { 2623 .num_mod_grps = 20, 2624 .chan_desc = 2625 { 2626 .start_freq = 2407, 2627 .chan_width = 20, 2628 .chan_num = 10, 2629 }, 2630 .txpwrlimit_entry = {{0, 19}, {1, 16}, {2, 16}, {3, 16}, {4, 15}, {5, 15}, {6, 15}, 2631 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2632 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2633 }, 2634 .txpwrlimit_config[10] = 2635 { 2636 .num_mod_grps = 20, 2637 .chan_desc = 2638 { 2639 .start_freq = 2407, 2640 .chan_width = 20, 2641 .chan_num = 11, 2642 }, 2643 .txpwrlimit_entry = {{0, 19}, {1, 13}, {2, 13}, {3, 13}, {4, 12}, {5, 12}, {6, 12}, 2644 {7, 0}, {8, 0}, {9, 0}, {10, 12}, {11, 0}, {12, 0}, {13, 0}, 2645 {14, 0}, {15, 0}, {16, 12}, {17, 0}, {18, 0}, {19, 0}}, 2646 }, 2647 .txpwrlimit_config[11] = 2648 { 2649 .num_mod_grps = 20, 2650 .chan_desc = 2651 { 2652 .start_freq = 2407, 2653 .chan_width = 20, 2654 .chan_num = 12, 2655 }, 2656 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2657 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2658 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2659 }, 2660 .txpwrlimit_config[12] = 2661 { 2662 .num_mod_grps = 20, 2663 .chan_desc = 2664 { 2665 .start_freq = 2407, 2666 .chan_width = 20, 2667 .chan_num = 13, 2668 }, 2669 .txpwrlimit_entry = {{0, 19}, {1, 18}, {2, 18}, {3, 17}, {4, 16}, {5, 17}, {6, 16}, 2670 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2671 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2672 }, 2673 .txpwrlimit_config[13] = 2674 { 2675 .num_mod_grps = 20, 2676 .chan_desc = 2677 { 2678 .start_freq = 2414, 2679 .chan_width = 20, 2680 .chan_num = 14, 2681 }, 2682 .txpwrlimit_entry = {{0, 19}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, 2683 {7, 0}, {8, 0}, {9, 0}, {10, 0}, {11, 0}, {12, 0}, {13, 0}, 2684 {14, 0}, {15, 0}, {16, 0}, {17, 0}, {18, 0}, {19, 0}}, 2685 }, 2686 .txpwrlimit_config[14] = {0}, 2687 .txpwrlimit_config[15] = {0}, 2688 .txpwrlimit_config[16] = {0}, 2689 .txpwrlimit_config[17] = {0}, 2690 .txpwrlimit_config[18] = {0}, 2691 .txpwrlimit_config[19] = {0}, 2692 .txpwrlimit_config[20] = {0}, 2693 .txpwrlimit_config[21] = {0}, 2694 .txpwrlimit_config[22] = {0}, 2695 .txpwrlimit_config[23] = {0}, 2696 .txpwrlimit_config[24] = {0}, 2697 .txpwrlimit_config[25] = {0}, 2698 .txpwrlimit_config[26] = {0}, 2699 .txpwrlimit_config[27] = {0}, 2700 .txpwrlimit_config[28] = {0}, 2701 .txpwrlimit_config[29] = {0}, 2702 .txpwrlimit_config[30] = {0}, 2703 .txpwrlimit_config[31] = {0}, 2704 .txpwrlimit_config[32] = {0}, 2705 .txpwrlimit_config[33] = {0}, 2706 .txpwrlimit_config[34] = {0}, 2707 .txpwrlimit_config[35] = {0}, 2708 .txpwrlimit_config[36] = {0}, 2709 .txpwrlimit_config[37] = {0}, 2710 .txpwrlimit_config[38] = {0}, 2711 .txpwrlimit_config[39] = {0}, 2712 }; 2713 2714 #if CONFIG_5GHz_SUPPORT 2715 static wifi_txpwrlimit_t tx_pwrlimit_5g_cfg = { 2716 .subband = (wifi_SubBand_t)0x00, 2717 .num_chans = 25, 2718 .txpwrlimit_config[0] = 2719 { 2720 .num_mod_grps = 20, 2721 .chan_desc = 2722 { 2723 .start_freq = 5000, 2724 .chan_width = 20, 2725 .chan_num = 36, 2726 }, 2727 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 2728 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2729 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 2730 }, 2731 .txpwrlimit_config[1] = 2732 { 2733 .num_mod_grps = 20, 2734 .chan_desc = 2735 { 2736 .start_freq = 5000, 2737 .chan_width = 20, 2738 .chan_num = 40, 2739 }, 2740 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 20}, {6, 18}, 2741 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2742 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 2743 }, 2744 .txpwrlimit_config[2] = 2745 { 2746 .num_mod_grps = 20, 2747 .chan_desc = 2748 { 2749 .start_freq = 5000, 2750 .chan_width = 20, 2751 .chan_num = 44, 2752 }, 2753 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 18}, {4, 20}, {5, 20}, {6, 17}, 2754 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2755 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 2756 }, 2757 .txpwrlimit_config[3] = 2758 { 2759 .num_mod_grps = 20, 2760 .chan_desc = 2761 { 2762 .start_freq = 5000, 2763 .chan_width = 20, 2764 .chan_num = 48, 2765 }, 2766 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 16}, {4, 20}, {5, 20}, {6, 16}, 2767 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 2768 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 2769 }, 2770 .txpwrlimit_config[4] = 2771 { 2772 .num_mod_grps = 20, 2773 .chan_desc = 2774 { 2775 .start_freq = 5000, 2776 .chan_width = 20, 2777 .chan_num = 52, 2778 }, 2779 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 17}, {4, 20}, {5, 20}, {6, 16}, 2780 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2781 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2782 }, 2783 .txpwrlimit_config[5] = 2784 { 2785 .num_mod_grps = 20, 2786 .chan_desc = 2787 { 2788 .start_freq = 5000, 2789 .chan_width = 20, 2790 .chan_num = 56, 2791 }, 2792 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 20}, {6, 18}, 2793 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2794 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2795 }, 2796 .txpwrlimit_config[6] = 2797 { 2798 .num_mod_grps = 20, 2799 .chan_desc = 2800 { 2801 .start_freq = 5000, 2802 .chan_width = 20, 2803 .chan_num = 60, 2804 }, 2805 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 18}, {4, 20}, {5, 20}, {6, 17}, 2806 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2807 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2808 }, 2809 .txpwrlimit_config[7] = 2810 { 2811 .num_mod_grps = 20, 2812 .chan_desc = 2813 { 2814 .start_freq = 5000, 2815 .chan_width = 20, 2816 .chan_num = 64, 2817 }, 2818 .txpwrlimit_entry = {{0, 0}, {1, 19}, {2, 19}, {3, 16}, {4, 18}, {5, 18}, {6, 15}, 2819 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2820 {14, 0}, {15, 0}, {16, 15}, {17, 0}, {18, 0}, {19, 0}}, 2821 }, 2822 .txpwrlimit_config[8] = 2823 { 2824 .num_mod_grps = 20, 2825 .chan_desc = 2826 { 2827 .start_freq = 5000, 2828 .chan_width = 20, 2829 .chan_num = 100, 2830 }, 2831 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 20}, {6, 18}, 2832 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2833 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2834 }, 2835 .txpwrlimit_config[9] = 2836 { 2837 .num_mod_grps = 20, 2838 .chan_desc = 2839 { 2840 .start_freq = 5000, 2841 .chan_width = 20, 2842 .chan_num = 104, 2843 }, 2844 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 18}, {4, 20}, {5, 21}, {6, 18}, 2845 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2846 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2847 }, 2848 .txpwrlimit_config[10] = 2849 { 2850 .num_mod_grps = 20, 2851 .chan_desc = 2852 { 2853 .start_freq = 5000, 2854 .chan_width = 20, 2855 .chan_num = 108, 2856 }, 2857 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 21}, {6, 18}, 2858 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2859 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2860 }, 2861 .txpwrlimit_config[11] = 2862 { 2863 .num_mod_grps = 20, 2864 .chan_desc = 2865 { 2866 .start_freq = 5000, 2867 .chan_width = 20, 2868 .chan_num = 112, 2869 }, 2870 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 19}, {4, 20}, {5, 21}, {6, 18}, 2871 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2872 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2873 }, 2874 .txpwrlimit_config[12] = 2875 { 2876 .num_mod_grps = 20, 2877 .chan_desc = 2878 { 2879 .start_freq = 5000, 2880 .chan_width = 20, 2881 .chan_num = 116, 2882 }, 2883 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 19}, {4, 21}, {5, 20}, {6, 19}, 2884 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2885 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2886 }, 2887 .txpwrlimit_config[13] = 2888 { 2889 .num_mod_grps = 20, 2890 .chan_desc = 2891 { 2892 .start_freq = 5000, 2893 .chan_width = 20, 2894 .chan_num = 120, 2895 }, 2896 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 19}, {4, 21}, {5, 20}, {6, 18}, 2897 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2898 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2899 }, 2900 .txpwrlimit_config[14] = 2901 { 2902 .num_mod_grps = 20, 2903 .chan_desc = 2904 { 2905 .start_freq = 5000, 2906 .chan_width = 20, 2907 .chan_num = 124, 2908 }, 2909 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 16}, 2910 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2911 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2912 }, 2913 .txpwrlimit_config[15] = 2914 { 2915 .num_mod_grps = 20, 2916 .chan_desc = 2917 { 2918 .start_freq = 5000, 2919 .chan_width = 20, 2920 .chan_num = 128, 2921 }, 2922 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 16}, 2923 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2924 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2925 }, 2926 .txpwrlimit_config[16] = 2927 { 2928 .num_mod_grps = 20, 2929 .chan_desc = 2930 { 2931 .start_freq = 5000, 2932 .chan_width = 20, 2933 .chan_num = 132, 2934 }, 2935 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 18}, 2936 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2937 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2938 }, 2939 .txpwrlimit_config[17] = 2940 { 2941 .num_mod_grps = 20, 2942 .chan_desc = 2943 { 2944 .start_freq = 5000, 2945 .chan_width = 20, 2946 .chan_num = 136, 2947 }, 2948 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 18}, {4, 21}, {5, 20}, {6, 18}, 2949 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2950 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2951 }, 2952 .txpwrlimit_config[18] = 2953 { 2954 .num_mod_grps = 20, 2955 .chan_desc = 2956 { 2957 .start_freq = 5000, 2958 .chan_width = 20, 2959 .chan_num = 140, 2960 }, 2961 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 16}, {4, 21}, {5, 20}, {6, 15}, 2962 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2963 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2964 }, 2965 .txpwrlimit_config[19] = 2966 { 2967 .num_mod_grps = 20, 2968 .chan_desc = 2969 { 2970 .start_freq = 5000, 2971 .chan_width = 20, 2972 .chan_num = 144, 2973 }, 2974 .txpwrlimit_entry = {{0, 0}, {1, 21}, {2, 21}, {3, 16}, {4, 21}, {5, 20}, {6, 15}, 2975 {7, 0}, {8, 0}, {9, 0}, {10, 15}, {11, 0}, {12, 0}, {13, 0}, 2976 {14, 0}, {15, 0}, {16, 14}, {17, 0}, {18, 0}, {19, 0}}, 2977 }, 2978 .txpwrlimit_config[20] = 2979 { 2980 .num_mod_grps = 20, 2981 .chan_desc = 2982 { 2983 .start_freq = 5000, 2984 .chan_width = 20, 2985 .chan_num = 149, 2986 }, 2987 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 18}, {4, 21}, {5, 21}, {6, 17}, 2988 {7, 0}, {8, 0}, {9, 0}, {10, 12}, {11, 0}, {12, 0}, {13, 0}, 2989 {14, 0}, {15, 0}, {16, 10}, {17, 0}, {18, 0}, {19, 0}}, 2990 }, 2991 .txpwrlimit_config[21] = 2992 { 2993 .num_mod_grps = 20, 2994 .chan_desc = 2995 { 2996 .start_freq = 5000, 2997 .chan_width = 20, 2998 .chan_num = 153, 2999 }, 3000 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 18}, {4, 21}, {5, 21}, {6, 16}, 3001 {7, 0}, {8, 0}, {9, 0}, {10, 12}, {11, 0}, {12, 0}, {13, 0}, 3002 {14, 0}, {15, 0}, {16, 10}, {17, 0}, {18, 0}, {19, 0}}, 3003 }, 3004 .txpwrlimit_config[22] = 3005 { 3006 .num_mod_grps = 20, 3007 .chan_desc = 3008 { 3009 .start_freq = 5000, 3010 .chan_width = 20, 3011 .chan_num = 157, 3012 }, 3013 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 15}, {4, 21}, {5, 21}, {6, 14}, 3014 {7, 0}, {8, 0}, {9, 0}, {10, 12}, {11, 0}, {12, 0}, {13, 0}, 3015 {14, 0}, {15, 0}, {16, 10}, {17, 0}, {18, 0}, {19, 0}}, 3016 }, 3017 .txpwrlimit_config[23] = 3018 { 3019 .num_mod_grps = 20, 3020 .chan_desc = 3021 { 3022 .start_freq = 5000, 3023 .chan_width = 20, 3024 .chan_num = 161, 3025 }, 3026 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 13}, {4, 21}, {5, 21}, {6, 12}, 3027 {7, 0}, {8, 0}, {9, 0}, {10, 12}, {11, 0}, {12, 0}, {13, 0}, 3028 {14, 0}, {15, 0}, {16, 10}, {17, 0}, {18, 0}, {19, 0}}, 3029 }, 3030 .txpwrlimit_config[24] = 3031 { 3032 .num_mod_grps = 20, 3033 .chan_desc = 3034 { 3035 .start_freq = 5000, 3036 .chan_width = 20, 3037 .chan_num = 165, 3038 }, 3039 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 13}, {4, 20}, {5, 20}, {6, 12}, 3040 {7, 0}, {8, 0}, {9, 0}, {10, 12}, {11, 0}, {12, 0}, {13, 0}, 3041 {14, 0}, {15, 0}, {16, 10}, {17, 0}, {18, 0}, {19, 0}}, 3042 }, 3043 .txpwrlimit_config[25] = {0}, 3044 .txpwrlimit_config[26] = {0}, 3045 .txpwrlimit_config[27] = {0}, 3046 .txpwrlimit_config[28] = {0}, 3047 .txpwrlimit_config[29] = {0}, 3048 .txpwrlimit_config[30] = {0}, 3049 .txpwrlimit_config[31] = {0}, 3050 .txpwrlimit_config[32] = {0}, 3051 .txpwrlimit_config[33] = {0}, 3052 .txpwrlimit_config[34] = {0}, 3053 .txpwrlimit_config[35] = {0}, 3054 .txpwrlimit_config[36] = {0}, 3055 .txpwrlimit_config[37] = {0}, 3056 .txpwrlimit_config[38] = {0}, 3057 .txpwrlimit_config[39] = {0}, 3058 /* Rest of the channels listed below are not used and contains dummy power entries, 3059 * they belong to 4.9GHz Band for Public Safety. 3060 */ 3061 #if 0 3062 .txpwrlimit_config[25] = 3063 { 3064 .num_mod_grps = 20, 3065 .chan_desc = 3066 { 3067 .start_freq = 5000, 3068 .chan_width = 20, 3069 .chan_num = 183, 3070 }, 3071 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3072 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3073 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3074 }, 3075 .txpwrlimit_config[26] = 3076 { 3077 .num_mod_grps = 20, 3078 .chan_desc = 3079 { 3080 .start_freq = 5000, 3081 .chan_width = 20, 3082 .chan_num = 184, 3083 }, 3084 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3085 {7, 0}, {8, 0}, {9, 0}, {10, 18}, {11, 0}, {12, 0}, {13, 0}, 3086 {14, 0}, {15, 0}, {16, 18}, {17, 0}, {18, 0}, {19, 0}}, 3087 }, 3088 .txpwrlimit_config[27] = 3089 { 3090 .num_mod_grps = 20, 3091 .chan_desc = 3092 { 3093 .start_freq = 5000, 3094 .chan_width = 20, 3095 .chan_num = 185, 3096 }, 3097 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3098 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3099 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3100 }, 3101 .txpwrlimit_config[28] = 3102 { 3103 .num_mod_grps = 20, 3104 .chan_desc = 3105 { 3106 .start_freq = 5000, 3107 .chan_width = 20, 3108 .chan_num = 187, 3109 }, 3110 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3111 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3112 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3113 }, 3114 .txpwrlimit_config[29] = 3115 { 3116 .num_mod_grps = 20, 3117 .chan_desc = 3118 { 3119 .start_freq = 5000, 3120 .chan_width = 20, 3121 .chan_num = 188, 3122 }, 3123 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3124 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3125 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3126 }, 3127 .txpwrlimit_config[30] = 3128 { 3129 .num_mod_grps = 20, 3130 .chan_desc = 3131 { 3132 .start_freq = 5000, 3133 .chan_width = 20, 3134 .chan_num = 189, 3135 }, 3136 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3137 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3138 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3139 }, 3140 .txpwrlimit_config[31] = 3141 { 3142 .num_mod_grps = 20, 3143 .chan_desc = 3144 { 3145 .start_freq = 5000, 3146 .chan_width = 20, 3147 .chan_num = 192, 3148 }, 3149 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3150 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3151 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3152 }, 3153 .txpwrlimit_config[32] = 3154 { 3155 .num_mod_grps = 20, 3156 .chan_desc = 3157 { 3158 .start_freq = 5000, 3159 .chan_width = 20, 3160 .chan_num = 196, 3161 }, 3162 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3163 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3164 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3165 }, 3166 .txpwrlimit_config[33] = 3167 { 3168 .num_mod_grps = 20, 3169 .chan_desc = 3170 { 3171 .start_freq = 5000, 3172 .chan_width = 20, 3173 .chan_num = 7, 3174 }, 3175 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3176 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3177 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3178 }, 3179 .txpwrlimit_config[34] = 3180 { 3181 .num_mod_grps = 20, 3182 .chan_desc = 3183 { 3184 .start_freq = 5000, 3185 .chan_width = 20, 3186 .chan_num = 8, 3187 }, 3188 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3189 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3190 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3191 }, 3192 .txpwrlimit_config[35] = 3193 { 3194 .num_mod_grps = 20, 3195 .chan_desc = 3196 { 3197 .start_freq = 5000, 3198 .chan_width = 20, 3199 .chan_num = 11, 3200 }, 3201 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3202 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3203 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3204 }, 3205 .txpwrlimit_config[36] = 3206 { 3207 .num_mod_grps = 20, 3208 .chan_desc = 3209 { 3210 .start_freq = 5000, 3211 .chan_width = 20, 3212 .chan_num = 12, 3213 }, 3214 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3215 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3216 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3217 }, 3218 .txpwrlimit_config[37] = 3219 { 3220 .num_mod_grps = 20, 3221 .chan_desc = 3222 { 3223 .start_freq = 5000, 3224 .chan_width = 20, 3225 .chan_num = 16, 3226 }, 3227 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3228 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3229 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3230 }, 3231 .txpwrlimit_config[38] = 3232 { 3233 .num_mod_grps = 20, 3234 .chan_desc = 3235 { 3236 .start_freq = 5000, 3237 .chan_width = 20, 3238 .chan_num = 34, 3239 }, 3240 .txpwrlimit_entry = {{0, 0}, {1, 20}, {2, 20}, {3, 20}, {4, 20}, {5, 20}, {6, 19}, 3241 {7, 0}, {8, 0}, {9, 0}, {10, 16}, {11, 0}, {12, 0}, {13, 0}, 3242 {14, 0}, {15, 0}, {16, 16}, {17, 0}, {18, 0}, {19, 0}}, 3243 }, 3244 #endif 3245 }; 3246 #endif /* CONFIG_5GHz_SUPPORT */ 3247 #endif /* CONFIG_11AX */ 3248 3249 #if CONFIG_11AX 3250 #if CONFIG_COMPRESS_RU_TX_PWTBL 3251 const static uint8_t rutxpowerlimit_bga_cfg_set[] = { 3252 0x6d, 0x02, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x11, 0x11, 0x11, 0x12, 0x00, 3253 0x00, 0x00, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 3254 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 3255 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 3256 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x12, 0x12, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x11, 3257 0x11, 0x00, 0x00, 0x00, 0x0b, 0x0e, 0x11, 0x11, 0x00, 0x00, 0x00, 0x13, 0x13, 0x12, 0x10, 0x00}; 3258 3259 const static uint8_t rutxpowerlimit_qfn_cfg_set[] = { 3260 0x6d, 0x02, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x11, 0x11, 0x11, 0x12, 0x00, 3261 0x00, 0x00, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 3262 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 3263 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 3264 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x12, 0x12, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x11, 3265 0x11, 0x00, 0x00, 0x00, 0x0b, 0x0e, 0x11, 0x11, 0x00, 0x00, 0x00, 0x14, 0x14, 0x12, 0x10, 0x00}; 3266 3267 const static uint8_t rutxpowerlimit_csp_cfg_set[] = { 3268 0x6d, 0x02, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x11, 0x11, 0x11, 0x12, 0x00, 3269 0x00, 0x00, 0x12, 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 3270 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 3271 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 3272 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x12, 0x12, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x11, 3273 0x11, 0x00, 0x00, 0x00, 0x0b, 0x0e, 0x11, 0x11, 0x00, 0x00, 0x00, 0x14, 0x14, 0x11, 0x10, 0x00}; 3274 3275 const static uint8_t rutxpowerlimit_cfg_set_WW[] = { 3276 0x6d, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x04, 0x06, 0x0a, 0x0e, 3277 0x00, 0x00, 0x00, 0x04, 0x06, 0x0a, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x06, 0x0a, 0x0e, 0x00, 0x00, 3278 0x00, 0x06, 0x08, 0x0b, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x05, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x02, 3279 0x05, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x0e, 3280 0x11, 0x00, 0x00, 0x00, 0x06, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 3281 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x08, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 3282 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x64, 0x02, 0x03, 0x00, 0x88, 0x88, 0x00}; 3283 3284 const static uint8_t rutxpowerlimit_cfg_set_FCC[] = { 3285 0x6d, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x11, 0x12, 0x12, 0x12, 3286 0x00, 0x00, 0x00, 0x11, 0x12, 0x12, 0x11, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x11, 0x10, 0x00, 0x00, 3287 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 3288 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x11, 3289 0x11, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x00, 3290 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x08, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 3291 0x13, 0x13, 0x12, 0x10, 0x00, 0x64, 0x02, 0x03, 0x00, 0x88, 0x88, 0x00}; 3292 3293 const static uint8_t rutxpowerlimit_cfg_set_EU[] = { 3294 0x6d, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x06, 0x0b, 0x0f, 0x12, 3295 0x00, 0x00, 0x00, 0x0a, 0x0d, 0x10, 0x12, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x11, 0x00, 0x00, 3296 0x00, 0x0d, 0x0f, 0x11, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 3297 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 3298 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 3299 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 3300 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x64, 0x02, 0x03, 0x00, 0x88, 0x88, 0x00}; 3301 3302 const static uint8_t rutxpowerlimit_cfg_set_JP[] = { 3303 0x6d, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x04, 0x06, 0x0a, 0x0e, 3304 0x00, 0x00, 0x00, 0x04, 0x06, 0x0a, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x06, 0x0a, 0x0e, 0x00, 0x00, 3305 0x00, 0x06, 0x08, 0x0b, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x05, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x02, 3306 0x05, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 3307 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 3308 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x0f, 0x11, 0x00, 0x00, 0x00, 3309 0x13, 0x13, 0x12, 0x10, 0x00, 0x64, 0x02, 0x03, 0x00, 0x88, 0x88, 0x00}; 3310 3311 const static uint8_t rutxpowerlimit_cfg_set_CN[] = { 3312 0x6d, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x05, 0x09, 0x0c, 0x10, 3313 0x00, 0x00, 0x00, 0x05, 0x09, 0x0c, 0x10, 0x00, 0x00, 0x00, 0x05, 0x09, 0x0c, 0x10, 0x00, 0x00, 3314 0x00, 0x06, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 0x06, 3315 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x0e, 3316 0x11, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x0e, 0x11, 0x00, 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x00, 3317 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 3318 0x10, 0x10, 0x10, 0x0f, 0x00, 0x64, 0x02, 0x03, 0x00, 0x88, 0x88, 0x00}; 3319 #else 3320 #define MAX_2G_RU_PWR_CHANNELS 26 3321 #define MAX_5G_RU_PWR_CHANNELS 69 3322 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 3323 const static wlan_rutxpwrlimit_t rutxpowerlimit_2g_cfg_set = { 3324 .num_chans = MAX_2G_RU_PWR_CHANNELS, 3325 .rupwrlimit_config[0] = {.start_freq = 2407, .width = 20, .chan_num = 1, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3326 3327 .rupwrlimit_config[1] = {.start_freq = 2407, .width = 20, .chan_num = 2, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3328 3329 .rupwrlimit_config[2] = {.start_freq = 2407, .width = 20, .chan_num = 3, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3330 3331 .rupwrlimit_config[3] = {.start_freq = 2407, .width = 20, .chan_num = 4, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3332 3333 .rupwrlimit_config[4] = {.start_freq = 2407, .width = 20, .chan_num = 5, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3334 3335 .rupwrlimit_config[5] = {.start_freq = 2407, .width = 20, .chan_num = 6, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3336 3337 .rupwrlimit_config[6] = {.start_freq = 2407, .width = 20, .chan_num = 7, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3338 3339 .rupwrlimit_config[7] = {.start_freq = 2407, .width = 20, .chan_num = 8, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3340 3341 .rupwrlimit_config[8] = {.start_freq = 2407, .width = 20, .chan_num = 9, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3342 3343 .rupwrlimit_config[9] = {.start_freq = 2407, .width = 20, .chan_num = 10, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3344 3345 .rupwrlimit_config[10] = {.start_freq = 2407, .width = 20, .chan_num = 11, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3346 3347 .rupwrlimit_config[11] = {.start_freq = 2407, .width = 20, .chan_num = 12, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3348 3349 .rupwrlimit_config[12] = {.start_freq = 2407, .width = 20, .chan_num = 13, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3350 3351 .rupwrlimit_config[13] = {.start_freq = 2407, .width = 40, .chan_num = 1, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3352 3353 .rupwrlimit_config[14] = {.start_freq = 2407, .width = 40, .chan_num = 2, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3354 3355 .rupwrlimit_config[15] = {.start_freq = 2407, .width = 40, .chan_num = 3, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3356 3357 .rupwrlimit_config[16] = {.start_freq = 2407, .width = 40, .chan_num = 4, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3358 3359 .rupwrlimit_config[17] = {.start_freq = 2407, .width = 40, .chan_num = 5, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3360 3361 .rupwrlimit_config[18] = {.start_freq = 2407, .width = 40, .chan_num = 6, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3362 3363 .rupwrlimit_config[19] = {.start_freq = 2407, .width = 40, .chan_num = 7, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3364 3365 .rupwrlimit_config[20] = {.start_freq = 2407, .width = 40, .chan_num = 8, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3366 3367 .rupwrlimit_config[21] = {.start_freq = 2407, .width = 40, .chan_num = 9, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3368 3369 .rupwrlimit_config[22] = {.start_freq = 2407, .width = 40, .chan_num = 10, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3370 3371 .rupwrlimit_config[23] = {.start_freq = 2407, .width = 40, .chan_num = 11, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3372 3373 .rupwrlimit_config[24] = {.start_freq = 2407, .width = 40, .chan_num = 12, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3374 3375 .rupwrlimit_config[25] = {.start_freq = 2407, .width = 40, .chan_num = 13, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3376 }; 3377 3378 #if CONFIG_5GHz_SUPPORT 3379 // coverity[MISRA C-2012 Rule 2.2:SUPPRESS] 3380 const static wlan_rutxpwrlimit_t rutxpowerlimit_5g_cfg_set = { 3381 .num_chans = MAX_5G_RU_PWR_CHANNELS, 3382 .rupwrlimit_config[0] = {.start_freq = 5000, .width = 20, .chan_num = 36, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3383 3384 .rupwrlimit_config[1] = {.start_freq = 5000, .width = 20, .chan_num = 40, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3385 3386 .rupwrlimit_config[2] = {.start_freq = 5000, .width = 20, .chan_num = 44, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3387 3388 .rupwrlimit_config[3] = {.start_freq = 5000, .width = 20, .chan_num = 48, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3389 3390 .rupwrlimit_config[4] = {.start_freq = 5000, .width = 20, .chan_num = 52, .ruPower = {-2, 1, 4, 7, 0, 0}}, 3391 3392 .rupwrlimit_config[5] = {.start_freq = 5000, .width = 20, .chan_num = 56, .ruPower = {-2, 1, 4, 7, 0, 0}}, 3393 3394 .rupwrlimit_config[6] = {.start_freq = 5000, .width = 20, .chan_num = 60, .ruPower = {-2, 1, 4, 7, 0, 0}}, 3395 3396 .rupwrlimit_config[7] = {.start_freq = 5000, .width = 20, .chan_num = 64, .ruPower = {-2, 1, 4, 7, 0, 0}}, 3397 3398 .rupwrlimit_config[8] = {.start_freq = 5000, .width = 20, .chan_num = 100, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3399 3400 .rupwrlimit_config[9] = {.start_freq = 5000, .width = 20, .chan_num = 104, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3401 3402 .rupwrlimit_config[10] = {.start_freq = 5000, .width = 20, .chan_num = 108, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3403 3404 .rupwrlimit_config[11] = {.start_freq = 5000, .width = 20, .chan_num = 112, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3405 3406 .rupwrlimit_config[12] = {.start_freq = 5000, .width = 20, .chan_num = 116, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3407 3408 .rupwrlimit_config[13] = {.start_freq = 5000, .width = 20, .chan_num = 120, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3409 3410 .rupwrlimit_config[14] = {.start_freq = 5000, .width = 20, .chan_num = 124, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3411 3412 .rupwrlimit_config[15] = {.start_freq = 5000, .width = 20, .chan_num = 128, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3413 3414 .rupwrlimit_config[16] = {.start_freq = 5000, .width = 20, .chan_num = 132, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3415 3416 .rupwrlimit_config[17] = {.start_freq = 5000, .width = 20, .chan_num = 136, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3417 3418 .rupwrlimit_config[18] = {.start_freq = 5000, .width = 20, .chan_num = 140, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3419 3420 .rupwrlimit_config[19] = {.start_freq = 5000, .width = 20, .chan_num = 144, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3421 3422 .rupwrlimit_config[20] = {.start_freq = 5000, .width = 20, .chan_num = 149, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3423 3424 .rupwrlimit_config[21] = {.start_freq = 5000, .width = 20, .chan_num = 153, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3425 3426 .rupwrlimit_config[22] = {.start_freq = 5000, .width = 20, .chan_num = 157, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3427 3428 .rupwrlimit_config[23] = {.start_freq = 5000, .width = 20, .chan_num = 161, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3429 3430 .rupwrlimit_config[24] = {.start_freq = 5000, .width = 20, .chan_num = 165, .ruPower = {-1, 2, 5, 8, 0, 0}}, 3431 3432 .rupwrlimit_config[25] = {.start_freq = 5000, .width = 40, .chan_num = 36, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3433 3434 .rupwrlimit_config[26] = {.start_freq = 5000, .width = 40, .chan_num = 40, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3435 3436 .rupwrlimit_config[27] = {.start_freq = 5000, .width = 40, .chan_num = 44, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3437 3438 .rupwrlimit_config[28] = {.start_freq = 5000, .width = 40, .chan_num = 48, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3439 3440 .rupwrlimit_config[29] = {.start_freq = 5000, .width = 40, .chan_num = 52, .ruPower = {-5, -2, 1, 4, 7, 0}}, 3441 3442 .rupwrlimit_config[30] = {.start_freq = 5000, .width = 40, .chan_num = 56, .ruPower = {-5, -2, 1, 4, 7, 0}}, 3443 3444 .rupwrlimit_config[31] = {.start_freq = 5000, .width = 40, .chan_num = 60, .ruPower = {-5, -2, 1, 4, 7, 0}}, 3445 3446 .rupwrlimit_config[32] = {.start_freq = 5000, .width = 40, .chan_num = 64, .ruPower = {-5, -2, 1, 4, 7, 0}}, 3447 3448 .rupwrlimit_config[33] = {.start_freq = 5000, .width = 40, .chan_num = 100, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3449 3450 .rupwrlimit_config[34] = {.start_freq = 5000, .width = 40, .chan_num = 104, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3451 3452 .rupwrlimit_config[35] = {.start_freq = 5000, .width = 40, .chan_num = 108, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3453 3454 .rupwrlimit_config[36] = {.start_freq = 5000, .width = 40, .chan_num = 112, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3455 3456 .rupwrlimit_config[37] = {.start_freq = 5000, .width = 40, .chan_num = 116, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3457 3458 .rupwrlimit_config[38] = {.start_freq = 5000, .width = 40, .chan_num = 120, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3459 3460 .rupwrlimit_config[39] = {.start_freq = 5000, .width = 40, .chan_num = 124, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3461 3462 .rupwrlimit_config[40] = {.start_freq = 5000, .width = 40, .chan_num = 128, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3463 3464 .rupwrlimit_config[41] = {.start_freq = 5000, .width = 40, .chan_num = 132, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3465 3466 .rupwrlimit_config[42] = {.start_freq = 5000, .width = 40, .chan_num = 136, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3467 3468 .rupwrlimit_config[43] = {.start_freq = 5000, .width = 40, .chan_num = 140, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3469 3470 .rupwrlimit_config[44] = {.start_freq = 5000, .width = 40, .chan_num = 144, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3471 3472 .rupwrlimit_config[45] = {.start_freq = 5000, .width = 40, .chan_num = 149, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3473 3474 .rupwrlimit_config[46] = {.start_freq = 5000, .width = 40, .chan_num = 153, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3475 3476 .rupwrlimit_config[47] = {.start_freq = 5000, .width = 40, .chan_num = 157, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3477 3478 .rupwrlimit_config[48] = {.start_freq = 5000, .width = 40, .chan_num = 161, .ruPower = {-4, -1, 2, 5, 8, 0}}, 3479 3480 .rupwrlimit_config[49] = {.start_freq = 5000, .width = 80, .chan_num = 36, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3481 3482 .rupwrlimit_config[50] = {.start_freq = 5000, .width = 80, .chan_num = 40, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3483 3484 .rupwrlimit_config[51] = {.start_freq = 5000, .width = 80, .chan_num = 44, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3485 3486 .rupwrlimit_config[52] = {.start_freq = 5000, .width = 80, .chan_num = 48, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3487 3488 .rupwrlimit_config[53] = {.start_freq = 5000, .width = 80, .chan_num = 52, .ruPower = {-8, -5, -2, 1, 4, 7}}, 3489 3490 .rupwrlimit_config[54] = {.start_freq = 5000, .width = 80, .chan_num = 56, .ruPower = {-8, -5, -2, 1, 4, 7}}, 3491 3492 .rupwrlimit_config[55] = {.start_freq = 5000, .width = 80, .chan_num = 60, .ruPower = {-8, -5, -2, 1, 4, 7}}, 3493 3494 .rupwrlimit_config[56] = {.start_freq = 5000, .width = 80, .chan_num = 64, .ruPower = {-8, -5, -2, 1, 4, 7}}, 3495 3496 .rupwrlimit_config[57] = {.start_freq = 5000, .width = 80, .chan_num = 100, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3497 3498 .rupwrlimit_config[58] = {.start_freq = 5000, .width = 80, .chan_num = 104, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3499 3500 .rupwrlimit_config[59] = {.start_freq = 5000, .width = 80, .chan_num = 108, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3501 3502 .rupwrlimit_config[60] = {.start_freq = 5000, .width = 80, .chan_num = 112, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3503 3504 .rupwrlimit_config[61] = {.start_freq = 5000, .width = 80, .chan_num = 116, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3505 3506 .rupwrlimit_config[62] = {.start_freq = 5000, .width = 80, .chan_num = 120, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3507 3508 .rupwrlimit_config[63] = {.start_freq = 5000, .width = 80, .chan_num = 124, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3509 3510 .rupwrlimit_config[64] = {.start_freq = 5000, .width = 80, .chan_num = 128, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3511 3512 .rupwrlimit_config[65] = {.start_freq = 5000, .width = 80, .chan_num = 149, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3513 3514 .rupwrlimit_config[66] = {.start_freq = 5000, .width = 80, .chan_num = 153, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3515 3516 .rupwrlimit_config[67] = {.start_freq = 5000, .width = 80, .chan_num = 157, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3517 3518 .rupwrlimit_config[68] = {.start_freq = 5000, .width = 80, .chan_num = 161, .ruPower = {-7, -4, -1, 2, 5, 8}}, 3519 }; 3520 #endif /* CONFIG_5GHz_SUPPORT */ 3521 #endif /* CONFIG_COMPRESS_RU_TX_PWTBL */ 3522 #endif /* CONFIG_11AX */ 3523 3524 #endif /* _WLAN_TXPWRLIMIT_CFG_WW_RW610_H_ */ 3525