1 /******************************************************************************
3 * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
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.
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
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
19 ******************************************************************************/
22 #ifndef __RT_CHANNELPLAN_H__
23 #define __RT_CHANNELPLAN_H__
25 enum rt_channel_domain_new {
27 /* ===== Add new channel plan above this line =============== */
29 /* For new architecture we define different 2G/5G CH area for all country. */
31 RT_CHANNEL_DOMAIN_2G_WORLD_5G_NULL = 0x20,
32 RT_CHANNEL_DOMAIN_2G_ETSI1_5G_NULL = 0x21,
33 RT_CHANNEL_DOMAIN_2G_FCC1_5G_NULL = 0x22,
34 RT_CHANNEL_DOMAIN_2G_MKK1_5G_NULL = 0x23,
35 RT_CHANNEL_DOMAIN_2G_ETSI2_5G_NULL = 0x24,
36 /* 2.4 G + 5G type 1 */
37 RT_CHANNEL_DOMAIN_2G_FCC1_5G_FCC1 = 0x25,
38 RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x26,
39 /* RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x27, */
42 RT_CHANNEL_DOMAIN_MAX_NEW,
48 #define DOMAIN_CODE_2G_WORLD \
49 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
50 #define DOMAIN_CODE_2G_ETSI1 \
51 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
52 #define DOMAIN_CODE_2G_ETSI2 \
53 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, 11
54 #define DOMAIN_CODE_2G_FCC1 \
55 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, 14
56 #define DOMAIN_CODE_2G_MKK1 \
59 #define DOMAIN_CODE_5G_ETSI1 \
60 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
61 #define DOMAIN_CODE_5G_ETSI2 \
62 {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
63 #define DOMAIN_CODE_5G_ETSI3 \
64 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 149, 153, 157, 161, 165}, 22
65 #define DOMAIN_CODE_5G_FCC1 \
66 {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
67 #define DOMAIN_CODE_5G_FCC2 \
68 {36, 40, 44, 48, 149, 153, 157, 161, 165}, 9
69 #define DOMAIN_CODE_5G_FCC3 \
70 {36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165}, 13
71 #define DOMAIN_CODE_5G_FCC4 \
72 {36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161}, 12
73 #define DOMAIN_CODE_5G_FCC5 \
74 {149, 153, 157, 161, 165}, 5
75 #define DOMAIN_CODE_5G_FCC6 \
76 {36, 40, 44, 48, 52, 56, 60, 64}, 8
77 #define DOMAIN_CODE_5G_FCC7 \
78 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
79 #define DOMAIN_CODE_5G_IC1 \
80 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
81 #define DOMAIN_CODE_5G_KCC1 \
82 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 149, 153, 157, 161, 165}, 20
83 #define DOMAIN_CODE_5G_MKK1 \
84 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
85 #define DOMAIN_CODE_5G_MKK2 \
86 {36, 40, 44, 48, 52, 56, 60, 64}, 8
87 #define DOMAIN_CODE_5G_MKK3 \
88 {100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 11
89 #define DOMAIN_CODE_5G_NCC1 \
90 {56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 24
91 #define DOMAIN_CODE_5G_NCC2 \
92 {56, 60, 64, 149, 153, 157, 161, 165}, 8
102 Countries "Country Abbreviation" Domain Code SKU's Ch# of 20MHz
104 "Albaniaªüº¸¤Ú¥§¨È" AL Local Test
106 "Algeriaªüº¸¤Î§Q¨È" DZ CE TCF
108 "Antigua & Barbuda¦w´£¥Ê®q&¤Ú¥¬¹F" AG 2G_WORLD FCC TCF
110 "Argentinaªü®Ú§Ê" AR 2G_WORLD Local Test
112 "Armenia¨È¬ü¥§¨È" AM 2G_WORLD ETSI
114 "Arubaªü¾|¤Ú®q" AW 2G_WORLD FCC TCF
116 "Australia¿D¬w" AU 2G_WORLD 5G_ETSI2
118 "Austria¶ø¦a§Q" AT 2G_WORLD 5G_ETSI1 CE
120 "Azerbaijanªü¶ë«ô¾Ê" AZ 2G_WORLD CE TCF
122 "Bahamas¤Ú«¢°¨" BS 2G_WORLD
124 "Barbados¤Ú¤Ú¦h´µ" BB 2G_WORLD FCC TCF
126 "Belgium¤ñ§Q®É" BE 2G_WORLD 5G_ETSI1 CE
128 "Bermuda¦Ê¼}¹F" BM 2G_WORLD FCC TCF
130 "Brazil¤Ú¦è" BR 2G_WORLD Local Test
132 "Bulgaria«O¥[§Q¨È" BG 2G_WORLD 5G_ETSI1 CE
134 "Canada¥[®³¤j" CA 2G_FCC1 5G_FCC7 IC / FCC IC / FCC
136 "Cayman Islands¶}°Ò¸s®q" KY 2G_WORLD 5G_ETSI1 CE
138 "Chile´¼§Q" CL 2G_WORLD FCC TCF
140 "China¤¤°ê" CN 2G_WORLD 5G_FCC5 «H³¡?¡i2002¡j353?
142 "ColumbiaôÛ¤ñ¨È" CO 2G_WORLD Voluntary
144 "Costa Ricaô´µ¹F¾¤¥[" CR 2G_WORLD FCC TCF
146 "Cyprus¶ë®ú¸ô´µ" CY 2G_WORLD 5G_ETSI1 CE
148 "Czech ±¶§J" CZ 2G_WORLD 5G_ETSI1 CE
150 "Denmark¤¦³Á" DK 2G_WORLD 5G_ETSI1 CE
152 "Dominican Republic¦h©ú¥§¥[¦@©M°ê" DO 2G_WORLD FCC TCF
154 "Egypt®J¤Î" EG 2G_WORLD CE T CF
156 "El SalvadorÂĺ¸¥Ë¦h" SV 2G_WORLD Voluntary
158 "Estonia·R¨F¥§¨È" EE 2G_WORLD 5G_ETSI1 CE
160 "FinlandªâÄõ" FI 2G_WORLD 5G_ETSI1 CE
162 "Franceªk°ê" FR 5G_E TSI1 CE
164 "Germany¼w°ê" DE 2G_WORLD 5G_ETSI1 CE
166 "Greece §Æþ" GR 2G_WORLD 5G_ETSI1 CE
168 "GuamÃö®q" GU 2G_WORLD
170 "Guatemala¥Ê¦a°¨©Ô" GT 2G_WORLD
172 "Haiti®ü¦a" HT 2G_WORLD FCC TCF
174 "Honduras§»³£©Ô´µ" HN 2G_WORLD FCC TCF
176 "Hungary¦I¤ú§Q" HU 2G_WORLD 5G_ETSI1 CE
178 "Iceland¦B®q" IS 2G_WORLD 5G_ETSI1 CE
180 "India¦L«×" 2G_WORLD 5G_FCC3 FCC/CE TCF
182 "Ireland·Rº¸Äõ" IE 2G_WORLD 5G_ETSI1 CE
184 "Israel¥H¦â¦C" IL 5G_F CC6 CE TCF
186 "Italy¸q¤j§Q" IT 2G_WORLD 5G_ETSI1 CE
188 "Japan¤é¥»" JP 2G_MKK1 5G_MKK1 MKK MKK
190 "KoreaÁú°ê" KR 2G_WORLD 5G_KCC1 KCC KCC
192 "Latvia©Ô²æºû¨È" LV 2G_WORLD 5G_ETSI1 CE
194 "Lithuania¥ß³³©{" LT 2G_WORLD 5G_ETSI1 CE
196 "Luxembourg¿c´Ë³ù" LU 2G_WORLD 5G_ETSI1 CE
198 "Malaysia°¨¨Ó¦è¨È" MY 2G_WORLD Local Test
200 "Malta°¨º¸¥L" MT 2G_WORLD 5G_ETSI1 CE
202 "Mexico¾¥¦èô" MX 2G_WORLD 5G_FCC3 Local Test
204 "Morocco¼¯¬¥ô" MA CE TCF
206 "Netherlands²üÄõ" NL 2G_WORLD 5G_ETSI1 CE
208 "New Zealand¯Ã¦èÄõ" NZ 2G_WORLD 5G_ETSI2
210 "Norway®¿«Â" NO 2G_WORLD 5G_ETSI1 CE
212 "Panama¤Ú®³°¨ " PA 2G_FCC1 Voluntary
214 "Philippines栮ᯮ" PH 2G_WORLD FCC TCF
216 "PolandªiÄõ" PL 2G_WORLD 5G_ETSI1 CE
218 "Portugal¸²µå¤ú" PT 2G_WORLD 5G_ETSI1 CE
220 "Romaniaù°¨¥§¨È" RO 2G_WORLD 5G_ETSI1 CE
222 "Russia«Xù´µ" RU 2G_WORLD 5G_ETSI3 CE TCF
224 "Saudi Arabia¨F¦aªü©Ô§B" SA 2G_WORLD CE TCF
226 "Singapore·s¥[©Y" SG 2G_WORLD
228 "Slovakia´µ¬¥¥ï§J" SK 2G_WORLD 5G_ETSI1 CE
230 "Slovenia´µ¬¥ºû¥§¨È" SI 2G_WORLD 5G_ETSI1 CE
232 "South Africa«n«D" ZA 2G_WORLD CE TCF
234 "Spain¦è¯Z¤ú" ES 5G_ETSI1 CE
236 "Sweden·ç¨å" SE 2G_WORLD 5G_ETSI1 CE
238 "Switzerland·ç¤h" CH 2G_WORLD 5G_ETSI1 CE
240 "Taiwan»OÆW" TW 2G_FCC1 5G_NCC1 NCC
242 "Thailand®õ°ê" TH 2G_WORLD FCC/CE TCF
244 "Turkey¤g¦Õ¨ä" TR 2G_WORLD
246 "Ukraine¯Q§JÄõ" UA 2G_WORLD Local Test
248 "United Kingdom^°ê" GB 2G_WORLD 5G_ETSI1 CE ETSI
250 "United States¬ü°ê" US 2G_FCC1 5G_FCC7 FCC FCC
252 "Venezuela©e¤º·ç©Ô" VE 2G_WORLD 5G_FCC4 FCC TCF
254 "Vietnam¶V«n" VN 2G_WORLD FCC/CE TCF
260 /* counter abbervation. */
261 enum rt_country_name {
262 RT_CTRY_AL, /* "Albaniaªüº¸¤Ú¥§¨È" */
263 RT_CTRY_DZ, /* "Algeriaªüº¸¤Î§Q¨È" */
264 RT_CTRY_AG, /* "Antigua & Barbuda¦w´£¥Ê®q&¤Ú¥¬¹F" */
265 RT_CTRY_AR, /* "Argentinaªü®Ú§Ê" */
266 RT_CTRY_AM, /* "Armenia¨È¬ü¥§¨È" */
267 RT_CTRY_AW, /* "Arubaªü¾|¤Ú®q" */
268 RT_CTRY_AU, /* "Australia¿D¬w" */
269 RT_CTRY_AT, /* "Austria¶ø¦a§Q" */
270 RT_CTRY_AZ, /* "Azerbaijanªü¶ë«ô¾Ê" */
271 RT_CTRY_BS, /* "Bahamas¤Ú«¢°¨" */
272 RT_CTRY_BB, /* "Barbados¤Ú¤Ú¦h´µ" */
273 RT_CTRY_BE, /* "Belgium¤ñ§Q®É" */
274 RT_CTRY_BM, /* "Bermuda¦Ê¼}¹F" */
275 RT_CTRY_BR, /* "Brazil¤Ú¦è" */
276 RT_CTRY_BG, /* "Bulgaria«O¥[§Q¨È" */
277 RT_CTRY_CA, /* "Canada¥[®³¤j" */
278 RT_CTRY_KY, /* "Cayman Islands¶}°Ò¸s®q" */
279 RT_CTRY_CL, /* "Chile´¼§Q" */
280 RT_CTRY_CN, /* "China¤¤°ê" */
281 RT_CTRY_CO, /* "ColumbiaôÛ¤ñ¨È" */
282 RT_CTRY_CR, /* "Costa Ricaô´µ¹F¾¤¥[" */
283 RT_CTRY_CY, /* "Cyprus¶ë®ú¸ô´µ" */
284 RT_CTRY_CZ, /* "Czech ±¶§J" */
285 RT_CTRY_DK, /* "Denmark¤¦³Á" */
286 RT_CTRY_DO, /* "Dominican Republic¦h©ú¥§¥[¦@©M°ê" */
287 RT_CTRY_CE, /* "Egypt®J¤Î" EG 2G_WORLD */
288 RT_CTRY_SV, /* "El SalvadorÂĺ¸¥Ë¦h" */
289 RT_CTRY_EE, /* "Estonia·R¨F¥§¨È" */
290 RT_CTRY_FI, /* "FinlandªâÄõ" */
291 RT_CTRY_FR, /* "Franceªk°ê" */
292 RT_CTRY_DE, /* "Germany¼w°ê" */
293 RT_CTRY_GR, /* "Greece §Æþ" */
294 RT_CTRY_GU, /* "GuamÃö®q" */
295 RT_CTRY_GT, /* "Guatemala¥Ê¦a°¨©Ô" */
296 RT_CTRY_HT, /* "Haiti®ü¦a" */
297 RT_CTRY_HN, /* "Honduras§»³£©Ô´µ" */
298 RT_CTRY_HU, /* "Hungary¦I¤ú§Q" */
299 RT_CTRY_IS, /* "Iceland¦B®q" */
300 RT_CTRY_IN, /* "India¦L«×" */
301 RT_CTRY_IE, /* "Ireland·Rº¸Äõ" */
302 RT_CTRY_IL, /* "Israel¥H¦â¦C" */
303 RT_CTRY_IT, /* "Italy¸q¤j§Q" */
304 RT_CTRY_JP, /* "Japan¤é¥»" */
305 RT_CTRY_KR, /* "KoreaÁú°ê" */
306 RT_CTRY_LV, /* "Latvia©Ô²æºû¨È" */
307 RT_CTRY_LT, /* "Lithuania¥ß³³©{" */
308 RT_CTRY_LU, /* "Luxembourg¿c´Ë³ù" */
309 RT_CTRY_MY, /* "Malaysia°¨¨Ó¦è¨È" */
310 RT_CTRY_MT, /* "Malta°¨º¸¥L" */
311 RT_CTRY_MX, /* "Mexico¾¥¦èô" */
312 RT_CTRY_MA, /* "Morocco¼¯¬¥ô" */
313 RT_CTRY_NL, /* "Netherlands²üÄõ" */
314 RT_CTRY_NZ, /* "New Zealand¯Ã¦èÄõ" */
315 RT_CTRY_NO, /* "Norway®¿«Â" */
316 RT_CTRY_PA, /* "Panama¤Ú®³°¨ " */
317 RT_CTRY_PH, /* "Philippines栮ᯮ" */
318 RT_CTRY_PL, /* "PolandªiÄõ" */
319 RT_CTRY_PT, /* "Portugal¸²µå¤ú" */
320 RT_CTRY_RO, /* "Romaniaù°¨¥§¨È" */
321 RT_CTRY_RU, /* "Russia«Xù´µ" */
322 RT_CTRY_SA, /* "Saudi Arabia¨F¦aªü©Ô§B" */
323 RT_CTRY_SG, /* "Singapore·s¥[©Y" */
324 RT_CTRY_SK, /* "Slovakia´µ¬¥¥ï§J" */
325 RT_CTRY_SI, /* "Slovenia´µ¬¥ºû¥§¨È" */
326 RT_CTRY_ZA, /* "South Africa«n«D" */
327 RT_CTRY_ES, /* "Spain¦è¯Z¤ú" */
328 RT_CTRY_SE, /* "Sweden·ç¨å" */
329 RT_CTRY_CH, /* "Switzerland·ç¤h" */
330 RT_CTRY_TW, /* "Taiwan»OÆW" */
331 RT_CTRY_TH, /* "Thailand®õ°ê" */
332 RT_CTRY_TR, /* "Turkey¤g¦Õ¨ä" */
333 RT_CTRY_UA, /* "Ukraine¯Q§JÄõ" */
334 RT_CTRY_GB, /* "United Kingdom^°ê" */
335 RT_CTRY_US, /* "United States¬ü°ê" */
336 RT_CTRY_VE, /* "Venezuela©e¤º·ç©Ô" */
337 RT_CTRY_VN, /* "Vietnam¶V«n" */
342 /* Scan type including active and passive scan. */
343 enum rt_scan_type_new {
351 /* Power table sample. */
353 struct _RT_CHNL_PLAN_LIMIT {
363 * 2.4G Regulatory Domains
365 enum rt_regulation_2g {
376 /* typedef struct _RT_CHANNEL_BEHAVIOR
379 * enum rt_scan_type_new
381 * }RT_CHANNEL_BEHAVIOR, *PRT_CHANNEL_BEHAVIOR; */
383 /* typedef struct _RT_CHANNEL_PLAN_TYPE
385 * RT_CHANNEL_BEHAVIOR
387 * }RT_CHNL_PLAN_TYPE, *PRT_CHNL_PLAN_TYPE; */
390 * 2.4G channel number
391 * channel definition & number
393 #define CHNL_RT_2G_NULL \
395 #define CHNL_RT_2G_WORLD \
396 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
397 #define CHNL_RT_2G_WORLD_TEST \
398 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
400 #define CHNL_RT_2G_EFSI1 \
401 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
402 #define CHNL_RT_2G_FCC1 \
403 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, 11
404 #define CHNL_RT_2G_MKK1 \
405 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, 14
406 #define CHNL_RT_2G_ETSI2 \
410 * 2.4G channel active or passive scan.
412 #define CHNL_RT_2G_NULL_SCAN_TYPE \
414 #define CHNL_RT_2G_WORLD_SCAN_TYPE \
415 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}
416 #define CHNL_RT_2G_EFSI1_SCAN_TYPE \
417 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
418 #define CHNL_RT_2G_FCC1_SCAN_TYPE \
419 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
420 #define CHNL_RT_2G_MKK1_SCAN_TYPE \
421 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
422 #define CHNL_RT_2G_ETSI2_SCAN_TYPE \
427 * 2.4G band & Frequency Section
428 * Freqency start & end / band number
430 #define FREQ_RT_2G_NULL \
432 /* Passive scan CH 12, 13 */
433 #define FREQ_RT_2G_WORLD \
435 #define FREQ_RT_2G_EFSI1 \
437 #define FREQ_RT_2G_FCC1 \
439 #define FREQ_RT_2G_MKK1 \
441 #define FREQ_RT_2G_ETSI2 \
446 * 5G Regulatory Domains
448 enum rt_regulation_5g {
473 #define CHNL_RT_5G_NULL \
475 #define CHNL_RT_5G_WORLD \
476 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
477 #define CHNL_RT_5G_ETSI1 \
478 {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
479 #define CHNL_RT_5G_ETSI2 \
480 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 149, 153, 157, 161, 165}, 22
481 #define CHNL_RT_5G_ETSI3 \
482 {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
483 #define CHNL_RT_5G_FCC1 \
484 {36, 40, 44, 48, 149, 153, 157, 161, 165}, 9
485 #define CHNL_RT_5G_FCC2 \
486 {36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165}, 13
487 #define CHNL_RT_5G_FCC3 \
488 {36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161}, 12
489 #define CHNL_RT_5G_FCC4 \
490 {149, 153, 157, 161, 165}, 5
491 #define CHNL_RT_5G_FCC5 \
492 {36, 40, 44, 48, 52, 56, 60, 64}, 8
493 #define CHNL_RT_5G_FCC6 \
494 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
495 #define CHNL_RT_5G_FCC7 \
496 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
497 #define CHNL_RT_5G_IC1 \
498 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 149, 153, 157, 161, 165}, 20
499 #define CHNL_RT_5G_KCC1 \
500 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
501 #define CHNL_RT_5G_MKK1 \
502 {36, 40, 44, 48, 52, 56, 60, 64}, 8
503 #define CHNL_RT_5G_MKK2 \
504 {100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 11
505 #define CHNL_RT_5G_MKK3 \
506 {56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 24
507 #define CHNL_RT_5G_NCC1 \
508 {56, 60, 64, 149, 153, 157, 161, 165}, 8
511 * 5G channel active or passive scan.
513 #define CHNL_RT_5G_NULL_SCAN_TYPE \
515 #define CHNL_RT_5G_WORLD_SCAN_TYPE \
516 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
517 #define CHNL_RT_5G_ETSI1_SCAN_TYPE \
518 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
519 #define CHNL_RT_5G_ETSI2_SCAN_TYPE \
520 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 149, 153, 157, 161, 165}, 22
521 #define CHNL_RT_5G_ETSI3_SCAN_TYPE \
522 {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
523 #define CHNL_RT_5G_FCC1_SCAN_TYPE \
524 {36, 40, 44, 48, 149, 153, 157, 161, 165}, 9
525 #define CHNL_RT_5G_FCC2_SCAN_TYPE \
526 {36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165}, 13
527 #define CHNL_RT_5G_FCC3_SCAN_TYPE \
528 {36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161}, 12
529 #define CHNL_RT_5G_FCC4_SCAN_TYPE \
530 {149, 153, 157, 161, 165}, 5
531 #define CHNL_RT_5G_FCC5_SCAN_TYPE \
532 {36, 40, 44, 48, 52, 56, 60, 64}, 8
533 #define CHNL_RT_5G_FCC6_SCAN_TYPE \
534 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
535 #define CHNL_RT_5G_FCC7_SCAN_TYPE \
536 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
537 #define CHNL_RT_5G_IC1_SCAN_TYPE \
538 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 149, 153, 157, 161, 165}, 20
539 #define CHNL_RT_5G_KCC1_SCAN_TYPE \
540 {36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
541 #define CHNL_RT_5G_MKK1_SCAN_TYPE \
542 {36, 40, 44, 48, 52, 56, 60, 64}, 8
543 #define CHNL_RT_5G_MKK2_SCAN_TYPE \
544 {100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 11
545 #define CHNL_RT_5G_MKK3_SCAN_TYPE \
546 {56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 24
547 #define CHNL_RT_5G_NCC1_SCAN_TYPE \
548 {56, 60, 64, 149, 153, 157, 161, 165}, 8
553 enum rt_regulation_cmn {
567 * Special requirement for different regulation domain.
568 * For internal test or customerize special request.
570 enum rt_chnlplan_sreq {
572 RT_SREQ_2G_ADHOC_11N = 0x00000001,
573 RT_SREQ_2G_ADHOC_11B = 0x00000002,
574 RT_SREQ_2G_ALL_PASS = 0x00000004,
575 RT_SREQ_2G_ALL_ACT = 0x00000008,
576 RT_SREQ_5G_ADHOC_11N = 0x00000010,
577 RT_SREQ_5G_ADHOC_11AC = 0x00000020,
578 RT_SREQ_5G_ALL_PASS = 0x00000040,
579 RT_SREQ_5G_ALL_ACT = 0x00000080,
580 RT_SREQ_C1_PLAN = 0x00000100,
581 RT_SREQ_C2_PLAN = 0x00000200,
582 RT_SREQ_C3_PLAN = 0x00000400,
583 RT_SREQ_C4_PLAN = 0x00000800,
584 RT_SREQ_NFC_ON = 0x00001000,
585 RT_SREQ_MASK = 0x0000FFFF, /* Requirements bit mask */
591 * enum rt_country_name & enum rt_regulation_2g & enum rt_regulation_5g transfer table
594 struct _RT_CHANNEL_PLAN_COUNTRY_TRANSFER_TABLE {
596 /* Define countery domain and corresponding */
598 enum rt_country_name country_enum;
599 char country_name[3];
601 /* char Domain_Name[12]; */
602 enum rt_regulation_2g domain_2g;
604 enum rt_regulation_5g domain_5g;
606 RT_CHANNEL_DOMAIN rt_ch_domain;
607 /* u8 Country_Area; */
612 #define RT_MAX_CHNL_NUM_2G 13
613 #define RT_MAX_CHNL_NUM_5G 44
615 /* Power table sample. */
617 struct _RT_CHNL_PLAN_PWR_LIMIT {
625 #define RT_MAX_BAND_NUM 5
627 struct _RT_CHANNEL_PLAN_MAXPWR {
629 struct _RT_CHNL_PLAN_PWR_LIMIT chnl[RT_MAX_BAND_NUM];
637 * Power By rate Table.
642 struct _RT_CHANNEL_PLAN_NEW {
644 /* Define countery domain and corresponding */
646 /* char country_name[36]; */
647 /* u8 country_enum; */
649 /* char Domain_Name[12]; */
652 struct _RT_CHANNEL_PLAN_COUNTRY_TRANSFER_TABLE *p_ctry_transfer;
654 RT_CHANNEL_DOMAIN rt_ch_domain;
656 enum rt_regulation_2g domain_2g;
658 enum rt_regulation_5g domain_5g;
660 enum rt_regulation_cmn regulator;
662 enum rt_chnlplan_sreq chnl_sreq;
664 /* struct _RT_CHNL_PLAN_LIMIT RtChnl; */
666 u8 chnl_2g[MAX_CHANNEL_NUM]; /* CHNL_RT_2G_WORLD */
668 u8 chnl_2g_scan_tp[MAX_CHANNEL_NUM]; /* CHNL_RT_2G_WORLD_SCAN_TYPE */
669 /* u8 Freq2G[2]; */ /* FREQ_RT_2G_WORLD */
671 u8 chnl_5g[MAX_CHANNEL_NUM];
673 u8 chnl_5g_scan_tp[MAX_CHANNEL_NUM];
674 /* u8 Freq2G[2]; */ /* FREQ_RT_2G_WORLD */
676 struct _RT_CHANNEL_PLAN_MAXPWR chnl_max_pwr;
682 #endif /* __RT_CHANNELPLAN_H__ */