1 /****************************************************************************** 2 * 3 * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 * You should have received a copy of the GNU General Public License along with 15 * this program; if not, write to the Free Software Foundation, Inc., 16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 17 * 18 * 19 ******************************************************************************/ 20 21 22 #ifndef __RT_CHANNELPLAN_H__ 23 #define __RT_CHANNELPLAN_H__ 24 25 typedef enum _RT_CHANNEL_DOMAIN_NEW 26 { 27 28 //===== Add new channel plan above this line ===============// 29 30 // For new architecture we define different 2G/5G CH area for all country. 31 // 2.4 G only 32 RT_CHANNEL_DOMAIN_2G_WORLD_5G_NULL = 0x20, 33 RT_CHANNEL_DOMAIN_2G_ETSI1_5G_NULL = 0x21, 34 RT_CHANNEL_DOMAIN_2G_FCC1_5G_NULL = 0x22, 35 RT_CHANNEL_DOMAIN_2G_MKK1_5G_NULL = 0x23, 36 RT_CHANNEL_DOMAIN_2G_ETSI2_5G_NULL = 0x24, 37 // 2.4 G + 5G type 1 38 RT_CHANNEL_DOMAIN_2G_FCC1_5G_FCC1 = 0x25, 39 RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x26, 40 //RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x27, 41 // ..... 42 43 RT_CHANNEL_DOMAIN_MAX_NEW, 44 45 }RT_CHANNEL_DOMAIN_NEW, *PRT_CHANNEL_DOMAIN_NEW; 46 47 48 #if 0 49 #define DOMAIN_CODE_2G_WORLD \ 50 {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13 51 #define DOMAIN_CODE_2G_ETSI1 \ 52 {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13 53 #define DOMAIN_CODE_2G_ETSI2 \ 54 {1,2,3,4,5,6,7,8,9,10,11}, 11 55 #define DOMAIN_CODE_2G_FCC1 \ 56 {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 14 57 #define DOMAIN_CODE_2G_MKK1 \ 58 {10,11,12,13}, 4 59 60 #define DOMAIN_CODE_5G_ETSI1 \ 61 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19 62 #define DOMAIN_CODE_5G_ETSI2 \ 63 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,165}, 24 64 #define DOMAIN_CODE_5G_ETSI3 \ 65 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,149,153,157,161,165}, 22 66 #define DOMAIN_CODE_5G_FCC1 \ 67 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,165}, 24 68 #define DOMAIN_CODE_5G_FCC2 \ 69 {36,40,44,48,149,153,157,161,165}, 9 70 #define DOMAIN_CODE_5G_FCC3 \ 71 {36,40,44,48,52,56,60,64,149,153,157,161,165}, 13 72 #define DOMAIN_CODE_5G_FCC4 \ 73 {36,40,44,48,52,56,60,64,149,153,157,161}, 12 74 #define DOMAIN_CODE_5G_FCC5 \ 75 {149,153,157,161,165}, 5 76 #define DOMAIN_CODE_5G_FCC6 \ 77 {36,40,44,48,52,56,60,64}, 8 78 #define DOMAIN_CODE_5G_FCC7 \ 79 {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20 80 #define DOMAIN_CODE_5G_IC1 \ 81 {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20 82 #define DOMAIN_CODE_5G_KCC1 \ 83 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,149,153,157,161,165}, 20 84 #define DOMAIN_CODE_5G_MKK1 \ 85 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19 86 #define DOMAIN_CODE_5G_MKK2 \ 87 {36,40,44,48,52,56,60,64}, 8 88 #define DOMAIN_CODE_5G_MKK3 \ 89 {100,104,108,112,116,120,124,128,132,136,140}, 11 90 #define DOMAIN_CODE_5G_NCC1 \ 91 {56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 24 92 #define DOMAIN_CODE_5G_NCC2 \ 93 {56,60,64,149,153,157,161,165}, 8 94 #define UNDEFINED \ 95 {0}, 0 96 #endif 97 98 // 99 // 100 // 101 /* 102 103 Countries "Country Abbreviation" Domain Code SKU's Ch# of 20MHz 104 2G 5G Ch# of 40MHz 105 "Albania�����ڥ���" AL Local Test 106 107 "Algeria�����ΧQ��" DZ CE TCF 108 109 "Antigua & Barbuda�w���ʮq&�ڥ��F" AG 2G_WORLD FCC TCF 110 111 "Argentina���ڧ�" AR 2G_WORLD Local Test 112 113 "Armenia�Ȭ�����" AM 2G_WORLD ETSI 114 115 "Aruba���|�ڮq" AW 2G_WORLD FCC TCF 116 117 "Australia�D�w" AU 2G_WORLD 5G_ETSI2 118 119 "Austria���a�Q" AT 2G_WORLD 5G_ETSI1 CE 120 121 "Azerbaijan�������" AZ 2G_WORLD CE TCF 122 123 "Bahamas�ګ���" BS 2G_WORLD 124 125 "Barbados�ڤڦh��" BB 2G_WORLD FCC TCF 126 127 "Belgium��Q��" BE 2G_WORLD 5G_ETSI1 CE 128 129 "Bermuda�ʼ}�F" BM 2G_WORLD FCC TCF 130 131 "Brazil�ڦ�" BR 2G_WORLD Local Test 132 133 "Bulgaria�O�[�Q��" BG 2G_WORLD 5G_ETSI1 CE 134 135 "Canada�[���j" CA 2G_FCC1 5G_FCC7 IC / FCC IC / FCC 136 137 "Cayman Islands�}�Ҹs�q" KY 2G_WORLD 5G_ETSI1 CE 138 139 "Chile���Q" CL 2G_WORLD FCC TCF 140 141 "China����" CN 2G_WORLD 5G_FCC5 �H��?�i2002�j353? 142 143 "Columbia���ۤ��" CO 2G_WORLD Voluntary 144 145 "Costa Rica�����F���[" CR 2G_WORLD FCC TCF 146 147 "Cyprus�������" CY 2G_WORLD 5G_ETSI1 CE 148 149 "Czech ���J" CZ 2G_WORLD 5G_ETSI1 CE 150 151 "Denmark����" DK 2G_WORLD 5G_ETSI1 CE 152 153 "Dominican Republic�h�����[�@�M��" DO 2G_WORLD FCC TCF 154 155 "Egypt�J��" EG 2G_WORLD CE T CF 156 157 "El Salvador�ĺ��˦h" SV 2G_WORLD Voluntary 158 159 "Estonia�R�F����" EE 2G_WORLD 5G_ETSI1 CE 160 161 "Finland����" FI 2G_WORLD 5G_ETSI1 CE 162 163 "France�k��" FR 5G_E TSI1 CE 164 165 "Germany�w��" DE 2G_WORLD 5G_ETSI1 CE 166 167 "Greece ��þ" GR 2G_WORLD 5G_ETSI1 CE 168 169 "Guam���q" GU 2G_WORLD 170 171 "Guatemala�ʦa����" GT 2G_WORLD 172 173 "Haiti���a" HT 2G_WORLD FCC TCF 174 175 "Honduras�����Դ�" HN 2G_WORLD FCC TCF 176 177 "Hungary�I���Q" HU 2G_WORLD 5G_ETSI1 CE 178 179 "Iceland�B�q" IS 2G_WORLD 5G_ETSI1 CE 180 181 "India�L��" IN 2G_WORLD 5G_FCC3 FCC/CE TCF 182 183 "Ireland�R����" IE 2G_WORLD 5G_ETSI1 CE 184 185 "Israel�H��C" IL 5G_F CC6 CE TCF 186 187 "Italy�q�j�Q" IT 2G_WORLD 5G_ETSI1 CE 188 189 "Japan�饻" JP 2G_MKK1 5G_MKK1 MKK MKK 190 191 "Korea����" KR 2G_WORLD 5G_KCC1 KCC KCC 192 193 "Latvia�Բ����" LV 2G_WORLD 5G_ETSI1 CE 194 195 "Lithuania�߳��{" LT 2G_WORLD 5G_ETSI1 CE 196 197 "Luxembourg�c�˳�" LU 2G_WORLD 5G_ETSI1 CE 198 199 "Malaysia���Ӧ��" MY 2G_WORLD Local Test 200 201 "Malta�����L" MT 2G_WORLD 5G_ETSI1 CE 202 203 "Mexico�����" MX 2G_WORLD 5G_FCC3 Local Test 204 205 "Morocco������" MA CE TCF 206 207 "Netherlands����" NL 2G_WORLD 5G_ETSI1 CE 208 209 "New Zealand�æ���" NZ 2G_WORLD 5G_ETSI2 210 211 "Norway����" NO 2G_WORLD 5G_ETSI1 CE 212 213 "Panama�ڮ��� " PA 2G_FCC1 Voluntary 214 215 "Philippines���" PH 2G_WORLD FCC TCF 216 217 "Poland�i��" PL 2G_WORLD 5G_ETSI1 CE 218 219 "Portugal�����" PT 2G_WORLD 5G_ETSI1 CE 220 221 "Romaniaù������" RO 2G_WORLD 5G_ETSI1 CE 222 223 "Russia�Xù��" RU 2G_WORLD 5G_ETSI3 CE TCF 224 225 "Saudi Arabia�F�a���ԧB" SA 2G_WORLD CE TCF 226 227 "Singapore�s�[�Y" SG 2G_WORLD 228 229 "Slovakia������J" SK 2G_WORLD 5G_ETSI1 CE 230 231 "Slovenia����������" SI 2G_WORLD 5G_ETSI1 CE 232 233 "South Africa�n�D" ZA 2G_WORLD CE TCF 234 235 "Spain��Z��" ES 5G_ETSI1 CE 236 237 "Sweden���" SE 2G_WORLD 5G_ETSI1 CE 238 239 "Switzerland��h" CH 2G_WORLD 5G_ETSI1 CE 240 241 "Taiwan�O�W" TW 2G_FCC1 5G_NCC1 NCC 242 243 "Thailand����" TH 2G_WORLD FCC/CE TCF 244 245 "Turkey�g�ը�" TR 2G_WORLD 246 247 "Ukraine�Q�J��" UA 2G_WORLD Local Test 248 249 "United Kingdom�^��" GB 2G_WORLD 5G_ETSI1 CE ETSI 250 251 "United States����" US 2G_FCC1 5G_FCC7 FCC FCC 252 253 "Venezuela�e�����" VE 2G_WORLD 5G_FCC4 FCC TCF 254 255 "Vietnam�V�n" VN 2G_WORLD FCC/CE TCF 256 257 258 259 */ 260 261 // Counter abbervation. 262 typedef enum _RT_COUNTRY_DEFINE_NUM 263 { 264 RT_CTRY_AL, // "Albania�����ڥ���" 265 RT_CTRY_DZ, // "Algeria�����ΧQ��" 266 RT_CTRY_AG, // "Antigua & Barbuda�w���ʮq&�ڥ��F" 267 RT_CTRY_AR, // "Argentina���ڧ�" 268 RT_CTRY_AM, // "Armenia�Ȭ�����" 269 RT_CTRY_AW, // "Aruba���|�ڮq" 270 RT_CTRY_AU, // "Australia�D�w" 271 RT_CTRY_AT, // "Austria���a�Q" 272 RT_CTRY_AZ, // "Azerbaijan�������" 273 RT_CTRY_BS, // "Bahamas�ګ���" 274 RT_CTRY_BB, // "Barbados�ڤڦh��" 275 RT_CTRY_BE, // "Belgium��Q��" 276 RT_CTRY_BM, // "Bermuda�ʼ}�F" 277 RT_CTRY_BR, // "Brazil�ڦ�" 278 RT_CTRY_BG, // "Bulgaria�O�[�Q��" 279 RT_CTRY_CA, // "Canada�[���j" 280 RT_CTRY_KY, // "Cayman Islands�}�Ҹs�q" 281 RT_CTRY_CL, // "Chile���Q" 282 RT_CTRY_CN, // "China����" 283 RT_CTRY_CO, // "Columbia���ۤ��" 284 RT_CTRY_CR, // "Costa Rica�����F���[" 285 RT_CTRY_CY, // "Cyprus�������" 286 RT_CTRY_CZ, // "Czech ���J" 287 RT_CTRY_DK, // "Denmark����" 288 RT_CTRY_DO, // "Dominican Republic�h�����[�@�M��" 289 RT_CTRY_CE, // "Egypt�J��" EG 2G_WORLD 290 RT_CTRY_SV, // "El Salvador�ĺ��˦h" 291 RT_CTRY_EE, // "Estonia�R�F����" 292 RT_CTRY_FI, // "Finland����" 293 RT_CTRY_FR, // "France�k��" 294 RT_CTRY_DE, // "Germany�w��" 295 RT_CTRY_GR, // "Greece ��þ" 296 RT_CTRY_GU, // "Guam���q" 297 RT_CTRY_GT, // "Guatemala�ʦa����" 298 RT_CTRY_HT, // "Haiti���a" 299 RT_CTRY_HN, // "Honduras�����Դ�" 300 RT_CTRY_HU, // "Hungary�I���Q" 301 RT_CTRY_IS, // "Iceland�B�q" 302 RT_CTRY_IN, // "India�L��" 303 RT_CTRY_IE, // "Ireland�R����" 304 RT_CTRY_IL, // "Israel�H��C" 305 RT_CTRY_IT, // "Italy�q�j�Q" 306 RT_CTRY_JP, // "Japan�饻" 307 RT_CTRY_KR, // "Korea����" 308 RT_CTRY_LV, // "Latvia�Բ����" 309 RT_CTRY_LT, // "Lithuania�߳��{" 310 RT_CTRY_LU, // "Luxembourg�c�˳�" 311 RT_CTRY_MY, // "Malaysia���Ӧ��" 312 RT_CTRY_MT, // "Malta�����L" 313 RT_CTRY_MX, // "Mexico�����" 314 RT_CTRY_MA, // "Morocco������" 315 RT_CTRY_NL, // "Netherlands����" 316 RT_CTRY_NZ, // "New Zealand�æ���" 317 RT_CTRY_NO, // "Norway����" 318 RT_CTRY_PA, // "Panama�ڮ��� " 319 RT_CTRY_PH, // "Philippines���" 320 RT_CTRY_PL, // "Poland�i��" 321 RT_CTRY_PT, // "Portugal�����" 322 RT_CTRY_RO, // "Romaniaù������" 323 RT_CTRY_RU, // "Russia�Xù��" 324 RT_CTRY_SA, // "Saudi Arabia�F�a���ԧB" 325 RT_CTRY_SG, // "Singapore�s�[�Y" 326 RT_CTRY_SK, // "Slovakia������J" 327 RT_CTRY_SI, // "Slovenia����������" 328 RT_CTRY_ZA, // "South Africa�n�D" 329 RT_CTRY_ES, // "Spain��Z��" 330 RT_CTRY_SE, // "Sweden���" 331 RT_CTRY_CH, // "Switzerland��h" 332 RT_CTRY_TW, // "Taiwan�O�W" 333 RT_CTRY_TH, // "Thailand����" 334 RT_CTRY_TR, // "Turkey�g�ը�" 335 RT_CTRY_UA, // "Ukraine�Q�J��" 336 RT_CTRY_GB, // "United Kingdom�^��" 337 RT_CTRY_US, // "United States����" 338 RT_CTRY_VE, // "Venezuela�e�����" 339 RT_CTRY_VN, // "Vietnam�V�n" 340 RT_CTRY_MAX, // 341 342 }RT_COUNTRY_NAME, *PRT_COUNTRY_NAME; 343 344 // Scan type including active and passive scan. 345 typedef enum _RT_SCAN_TYPE_NEW 346 { 347 SCAN_NULL, 348 SCAN_ACT, 349 SCAN_PAS, 350 SCAN_BOTH, 351 }RT_SCAN_TYPE_NEW, *PRT_SCAN_TYPE_NEW; 352 353 354 // Power table sample. 355 356 typedef struct _RT_CHNL_PLAN_LIMIT 357 { 358 u2Byte Chnl_Start; 359 u2Byte Chnl_end; 360 361 u2Byte Freq_Start; 362 u2Byte Freq_end; 363 }RT_CHNL_PLAN_LIMIT, *PRT_CHNL_PLAN_LIMIT; 364 365 366 // 367 // 2.4G Regulatory Domains 368 // 369 typedef enum _RT_REGULATION_DOMAIN_2G 370 { 371 RT_2G_NULL, 372 RT_2G_WORLD, 373 RT_2G_ETSI1, 374 RT_2G_FCC1, 375 RT_2G_MKK1, 376 RT_2G_ETSI2 377 378 }RT_REGULATION_2G, *PRT_REGULATION_2G; 379 380 381 //typedef struct _RT_CHANNEL_BEHAVIOR 382 //{ 383 // u1Byte Chnl; 384 // RT_SCAN_TYPE_NEW 385 // 386 //}RT_CHANNEL_BEHAVIOR, *PRT_CHANNEL_BEHAVIOR; 387 388 //typedef struct _RT_CHANNEL_PLAN_TYPE 389 //{ 390 // RT_CHANNEL_BEHAVIOR 391 // u1Byte Chnl_num; 392 //}RT_CHNL_PLAN_TYPE, *PRT_CHNL_PLAN_TYPE; 393 394 // 395 // 2.4G Channel Number 396 // Channel definition & number 397 // 398 #define CHNL_RT_2G_NULL \ 399 {0}, 0 400 #define CHNL_RT_2G_WORLD \ 401 {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13 402 #define CHNL_RT_2G_WORLD_TEST \ 403 {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13 404 405 #define CHNL_RT_2G_EFSI1 \ 406 {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13 407 #define CHNL_RT_2G_FCC1 \ 408 {1,2,3,4,5,6,7,8,9,10,11}, 11 409 #define CHNL_RT_2G_MKK1 \ 410 {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 14 411 #define CHNL_RT_2G_ETSI2 \ 412 {10,11,12,13}, 4 413 414 // 415 // 2.4G Channel Active or passive scan. 416 // 417 #define CHNL_RT_2G_NULL_SCAN_TYPE \ 418 {SCAN_NULL} 419 #define CHNL_RT_2G_WORLD_SCAN_TYPE \ 420 {1,1,1,1,1,1,1,1,1,1,1,0,0} 421 #define CHNL_RT_2G_EFSI1_SCAN_TYPE \ 422 {1,1,1,1,1,1,1,1,1,1,1,1,1} 423 #define CHNL_RT_2G_FCC1_SCAN_TYPE \ 424 {1,1,1,1,1,1,1,1,1,1,1} 425 #define CHNL_RT_2G_MKK1_SCAN_TYPE \ 426 {1,1,1,1,1,1,1,1,1,1,1,1,1,1} 427 #define CHNL_RT_2G_ETSI2_SCAN_TYPE \ 428 {1,1,1,1} 429 430 431 // 432 // 2.4G Band & Frequency Section 433 // Freqency start & end / band number 434 // 435 #define FREQ_RT_2G_NULL \ 436 {0}, 0 437 // Passive scan CH 12, 13 438 #define FREQ_RT_2G_WORLD \ 439 {2412, 2472}, 1 440 #define FREQ_RT_2G_EFSI1 \ 441 {2412, 2472}, 1 442 #define FREQ_RT_2G_FCC1 \ 443 {2412, 2462}, 1 444 #define FREQ_RT_2G_MKK1 \ 445 {2412, 2484}, 1 446 #define FREQ_RT_2G_ETSI2 \ 447 {2457, 2472}, 1 448 449 450 // 451 // 5G Regulatory Domains 452 // 453 typedef enum _RT_REGULATION_DOMAIN_5G 454 { 455 RT_5G_NULL, 456 RT_5G_WORLD, 457 RT_5G_ETSI1, 458 RT_5G_ETSI2, 459 RT_5G_ETSI3, 460 RT_5G_FCC1, 461 RT_5G_FCC2, 462 RT_5G_FCC3, 463 RT_5G_FCC4, 464 RT_5G_FCC5, 465 RT_5G_FCC6, 466 RT_5G_FCC7, 467 RT_5G_IC1, 468 RT_5G_KCC1, 469 RT_5G_MKK1, 470 RT_5G_MKK2, 471 RT_5G_MKK3, 472 RT_5G_NCC1, 473 474 }RT_REGULATION_5G, *PRT_REGULATION_5G; 475 476 // 477 // 5G Channel Number 478 // 479 #define CHNL_RT_5G_NULL \ 480 {0}, 0 481 #define CHNL_RT_5G_WORLD \ 482 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19 483 #define CHNL_RT_5G_ETSI1 \ 484 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,165}, 24 485 #define CHNL_RT_5G_ETSI2 \ 486 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,149,153,157,161,165}, 22 487 #define CHNL_RT_5G_ETSI3 \ 488 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,165}, 24 489 #define CHNL_RT_5G_FCC1 \ 490 {36,40,44,48,149,153,157,161,165}, 9 491 #define CHNL_RT_5G_FCC2 \ 492 {36,40,44,48,52,56,60,64,149,153,157,161,165}, 13 493 #define CHNL_RT_5G_FCC3 \ 494 {36,40,44,48,52,56,60,64,149,153,157,161}, 12 495 #define CHNL_RT_5G_FCC4 \ 496 {149,153,157,161,165}, 5 497 #define CHNL_RT_5G_FCC5 \ 498 {36,40,44,48,52,56,60,64}, 8 499 #define CHNL_RT_5G_FCC6 \ 500 {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20 501 #define CHNL_RT_5G_FCC7 \ 502 {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20 503 #define CHNL_RT_5G_IC1 \ 504 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,149,153,157,161,165}, 20 505 #define CHNL_RT_5G_KCC1 \ 506 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19 507 #define CHNL_RT_5G_MKK1 \ 508 {36,40,44,48,52,56,60,64}, 8 509 #define CHNL_RT_5G_MKK2 \ 510 {100,104,108,112,116,120,124,128,132,136,140}, 11 511 #define CHNL_RT_5G_MKK3 \ 512 {56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 24 513 #define CHNL_RT_5G_NCC1 \ 514 {56,60,64,149,153,157,161,165}, 8 515 516 // 517 // 5G Channel Active or passive scan. 518 // 519 #define CHNL_RT_5G_NULL_SCAN_TYPE \ 520 {SCAN_NULL} 521 #define CHNL_RT_5G_WORLD_SCAN_TYPE \ 522 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} 523 #define CHNL_RT_5G_ETSI1_SCAN_TYPE \ 524 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} 525 #define CHNL_RT_5G_ETSI2_SCAN_TYPE \ 526 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,149,153,157,161,165}, 22 527 #define CHNL_RT_5G_ETSI3_SCAN_TYPE \ 528 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,165}, 24 529 #define CHNL_RT_5G_FCC1_SCAN_TYPE \ 530 {36,40,44,48,149,153,157,161,165}, 9 531 #define CHNL_RT_5G_FCC2_SCAN_TYPE \ 532 {36,40,44,48,52,56,60,64,149,153,157,161,165}, 13 533 #define CHNL_RT_5G_FCC3_SCAN_TYPE \ 534 {36,40,44,48,52,56,60,64,149,153,157,161}, 12 535 #define CHNL_RT_5G_FCC4_SCAN_TYPE \ 536 {149,153,157,161,165}, 5 537 #define CHNL_RT_5G_FCC5_SCAN_TYPE \ 538 {36,40,44,48,52,56,60,64}, 8 539 #define CHNL_RT_5G_FCC6_SCAN_TYPE \ 540 {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20 541 #define CHNL_RT_5G_FCC7_SCAN_TYPE \ 542 {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20 543 #define CHNL_RT_5G_IC1_SCAN_TYPE \ 544 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,149,153,157,161,165}, 20 545 #define CHNL_RT_5G_KCC1_SCAN_TYPE \ 546 {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19 547 #define CHNL_RT_5G_MKK1_SCAN_TYPE \ 548 {36,40,44,48,52,56,60,64}, 8 549 #define CHNL_RT_5G_MKK2_SCAN_TYPE \ 550 {100,104,108,112,116,120,124,128,132,136,140}, 11 551 #define CHNL_RT_5G_MKK3_SCAN_TYPE \ 552 {56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 24 553 #define CHNL_RT_5G_NCC1_SCAN_TYPE \ 554 {56,60,64,149,153,157,161,165}, 8 555 556 // 557 // Global Regulation 558 // 559 typedef enum _RT_REGULATION_COMMON 560 { 561 RT_WORLD, 562 RT_FCC, 563 RT_MKK, 564 RT_ETSI, 565 RT_IC, 566 RT_CE, 567 RT_NCC, 568 569 }RT_REGULATION_CMN, *PRT_REGULATION_CMN; 570 571 572 573 // 574 // Special requirement for different regulation domain. 575 // For internal test or customerize special request. 576 // 577 typedef enum _RT_CHNLPLAN_SREQ 578 { 579 RT_SREQ_NA = 0x0, 580 RT_SREQ_2G_ADHOC_11N = 0x00000001, 581 RT_SREQ_2G_ADHOC_11B = 0x00000002, 582 RT_SREQ_2G_ALL_PASS = 0x00000004, 583 RT_SREQ_2G_ALL_ACT = 0x00000008, 584 RT_SREQ_5G_ADHOC_11N = 0x00000010, 585 RT_SREQ_5G_ADHOC_11AC = 0x00000020, 586 RT_SREQ_5G_ALL_PASS = 0x00000040, 587 RT_SREQ_5G_ALL_ACT = 0x00000080, 588 RT_SREQ_C1_PLAN = 0x00000100, 589 RT_SREQ_C2_PLAN = 0x00000200, 590 RT_SREQ_C3_PLAN = 0x00000400, 591 RT_SREQ_C4_PLAN = 0x00000800, 592 RT_SREQ_NFC_ON = 0x00001000, 593 RT_SREQ_MASK = 0x0000FFFF, /* Requirements bit mask */ 594 595 }RT_CHNLPLAN_SREQ, *PRT_CHNLPLAN_SREQ; 596 597 598 // 599 // RT_COUNTRY_NAME & RT_REGULATION_2G & RT_REGULATION_5G transfer table 600 // 601 // 602 typedef struct _RT_CHANNEL_PLAN_COUNTRY_TRANSFER_TABLE 603 { 604 // 605 // Define countery domain and corresponding 606 // 607 RT_COUNTRY_NAME Country_Enum; 608 char Country_Name[3]; 609 610 //char Domain_Name[12]; 611 RT_REGULATION_2G Domain_2G; 612 613 RT_REGULATION_5G Domain_5G; 614 615 RT_CHANNEL_DOMAIN RtChDomain; 616 //u1Byte Country_Area; 617 618 }RT_CHNL_CTRY_TBL, *PRT_CHNL_CTRY_TBL; 619 620 621 #define RT_MAX_CHNL_NUM_2G 13 622 #define RT_MAX_CHNL_NUM_5G 44 623 624 // Power table sample. 625 626 typedef struct _RT_CHNL_PLAN_PWR_LIMIT 627 { 628 u2Byte Chnl_Start; 629 u2Byte Chnl_end; 630 u1Byte dB_Max; 631 u2Byte mW_Max; 632 }RT_CHNL_PWR_LIMIT, *PRT_CHNL_PWR_LIMIT; 633 634 635 #define RT_MAX_BAND_NUM 5 636 637 typedef struct _RT_CHANNEL_PLAN_MAXPWR 638 { 639 // STRING_T 640 RT_CHNL_PWR_LIMIT Chnl[RT_MAX_BAND_NUM]; 641 u1Byte Band_Useful_Num; 642 643 644 }RT_CHANNEL_PLAN_MAXPWR, *PRT_CHANNEL_PLAN_MAXPWR; 645 646 647 // 648 // Power By Rate Table. 649 // 650 651 652 653 typedef struct _RT_CHANNEL_PLAN_NEW 654 { 655 // 656 // Define countery domain and corresponding 657 // 658 //char Country_Name[36]; 659 //u1Byte Country_Enum; 660 661 //char Domain_Name[12]; 662 663 664 PRT_CHNL_CTRY_TBL pCtryTransfer; 665 666 RT_CHANNEL_DOMAIN RtChDomain; 667 668 RT_REGULATION_2G Domain_2G; 669 670 RT_REGULATION_5G Domain_5G; 671 672 RT_REGULATION_CMN Regulator; 673 674 RT_CHNLPLAN_SREQ ChnlSreq; 675 676 //RT_CHNL_PLAN_LIMIT RtChnl; 677 678 u1Byte Chnl2G[MAX_CHANNEL_NUM]; // CHNL_RT_2G_WORLD 679 u1Byte Len2G; 680 u1Byte Chnl2GScanTp[MAX_CHANNEL_NUM]; // CHNL_RT_2G_WORLD_SCAN_TYPE 681 //u1Byte Freq2G[2]; // FREQ_RT_2G_WORLD 682 683 u1Byte Chnl5G[MAX_CHANNEL_NUM]; 684 u1Byte Len5G; 685 u1Byte Chnl5GScanTp[MAX_CHANNEL_NUM]; 686 //u1Byte Freq2G[2]; // FREQ_RT_2G_WORLD 687 688 RT_CHANNEL_PLAN_MAXPWR ChnlMaxPwr; 689 690 691 }RT_CHANNEL_PLAN_NEW, *PRT_CHANNEL_PLAN_NEW; 692 693 694 #endif // __RT_CHANNELPLAN_H__ 695 696 697 698 699 700