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