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 23 History: 24 Data Who Remark (Internal History) 25 26 05/14/2012 MH Collect RTK inernal infromation and generate channel plan draft. 27 28 ******************************************************************************/ 29 30 //============================================================ 31 // include files 32 //============================================================ 33 #include "mp_precomp.h" 34 #include "rtchnlplan.h" 35 36 37 38 // 39 // Channel Plan Domain Code 40 // 41 42 /* 43 Channel Plan Contents 44 Domain Code EEPROM Countries in Specific Domain 45 2G RD 5G RD Bit[6:0] 2G 5G 46 Case Old Define 00h~1Fh Old Define Old Define 47 1 2G_WORLD 5G_NULL 20h Worldwird 13 NA 48 2 2G_ETSI1 5G_NULL 21h Europe 2G NA 49 3 2G_FCC1 5G_NULL 22h US 2G NA 50 4 2G_MKK1 5G_NULL 23h Japan 2G NA 51 5 2G_ETSI2 5G_NULL 24h France 2G NA 52 6 2G_FCC1 5G_FCC1 25h US 2G US 5G �K�j��{�� 53 7 2G_WORLD 5G_ETSI1 26h Worldwird 13 Europe �K�j��{�� 54 8 2G_MKK1 5G_MKK1 27h Japan 2G Japan 5G �K�j��{�� 55 9 2G_WORLD 5G_KCC1 28h Worldwird 13 Korea �K�j��{�� 56 10 2G_WORLD 5G_FCC2 29h Worldwird 13 US o/w DFS Channels 57 11 2G_WORLD 5G_FCC3 30h Worldwird 13 India, Mexico 58 12 2G_WORLD 5G_FCC4 31h Worldwird 13 Venezuela 59 13 2G_WORLD 5G_FCC5 32h Worldwird 13 China 60 14 2G_WORLD 5G_FCC6 33h Worldwird 13 Israel 61 15 2G_FCC1 5G_FCC7 34h US 2G US/Canada �K�j��{�� 62 16 2G_WORLD 5G_ETSI2 35h Worldwird 13 Australia, New Zealand �K�j��{�� 63 17 2G_WORLD 5G_ETSI3 36h Worldwird 13 Russia 64 18 2G_MKK1 5G_MKK2 37h Japan 2G Japan (W52, W53) 65 19 2G_MKK1 5G_MKK3 38h Japan 2G Japan (W56) 66 20 2G_FCC1 5G_NCC1 39h US 2G Taiwan �K�j��{�� 67 68 NA 2G_WORLD 5G_FCC1 7F FCC FCC DFS Channels Realtek Define 69 70 71 72 73 74 2.4G Regulatory Domains 75 Case 2G RD Regulation Channels Frequencyes Note Countries in Specific Domain 76 1 2G_WORLD ETSI 1~13 2412~2472 Passive scan CH 12, 13 Worldwird 13 77 2 2G_ETSI1 ETSI 1~13 2412~2472 Europe 78 3 2G_FCC1 FCC 1~11 2412~2462 US 79 4 2G_MKK1 MKK 1~13, 14 2412~2472, 2484 Japan 80 5 2G_ETSI2 ETSI 10~13 2457~2472 France 81 82 83 84 85 5G Regulatory Domains 86 Case 5G RD Regulation Channels Frequencyes Note Countries in Specific Domain 87 1 5G_NULL NA NA NA Do not support 5GHz 88 2 5G_ETSI1 ETSI "36~48, 52~64, 89 100~140" "5180~5240, 5260~5230 90 5500~5700" Band1, Ban2, Band3 Europe 91 3 5G_ETSI2 ETSI "36~48, 52~64, 92 100~140, 149~165" "5180~5240, 5260~5230 93 5500~5700, 5745~5825" Band1, Ban2, Band3, Band4 Australia, New Zealand 94 4 5G_ETSI3 ETSI "36~48, 52~64, 95 100~132, 149~165" 96 "5180~5240, 5260~5230 97 5500~5660, 5745~5825" Band1, Ban2, Band3(except CH 136, 140), Band4" Russia 98 5 5G_FCC1 FCC "36~48, 52~64, 99 100~140, 149~165" 100 "5180~5240, 5260~5230 101 5500~5700, 5745~5825" Band1(5150~5250MHz), 102 Band2(5250~5350MHz), 103 Band3(5470~5725MHz), 104 Band4(5725~5850MHz)" US 105 6 5G_FCC2 FCC 36~48, 149~165 5180~5240, 5745~5825 Band1, Band4 FCC o/w DFS Channels 106 7 5G_FCC3 FCC "36~48, 52~64, 107 149~165" "5180~5240, 5260~5230 108 5745~5825" Band1, Ban2, Band4 India, Mexico 109 8 5G_FCC4 FCC "36~48, 52~64, 110 149~161" "5180~5240, 5260~5230 111 5745~5805" Band1, Ban2, 112 Band4(except CH 165)" Venezuela 113 9 5G_FCC5 FCC 149~165 5745~5825 Band4 China 114 10 5G_FCC6 FCC 36~48, 52~64 5180~5240, 5260~5230 Band1, Band2 Israel 115 11 5G_FCC7 116 5G_IC1 FCC 117 IC" "36~48, 52~64, 118 100~116, 136, 140, 119 149~165" "5180~5240, 5260~5230 120 5500~5580, 5680, 5700, 121 5745~5825" "Band1, Band2, 122 Band3(except 5600~5650MHz), 123 Band4" "US 124 Canada" 125 12 5G_KCC1 KCC "36~48, 52~64, 126 100~124, 149~165" "5180~5240, 5260~5230 127 5500~5620, 5745~5825" "Band1, Ban2, 128 Band3(5470~5650MHz), 129 Band4" Korea 130 13 5G_MKK1 MKK "36~48, 52~64, 131 100~140" "5180~5240, 5260~5230 132 5500~5700" W52, W53, W56 Japan 133 14 5G_MKK2 MKK 36~48, 52~64 5180~5240, 5260~5230 W52, W53 Japan (W52, W53) 134 15 5G_MKK3 MKK 100~140 5500~5700 W56 Japan (W56) 135 16 5G_NCC1 NCC "56~64, 136 100~116, 136, 140, 137 149~165" "5260~5320 138 5500~5580, 5680, 5700, 139 5745~5825" "Band2(except CH 52), 140 Band3(except 5600~5650MHz), 141 Band4" Taiwan 142 143 144 */ 145 146 // 147 // 2.4G CHannel 148 // 149 /* 150 151 2.4G Band Regulatory Domains RTL8192D 152 Channel Number Channel Frequency US Canada Europe Spain France Japan Japan 20M 40M 153 (MHz) (FCC) (IC) (ETSI) (MPHPT) 154 1 2412 v v v v v 155 2 2417 v v v v v 156 3 2422 v v v v v v 157 4 2427 v v v v v v 158 5 2432 v v v v v v 159 6 2437 v v v v v v 160 7 2442 v v v v v v 161 8 2447 v v v v v v 162 9 2452 v v v v v v 163 10 2457 v v v v v v v v 164 11 2462 v v v v v v v v 165 12 2467 v v v v v 166 13 2472 v v v v 167 14 2484 v v 168 169 170 */ 171 172 173 // 174 // 5G Operating Channel 175 // 176 /* 177 178 5G Band RTL8192D RTL8195 (Jaguar) Jaguar 2 Regulatory Domains 179 Channel Number Channel Frequency Global Global Global "US 180 (FCC 15.407)" "Canada 181 (FCC, except 5.6~5.65GHz)" Argentina, Australia, New Zealand, Brazil, S. Africa (FCC/ETSI) "Europe 182 (CE 301 893)" China India, Mexico, Singapore Israel, Turkey "Japan 183 (MIC Item 19-3, 19-3-2)" Korea Russia, Ukraine "Taiwan 184 (NCC)" Venezuela 185 (MHz) (20MHz) (20MHz) (40MHz) (80MHz) (160MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) (20MHz) 186 "Band 1 187 5.15GHz 188 ~ 189 5.25GHz" 36 5180 v v v v v Indoor Indoor v Indoor v Indoor Indoor v v v 190 40 5200 v v v Indoor Indoor v Indoor v Indoor Indoor v v v 191 44 5220 v v v v Indoor Indoor v Indoor v Indoor Indoor v v v 192 48 5240 v v v Indoor Indoor v Indoor v Indoor Indoor v v v 193 "Band 2 194 5.25GHz 195 ~ 196 5.35GHz 197 (DFS)" 52 5260 v v v v v v v v Indoor v Indoor Indoor v v v 198 56 5280 v v v v v v Indoor v Indoor Indoor v v Indoor v 199 60 5300 v v v v v v v Indoor v Indoor Indoor v v Indoor v 200 64 5320 v v v v v v Indoor v Indoor Indoor v v Indoor v 201 202 "Band 3 203 5.47GHz 204 ~ 205 5.725GHz 206 (DFS)" 100 5500 v v v v v v v v v v v v v 207 104 5520 v v v v v v v v v v v 208 108 5540 v v v v v v v v v v v v 209 112 5560 v v v v v v v v v v v 210 116 5580 v v v v v v v v v v v v v 211 120 5600 v v v Indoor v Indoor v v v 212 124 5620 v v v v Indoor v Indoor v v v 213 128 5640 v v v Indoor v Indoor v v 214 132 5660 v v v E v Indoor v Indoor v v 215 136 5680 v v v v v v v v v 216 140 5700 v v E v v v v v v v 217 144 5720 E E E 218 "Band 4 219 5.725GHz 220 ~ 221 5.85GHz 222 (~5.9GHz)" 149 5745 v v v v v v v v v v v v v v 223 153 5765 v v v v v v v v v v v v 224 157 5785 v v v v v v v v v v v v v 225 161 5805 v v v v v v v v v v v v 226 165 5825 v v P P v v v v v v v v v 227 169 5845 P P P 228 173 5865 P P P P 229 177 5885 P P P 230 Channel Count 28 28 14 7 0 28 24 20 24 19 5 13 8 19 20 22 15 12 231 E: FCC accepted the ask for CH144 from Accord. PS: 160MHz �� 80MHz+80MHz��{�H Argentina Belgium (��Q��) India Israel Russia 232 P: Customer's requirement from James. Australia The Netherlands (����) Mexico Turkey Ukraine 233 New Zealand UK (�^��) Singapore 234 Brazil Switzerland (��h) 235 236 237 */ 238 239 /*---------------------------Define Local Constant---------------------------*/ 240 241 242 // define Maximum Power v.s each band for each region 243 // ISRAEL 244 // Format: 245 // RT_CHANNEL_DOMAIN_Region ={{{Chnl_Start, Chnl_end, Pwr_dB_Max}, {Chn2_Start, Chn2_end, Pwr_dB_Max}, {Chn3_Start, Chn3_end, Pwr_dB_Max}, {Chn4_Start, Chn4_end, Pwr_dB_Max}, {Chn5_Start, Chn5_end, Pwr_dB_Max}}, Limit_Num} */ 246 // RT_CHANNEL_DOMAIN_FCC ={{{01,11,30}, {36,48,17}, {52,64,24}, {100,140,24}, {149,165,30}}, 5} 247 // "NR" is non-release channle. 248 // Issue--- Israel--Russia--New Zealand 249 // DOMAIN_01= (2G_WORLD, 5G_NULL) 250 // DOMAIN_02= (2G_ETSI1, 5G_NULL) 251 // DOMAIN_03= (2G_FCC1, 5G_NULL) 252 // DOMAIN_04= (2G_MKK1, 5G_NULL) 253 // DOMAIN_05= (2G_ETSI2, 5G_NULL) 254 // DOMAIN_06= (2G_FCC1, 5G_FCC1) 255 // DOMAIN_07= (2G_WORLD, 5G_ETSI1) 256 // DOMAIN_08= (2G_MKK1, 5G_MKK1) 257 // DOMAIN_09= (2G_WORLD, 5G_KCC1) 258 // DOMAIN_10= (2G_WORLD, 5G_FCC2) 259 // DOMAIN_11= (2G_WORLD, 5G_FCC3)----india 260 // DOMAIN_12= (2G_WORLD, 5G_FCC4)----Venezuela 261 // DOMAIN_13= (2G_WORLD, 5G_FCC5)----China 262 // DOMAIN_14= (2G_WORLD, 5G_FCC6)----Israel 263 // DOMAIN_15= (2G_FCC1, 5G_FCC7)-----Canada 264 // DOMAIN_16= (2G_WORLD, 5G_ETSI2)---Australia 265 // DOMAIN_17= (2G_WORLD, 5G_ETSI3)---Russia 266 // DOMAIN_18= (2G_MKK1, 5G_MKK2)-----Japan 267 // DOMAIN_19= (2G_MKK1, 5G_MKK3)-----Japan 268 // DOMAIN_20= (2G_FCC1, 5G_NCC1)-----Taiwan 269 // DOMAIN_21= (2G_FCC1, 5G_NCC1)-----Taiwan 270 271 272 static RT_CHANNEL_PLAN_MAXPWR ChnlPlanPwrMax_2G[] = { 273 274 // 2G_WORLD, 275 {{1, 13, 20}, 1}, 276 277 // 2G_ETSI1 278 {{1, 13, 20}, 1}, 279 280 /* RT_CHANNEL_DOMAIN_ETSI */ 281 {{{1, 11, 17}, {40, 56, 17}, {60, 128, 17}, {0, 0, 0}, {149, 165, 17}}, 4}, 282 283 // RT_CHANNEL_DOMAIN_MKK 284 {{{1, 11, 17}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, 1}, 285 286 // Add new channel plan mex power table. 287 // ...... 288 }; 289 290 291 /* 292 //===========================================1:(2G_WORLD, 5G_NULL) 293 294 RT_CHANNEL_PLAN_MAXPWR RT_DOMAIN_01 ={{{01,13,20}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}}, 1} 295 296 //===========================================2:(2G_ETSI1, 5G_NULL) 297 298 RT_DOMAIN_02 ={{{01,13,20}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}}, 1} 299 300 //===========================================3:(2G_FCC1, 5G_NULL) 301 302 RT_DOMAIN_03 ={{{01,11,30}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}}, 1} 303 304 //===========================================4:(2G_MKK1, 5G_NULL) 305 306 RT_DOMAIN_04 ={{{01,14,23}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}}, 1} 307 308 //===========================================5:(2G_ETSI2, 5G_NULL) 309 310 RT_DOMAIN_05 ={{{10,13,20}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}}, 1} 311 312 //===========================================6:(2G_FCC1, 5G_FCC1) 313 314 RT_DOMAIN_06 ={{{01,13,30}, {36,48,17}, {52,64,24}, {100,140,24}, {149,165,30}}, 5} 315 316 //===========================================7:(2G_WORLD, 5G_ETSI1) 317 318 RT_DOMAIN_07 ={{{01,13,20}, {36,48,23}, {52,64,23}, {100,140,30}, {NR,NR,0}}, 4} 319 320 //===========================================8:(2G_MKK1, 5G_MKK1) 321 322 RT_DOMAIN_08 ={{{01,14,23}, {36,48,23}, {52,64,23}, {100,140,23}, {NR,NR,0}}, 4} 323 324 //===========================================9:(2G_WORLD, 5G_KCC1) 325 326 RT_DOMAIN_09 ={{{01,13,20}, {36,48,17}, {52,64,23}, {100,124,23}, {149,165,23}}, 5} 327 328 //===========================================10:(2G_WORLD, 5G_FCC2) 329 330 RT_DOMAIN_10 ={{{01,13,20}, {36,48,17}, {NR,NR,0}, {NR,NR,0}, {149,165,30}}, 3} 331 332 //===========================================11:(2G_WORLD, 5G_FCC3) 333 RT_DOMAIN_11 ={{{01,13,20}, {36,48,23}, {52,64,23}, {NR,NR,0}, {149,165,23}}, 4} 334 335 //===========================================12:(2G_WORLD, 5G_FCC4) 336 RT_DOMAIN_12 ={{{01,13,20}, {36,48,24}, {52,64,24}, {NR,NR,0}, {149,161,27}}, 4} 337 338 //===========================================13:(2G_WORLD, 5G_FCC5) 339 RT_DOMAIN_13 ={{{01,13,20}, {NR,NR,0}, {NR,NR,0}, {NR,NR,0}, {149,165,27}}, 2} 340 341 //===========================================14:(2G_WORLD, 5G_FCC6) 342 RT_DOMAIN_14 ={{{01,13,20}, {36,48,17}, {52,64,17}, {NR,NR,0}, {NR,NR,0}}, 3} 343 344 //===========================================15:(2G_FCC1, 5G_FCC7) 345 RT_DOMAIN_15 ={{{01,11,30}, {36,48,23}, {52,64,24}, {100,140,24}, {149,165,30}}, 5} 346 347 //===========================================16:(2G_WORLD, 5G_ETSI2) 348 RT_DOMAIN_16 ={{{01,13,20}, {36,48,23}, {52,64,23}, {100,140,30}, {149,165,30}}, 5} 349 350 //===========================================17:(2G_WORLD, 5G_ETSI3) 351 RT_DOMAIN_17 ={{{01,13,20}, {36,48,23}, {52,64,23}, {100,132,30}, {149,165,20}}, 5} 352 353 //===========================================18:(2G_MKK1, 5G_MKK2) 354 RT_DOMAIN_18 ={{{01,14,23}, {36,48,23}, {52,64,23}, {NR,NR,0}, {NR,NR,0}}, 3} 355 356 //===========================================19:(2G_MKK1, 5G_MKK3) 357 RT_DOMAIN_19 ={{{01,14,23}, {NR,NR,0}, {NR,NR,0}, {100,140,23}, {NR,NR,0}}, 2} 358 359 //===========================================20:(2G_FCC1, 5G_NCC1) 360 RT_DOMAIN_20 ={{{01,11,30}, {NR,NR,0}, {56,64,23}, {100,140,24}, {149,165,30}}, 4} 361 362 //===========================================21:(2G_FCC1, 5G_NCC2) 363 RT_DOMAIN_21 ={{{01,11,30}, {NR,NR,0}, {56,64,23}, {NR,NR,0}, {149,165,30}}, 3} 364 365 //===========================================22:(2G_WORLD, 5G_FCC3) 366 RT_DOMAIN_22 ={{{01,13,24}, {36,48,20}, {52,64,24}, {NR,NR,0}, {149,165,30}}, 4} 367 368 //===========================================23:(2G_WORLD, 5G_ETSI2) 369 RT_DOMAIN_23 ={{{01,13,20}, {36,48,23}, {52,64,23}, {100,140,30}, {149,165,30}}, 5} 370 371 */ 372 373 // 374 // Counter & Realtek Channel plan transfer table. 375 // 376 RT_CHNL_CTRY_TBL RtCtryChnlTbl[] = 377 { 378 379 { 380 RT_CTRY_AL, // "Albania�����ڥ���" 381 "AL", 382 RT_2G_WORLD, 383 RT_5G_WORLD, 384 RT_CHANNEL_DOMAIN_UNDEFINED // 2G/5G world. 385 }, 386 #if 0 387 { 388 RT_CTRY_BB, // "Barbados�ڤڦh��" 389 "BB", 390 RT_2G_WORLD, 391 RT_5G_NULL, 392 RT_CHANNEL_DOMAIN_EFUSE_0x20 // 2G world. 5G_NULL 393 }, 394 395 { 396 RT_CTRY_DE, // "Germany�w��" 397 "DE", 398 RT_2G_WORLD, 399 RT_5G_ETSI1, 400 RT_CHANNEL_DOMAIN_EFUSE_0x26 401 }, 402 403 { 404 RT_CTRY_US, // "Germany�w��" 405 "US", 406 RT_2G_FCC1, 407 RT_5G_FCC7, 408 RT_CHANNEL_DOMAIN_EFUSE_0x34 409 }, 410 411 { 412 RT_CTRY_JP, // "Germany�w��" 413 "JP", 414 RT_2G_MKK1, 415 RT_5G_MKK1, 416 RT_CHANNEL_DOMAIN_EFUSE_0x34 417 }, 418 419 { 420 RT_CTRY_TW, // "Germany�w��" 421 "TW", 422 RT_2G_FCC1, 423 RT_5G_NCC1, 424 RT_CHANNEL_DOMAIN_EFUSE_0x39 425 }, 426 #endif 427 428 }; // RtCtryChnlTbl 429 430 // 431 // Realtek Defined Channel plan. 432 // 433 #if 0 434 435 static RT_CHANNEL_PLAN_NEW RtChnlPlan[] = 436 { 437 // Channel Plan 0x20. 438 { 439 &RtCtryChnlTbl[1], // RT_CHNL_CTRY_TBL Country & channel plan transfer table. 440 RT_CHANNEL_DOMAIN_EFUSE_0x20, // RT_CHANNEL_DOMAIN RT Channel Plan Define 441 RT_2G_WORLD, // RT_REGULATION_2G 442 RT_5G_NULL, // RT_REGULATION_5G 443 RT_WORLD, // RT_REGULATION_CMN RT Regulatory domain definition. 444 RT_SREQ_NA, // RT Channel plan special & customerize requirement. 445 446 CHNL_RT_2G_WORLD, 447 CHNL_RT_2G_WORLD_SCAN_TYPE, 448 &ChnlPlanPwrMax_2G[0], 449 450 CHNL_RT_5G_NULL, 451 CHNL_RT_5G_NULL_SCAN_TYPE, 452 453 454 }, 455 456 // Channel Plan 0x26. 457 { 458 &RtCtryChnlTbl[1], // RT_CHNL_CTRY_TBL Country & channel plan transfer table. 459 RT_CHANNEL_DOMAIN_EFUSE_0x26, // RT_CHANNEL_DOMAIN RT Channel Plan Define 460 RT_2G_WORLD, // RT_REGULATION_2G 461 RT_5G_ETSI1, // RT_REGULATION_5G 462 RT_WORLD, // RT_REGULATION_CMN RT Regulatory domain definition. 463 RT_SREQ_NA, // RT Channel plan special & customerize requirement. 464 465 CHNL_RT_2G_WORLD, // 2G workd cannel 466 CHNL_RT_2G_WORLD_SCAN_TYPE, 467 &ChnlPlanPwrMax_2G[1], 468 469 CHNL_RT_5G_ETSI1, 470 CHNL_RT_5G_ETSI1_SCAN_TYPE, 471 472 } 473 474 475 }; 476 #endif 477 478 479 480 481