--- /dev/null
+/******************************************************************************\r
+ *\r
+ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.\r
+ * \r
+ * This program is free software; you can redistribute it and/or modify it\r
+ * under the terms of version 2 of the GNU General Public License as\r
+ * published by the Free Software Foundation.\r
+ *\r
+ * This program is distributed in the hope that it will be useful, but WITHOUT\r
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
+ * more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License along with\r
+ * this program; if not, write to the Free Software Foundation, Inc.,\r
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
+ *\r
+ *\r
+ ******************************************************************************/\r
+\r
+\r
+#ifndef __RT_CHANNELPLAN_H__\r
+#define __RT_CHANNELPLAN_H__\r
+\r
+typedef enum _RT_CHANNEL_DOMAIN_NEW\r
+{\r
+\r
+ //===== Add new channel plan above this line ===============//\r
+\r
+ // For new architecture we define different 2G/5G CH area for all country.\r
+ // 2.4 G only\r
+ RT_CHANNEL_DOMAIN_2G_WORLD_5G_NULL = 0x20,\r
+ RT_CHANNEL_DOMAIN_2G_ETSI1_5G_NULL = 0x21,\r
+ RT_CHANNEL_DOMAIN_2G_FCC1_5G_NULL = 0x22,\r
+ RT_CHANNEL_DOMAIN_2G_MKK1_5G_NULL = 0x23,\r
+ RT_CHANNEL_DOMAIN_2G_ETSI2_5G_NULL = 0x24,\r
+ // 2.4 G + 5G type 1\r
+ RT_CHANNEL_DOMAIN_2G_FCC1_5G_FCC1 = 0x25,\r
+ RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x26,\r
+ //RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x27,\r
+ // .....\r
+\r
+ RT_CHANNEL_DOMAIN_MAX_NEW,\r
+ \r
+}RT_CHANNEL_DOMAIN_NEW, *PRT_CHANNEL_DOMAIN_NEW;\r
+\r
+\r
+#if 0\r
+#define DOMAIN_CODE_2G_WORLD \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13\r
+#define DOMAIN_CODE_2G_ETSI1 \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13\r
+#define DOMAIN_CODE_2G_ETSI2 \\r
+ {1,2,3,4,5,6,7,8,9,10,11}, 11\r
+#define DOMAIN_CODE_2G_FCC1 \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 14\r
+#define DOMAIN_CODE_2G_MKK1 \\r
+ {10,11,12,13}, 4\r
+\r
+#define DOMAIN_CODE_5G_ETSI1 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19\r
+#define DOMAIN_CODE_5G_ETSI2 \\r
+ {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\r
+#define DOMAIN_CODE_5G_ETSI3 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,149,153,157,161,165}, 22\r
+#define DOMAIN_CODE_5G_FCC1 \\r
+ {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\r
+#define DOMAIN_CODE_5G_FCC2 \\r
+ {36,40,44,48,149,153,157,161,165}, 9\r
+#define DOMAIN_CODE_5G_FCC3 \\r
+ {36,40,44,48,52,56,60,64,149,153,157,161,165}, 13\r
+#define DOMAIN_CODE_5G_FCC4 \\r
+ {36,40,44,48,52,56,60,64,149,153,157,161}, 12\r
+#define DOMAIN_CODE_5G_FCC5 \\r
+ {149,153,157,161,165}, 5\r
+#define DOMAIN_CODE_5G_FCC6 \\r
+ {36,40,44,48,52,56,60,64}, 8\r
+#define DOMAIN_CODE_5G_FCC7 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20\r
+#define DOMAIN_CODE_5G_IC1 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20\r
+#define DOMAIN_CODE_5G_KCC1 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,149,153,157,161,165}, 20\r
+#define DOMAIN_CODE_5G_MKK1 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19\r
+#define DOMAIN_CODE_5G_MKK2 \\r
+ {36,40,44,48,52,56,60,64}, 8\r
+#define DOMAIN_CODE_5G_MKK3 \\r
+ {100,104,108,112,116,120,124,128,132,136,140}, 11\r
+#define DOMAIN_CODE_5G_NCC1 \\r
+ {56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 24\r
+#define DOMAIN_CODE_5G_NCC2 \\r
+ {56,60,64,149,153,157,161,165}, 8 \r
+#define UNDEFINED \\r
+ {0}, 0\r
+#endif\r
+\r
+//\r
+//\r
+//\r
+/*\r
+\r
+Countries "Country Abbreviation" Domain Code SKU's Ch# of 20MHz\r
+ 2G 5G Ch# of 40MHz\r
+"Albaniaªüº¸¤Ú¥§¨È" AL Local Test \r
+ \r
+"Algeriaªüº¸¤Î§Q¨È" DZ CE TCF \r
+ \r
+"Antigua & Barbuda¦w´£¥Ê®q&¤Ú¥¬¹F" AG 2G_WORLD FCC TCF \r
+ \r
+"Argentinaªü®Ú§Ê" AR 2G_WORLD Local Test \r
+ \r
+"Armenia¨È¬ü¥§¨È" AM 2G_WORLD ETSI \r
+ \r
+"Arubaªü¾|¤Ú®q" AW 2G_WORLD FCC TCF \r
+ \r
+"Australia¿D¬w" AU 2G_WORLD 5G_ETSI2 \r
+ \r
+"Austria¶ø¦a§Q" AT 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Azerbaijanªü¶ë«ô¾Ê" AZ 2G_WORLD CE TCF \r
+ \r
+"Bahamas¤Ú«¢°¨" BS 2G_WORLD \r
+ \r
+"Barbados¤Ú¤Ú¦h´µ" BB 2G_WORLD FCC TCF \r
+ \r
+"Belgium¤ñ§Q®É" BE 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Bermuda¦Ê¼}¹F" BM 2G_WORLD FCC TCF \r
+ \r
+"Brazil¤Ú¦è" BR 2G_WORLD Local Test \r
+ \r
+"Bulgaria«O¥[§Q¨È" BG 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Canada¥[®³¤j" CA 2G_FCC1 5G_FCC7 IC / FCC IC / FCC\r
+ \r
+"Cayman Islands¶}°Ò¸s®q" KY 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Chile´¼§Q" CL 2G_WORLD FCC TCF \r
+ \r
+"China¤¤°ê" CN 2G_WORLD 5G_FCC5 «H³¡?¡i2002¡j353? \r
+ \r
+"ColumbiaôÛ¤ñ¨È" CO 2G_WORLD Voluntary \r
+ \r
+"Costa Ricaô´µ¹F¾¤¥[" CR 2G_WORLD FCC TCF \r
+ \r
+"Cyprus¶ë®ú¸ô´µ" CY 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Czech ±¶§J" CZ 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Denmark¤¦³Á" DK 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Dominican Republic¦h©ú¥§¥[¦@©M°ê" DO 2G_WORLD FCC TCF \r
+ \r
+"Egypt®J¤Î" EG 2G_WORLD CE T CF \r
+ \r
+"El SalvadorÂĺ¸¥Ë¦h" SV 2G_WORLD Voluntary \r
+ \r
+"Estonia·R¨F¥§¨È" EE 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"FinlandªâÄõ" FI 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Franceªk°ê" FR 5G_E TSI1 CE \r
+ \r
+"Germany¼w°ê" DE 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Greece §Æþ" GR 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"GuamÃö®q" GU 2G_WORLD \r
+ \r
+"Guatemala¥Ê¦a°¨©Ô" GT 2G_WORLD \r
+ \r
+"Haiti®ü¦a" HT 2G_WORLD FCC TCF \r
+ \r
+"Honduras§»³£©Ô´µ" HN 2G_WORLD FCC TCF \r
+ \r
+"Hungary¦I¤ú§Q" HU 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Iceland¦B®q" IS 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"India¦L«×" IN 2G_WORLD 5G_FCC3 FCC/CE TCF \r
+ \r
+"Ireland·Rº¸Äõ" IE 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Israel¥H¦â¦C" IL 5G_F CC6 CE TCF \r
+ \r
+"Italy¸q¤j§Q" IT 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Japan¤é¥»" JP 2G_MKK1 5G_MKK1 MKK MKK\r
+ \r
+"KoreaÁú°ê" KR 2G_WORLD 5G_KCC1 KCC KCC\r
+ \r
+"Latvia©Ô²æºû¨È" LV 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Lithuania¥ß³³©{" LT 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Luxembourg¿c´Ë³ù" LU 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Malaysia°¨¨Ó¦è¨È" MY 2G_WORLD Local Test \r
+ \r
+"Malta°¨º¸¥L" MT 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Mexico¾¥¦èô" MX 2G_WORLD 5G_FCC3 Local Test \r
+ \r
+"Morocco¼¯¬¥ô" MA CE TCF \r
+ \r
+"Netherlands²üÄõ" NL 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"New Zealand¯Ã¦èÄõ" NZ 2G_WORLD 5G_ETSI2 \r
+ \r
+"Norway®¿«Â" NO 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Panama¤Ú®³°¨ " PA 2G_FCC1 Voluntary \r
+ \r
+"Philippines栮ᯮ" PH 2G_WORLD FCC TCF \r
+ \r
+"PolandªiÄõ" PL 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Portugal¸²µå¤ú" PT 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Romaniaù°¨¥§¨È" RO 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Russia«Xù´µ" RU 2G_WORLD 5G_ETSI3 CE TCF \r
+ \r
+"Saudi Arabia¨F¦aªü©Ô§B" SA 2G_WORLD CE TCF \r
+ \r
+"Singapore·s¥[©Y" SG 2G_WORLD \r
+ \r
+"Slovakia´µ¬¥¥ï§J" SK 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Slovenia´µ¬¥ºû¥§¨È" SI 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"South Africa«n«D" ZA 2G_WORLD CE TCF \r
+ \r
+"Spain¦è¯Z¤ú" ES 5G_ETSI1 CE \r
+ \r
+"Sweden·ç¨å" SE 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Switzerland·ç¤h" CH 2G_WORLD 5G_ETSI1 CE \r
+ \r
+"Taiwan»OÆW" TW 2G_FCC1 5G_NCC1 NCC \r
+ \r
+"Thailand®õ°ê" TH 2G_WORLD FCC/CE TCF \r
+ \r
+"Turkey¤g¦Õ¨ä" TR 2G_WORLD \r
+ \r
+"Ukraine¯Q§JÄõ" UA 2G_WORLD Local Test \r
+ \r
+"United Kingdom^°ê" GB 2G_WORLD 5G_ETSI1 CE ETSI\r
+ \r
+"United States¬ü°ê" US 2G_FCC1 5G_FCC7 FCC FCC\r
+ \r
+"Venezuela©e¤º·ç©Ô" VE 2G_WORLD 5G_FCC4 FCC TCF \r
+ \r
+"Vietnam¶V«n" VN 2G_WORLD FCC/CE TCF \r
+ \r
+\r
+\r
+*/\r
+\r
+// Counter abbervation.\r
+typedef enum _RT_COUNTRY_DEFINE_NUM\r
+{\r
+ RT_CTRY_AL, // "Albaniaªüº¸¤Ú¥§¨È" \r
+ RT_CTRY_DZ, // "Algeriaªüº¸¤Î§Q¨È" \r
+ RT_CTRY_AG, // "Antigua & Barbuda¦w´£¥Ê®q&¤Ú¥¬¹F" \r
+ RT_CTRY_AR, // "Argentinaªü®Ú§Ê" \r
+ RT_CTRY_AM, // "Armenia¨È¬ü¥§¨È" \r
+ RT_CTRY_AW, // "Arubaªü¾|¤Ú®q" \r
+ RT_CTRY_AU, // "Australia¿D¬w" \r
+ RT_CTRY_AT, // "Austria¶ø¦a§Q" \r
+ RT_CTRY_AZ, // "Azerbaijanªü¶ë«ô¾Ê" \r
+ RT_CTRY_BS, // "Bahamas¤Ú«¢°¨" \r
+ RT_CTRY_BB, // "Barbados¤Ú¤Ú¦h´µ" \r
+ RT_CTRY_BE, // "Belgium¤ñ§Q®É" \r
+ RT_CTRY_BM, // "Bermuda¦Ê¼}¹F" \r
+ RT_CTRY_BR, // "Brazil¤Ú¦è" \r
+ RT_CTRY_BG, // "Bulgaria«O¥[§Q¨È" \r
+ RT_CTRY_CA, // "Canada¥[®³¤j" \r
+ RT_CTRY_KY, // "Cayman Islands¶}°Ò¸s®q" \r
+ RT_CTRY_CL, // "Chile´¼§Q" \r
+ RT_CTRY_CN, // "China¤¤°ê" \r
+ RT_CTRY_CO, // "ColumbiaôÛ¤ñ¨È" \r
+ RT_CTRY_CR, // "Costa Ricaô´µ¹F¾¤¥[" \r
+ RT_CTRY_CY, // "Cyprus¶ë®ú¸ô´µ" \r
+ RT_CTRY_CZ, // "Czech ±¶§J" \r
+ RT_CTRY_DK, // "Denmark¤¦³Á" \r
+ RT_CTRY_DO, // "Dominican Republic¦h©ú¥§¥[¦@©M°ê" \r
+ RT_CTRY_CE, // "Egypt®J¤Î" EG 2G_WORLD \r
+ RT_CTRY_SV, // "El SalvadorÂĺ¸¥Ë¦h" \r
+ RT_CTRY_EE, // "Estonia·R¨F¥§¨È" \r
+ RT_CTRY_FI, // "FinlandªâÄõ" \r
+ RT_CTRY_FR, // "Franceªk°ê" \r
+ RT_CTRY_DE, // "Germany¼w°ê" \r
+ RT_CTRY_GR, // "Greece §Æþ" \r
+ RT_CTRY_GU, // "GuamÃö®q" \r
+ RT_CTRY_GT, // "Guatemala¥Ê¦a°¨©Ô" \r
+ RT_CTRY_HT, // "Haiti®ü¦a" \r
+ RT_CTRY_HN, // "Honduras§»³£©Ô´µ" \r
+ RT_CTRY_HU, // "Hungary¦I¤ú§Q" \r
+ RT_CTRY_IS, // "Iceland¦B®q" \r
+ RT_CTRY_IN, // "India¦L«×" \r
+ RT_CTRY_IE, // "Ireland·Rº¸Äõ" \r
+ RT_CTRY_IL, // "Israel¥H¦â¦C" \r
+ RT_CTRY_IT, // "Italy¸q¤j§Q" \r
+ RT_CTRY_JP, // "Japan¤é¥»" \r
+ RT_CTRY_KR, // "KoreaÁú°ê" \r
+ RT_CTRY_LV, // "Latvia©Ô²æºû¨È" \r
+ RT_CTRY_LT, // "Lithuania¥ß³³©{" \r
+ RT_CTRY_LU, // "Luxembourg¿c´Ë³ù" \r
+ RT_CTRY_MY, // "Malaysia°¨¨Ó¦è¨È" \r
+ RT_CTRY_MT, // "Malta°¨º¸¥L" \r
+ RT_CTRY_MX, // "Mexico¾¥¦èô" \r
+ RT_CTRY_MA, // "Morocco¼¯¬¥ô" \r
+ RT_CTRY_NL, // "Netherlands²üÄõ" \r
+ RT_CTRY_NZ, // "New Zealand¯Ã¦èÄõ" \r
+ RT_CTRY_NO, // "Norway®¿«Â" \r
+ RT_CTRY_PA, // "Panama¤Ú®³°¨ " \r
+ RT_CTRY_PH, // "Philippines栮ᯮ" \r
+ RT_CTRY_PL, // "PolandªiÄõ" \r
+ RT_CTRY_PT, // "Portugal¸²µå¤ú" \r
+ RT_CTRY_RO, // "Romaniaù°¨¥§¨È" \r
+ RT_CTRY_RU, // "Russia«Xù´µ" \r
+ RT_CTRY_SA, // "Saudi Arabia¨F¦aªü©Ô§B" \r
+ RT_CTRY_SG, // "Singapore·s¥[©Y" \r
+ RT_CTRY_SK, // "Slovakia´µ¬¥¥ï§J" \r
+ RT_CTRY_SI, // "Slovenia´µ¬¥ºû¥§¨È" \r
+ RT_CTRY_ZA, // "South Africa«n«D" \r
+ RT_CTRY_ES, // "Spain¦è¯Z¤ú" \r
+ RT_CTRY_SE, // "Sweden·ç¨å" \r
+ RT_CTRY_CH, // "Switzerland·ç¤h" \r
+ RT_CTRY_TW, // "Taiwan»OÆW" \r
+ RT_CTRY_TH, // "Thailand®õ°ê" \r
+ RT_CTRY_TR, // "Turkey¤g¦Õ¨ä" \r
+ RT_CTRY_UA, // "Ukraine¯Q§JÄõ" \r
+ RT_CTRY_GB, // "United Kingdom^°ê" \r
+ RT_CTRY_US, // "United States¬ü°ê" \r
+ RT_CTRY_VE, // "Venezuela©e¤º·ç©Ô" \r
+ RT_CTRY_VN, // "Vietnam¶V«n" \r
+ RT_CTRY_MAX, // \r
+ \r
+}RT_COUNTRY_NAME, *PRT_COUNTRY_NAME;\r
+ \r
+// Scan type including active and passive scan.\r
+typedef enum _RT_SCAN_TYPE_NEW\r
+{\r
+ SCAN_NULL,\r
+ SCAN_ACT,\r
+ SCAN_PAS,\r
+ SCAN_BOTH,\r
+}RT_SCAN_TYPE_NEW, *PRT_SCAN_TYPE_NEW;\r
+ \r
+\r
+// Power table sample.\r
+\r
+typedef struct _RT_CHNL_PLAN_LIMIT\r
+{\r
+ u2Byte Chnl_Start;\r
+ u2Byte Chnl_end; \r
+ \r
+ u2Byte Freq_Start;\r
+ u2Byte Freq_end; \r
+}RT_CHNL_PLAN_LIMIT, *PRT_CHNL_PLAN_LIMIT;\r
+\r
+ \r
+// \r
+// 2.4G Regulatory Domains\r
+//\r
+typedef enum _RT_REGULATION_DOMAIN_2G\r
+{\r
+ RT_2G_NULL, \r
+ RT_2G_WORLD,\r
+ RT_2G_ETSI1,\r
+ RT_2G_FCC1,\r
+ RT_2G_MKK1,\r
+ RT_2G_ETSI2 \r
+ \r
+}RT_REGULATION_2G, *PRT_REGULATION_2G;\r
+\r
+\r
+//typedef struct _RT_CHANNEL_BEHAVIOR\r
+//{\r
+// u1Byte Chnl;\r
+// RT_SCAN_TYPE_NEW\r
+// \r
+//}RT_CHANNEL_BEHAVIOR, *PRT_CHANNEL_BEHAVIOR;\r
+\r
+//typedef struct _RT_CHANNEL_PLAN_TYPE\r
+//{\r
+// RT_CHANNEL_BEHAVIOR \r
+// u1Byte Chnl_num;\r
+//}RT_CHNL_PLAN_TYPE, *PRT_CHNL_PLAN_TYPE;\r
+\r
+//\r
+// 2.4G Channel Number\r
+// Channel definition & number\r
+//\r
+#define CHNL_RT_2G_NULL \\r
+ {0}, 0\r
+#define CHNL_RT_2G_WORLD \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13\r
+#define CHNL_RT_2G_WORLD_TEST \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13\r
+\r
+#define CHNL_RT_2G_EFSI1 \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13}, 13\r
+#define CHNL_RT_2G_FCC1 \\r
+ {1,2,3,4,5,6,7,8,9,10,11}, 11\r
+#define CHNL_RT_2G_MKK1 \\r
+ {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 14\r
+#define CHNL_RT_2G_ETSI2 \\r
+ {10,11,12,13}, 4\r
+\r
+//\r
+// 2.4G Channel Active or passive scan.\r
+//\r
+#define CHNL_RT_2G_NULL_SCAN_TYPE \\r
+ {SCAN_NULL}\r
+#define CHNL_RT_2G_WORLD_SCAN_TYPE \\r
+ {1,1,1,1,1,1,1,1,1,1,1,0,0}\r
+#define CHNL_RT_2G_EFSI1_SCAN_TYPE \\r
+ {1,1,1,1,1,1,1,1,1,1,1,1,1}\r
+#define CHNL_RT_2G_FCC1_SCAN_TYPE \\r
+ {1,1,1,1,1,1,1,1,1,1,1}\r
+#define CHNL_RT_2G_MKK1_SCAN_TYPE \\r
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1}\r
+#define CHNL_RT_2G_ETSI2_SCAN_TYPE \\r
+ {1,1,1,1}\r
+\r
+\r
+//\r
+// 2.4G Band & Frequency Section\r
+// Freqency start & end / band number\r
+//\r
+#define FREQ_RT_2G_NULL \\r
+ {0}, 0\r
+ // Passive scan CH 12, 13\r
+#define FREQ_RT_2G_WORLD \\r
+ {2412, 2472}, 1\r
+#define FREQ_RT_2G_EFSI1 \\r
+ {2412, 2472}, 1\r
+#define FREQ_RT_2G_FCC1 \\r
+ {2412, 2462}, 1\r
+#define FREQ_RT_2G_MKK1 \\r
+ {2412, 2484}, 1\r
+#define FREQ_RT_2G_ETSI2 \\r
+ {2457, 2472}, 1\r
+\r
+\r
+// \r
+// 5G Regulatory Domains\r
+//\r
+typedef enum _RT_REGULATION_DOMAIN_5G\r
+{ \r
+ RT_5G_NULL,\r
+ RT_5G_WORLD,\r
+ RT_5G_ETSI1,\r
+ RT_5G_ETSI2,\r
+ RT_5G_ETSI3,\r
+ RT_5G_FCC1, \r
+ RT_5G_FCC2,\r
+ RT_5G_FCC3,\r
+ RT_5G_FCC4,\r
+ RT_5G_FCC5,\r
+ RT_5G_FCC6,\r
+ RT_5G_FCC7,\r
+ RT_5G_IC1,\r
+ RT_5G_KCC1,\r
+ RT_5G_MKK1,\r
+ RT_5G_MKK2,\r
+ RT_5G_MKK3,\r
+ RT_5G_NCC1,\r
+ \r
+}RT_REGULATION_5G, *PRT_REGULATION_5G;\r
+\r
+//\r
+// 5G Channel Number\r
+//\r
+#define CHNL_RT_5G_NULL \\r
+ {0}, 0\r
+#define CHNL_RT_5G_WORLD \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19\r
+#define CHNL_RT_5G_ETSI1 \\r
+ {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\r
+#define CHNL_RT_5G_ETSI2 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,149,153,157,161,165}, 22\r
+#define CHNL_RT_5G_ETSI3 \\r
+ {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\r
+#define CHNL_RT_5G_FCC1 \\r
+ {36,40,44,48,149,153,157,161,165}, 9\r
+#define CHNL_RT_5G_FCC2 \\r
+ {36,40,44,48,52,56,60,64,149,153,157,161,165}, 13\r
+#define CHNL_RT_5G_FCC3 \\r
+ {36,40,44,48,52,56,60,64,149,153,157,161}, 12\r
+#define CHNL_RT_5G_FCC4 \\r
+ {149,153,157,161,165}, 5\r
+#define CHNL_RT_5G_FCC5 \\r
+ {36,40,44,48,52,56,60,64}, 8\r
+#define CHNL_RT_5G_FCC6 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20\r
+#define CHNL_RT_5G_FCC7 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20\r
+#define CHNL_RT_5G_IC1 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,149,153,157,161,165}, 20\r
+#define CHNL_RT_5G_KCC1 \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19\r
+#define CHNL_RT_5G_MKK1 \\r
+ {36,40,44,48,52,56,60,64}, 8\r
+#define CHNL_RT_5G_MKK2 \\r
+ {100,104,108,112,116,120,124,128,132,136,140}, 11\r
+#define CHNL_RT_5G_MKK3 \\r
+ {56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 24\r
+#define CHNL_RT_5G_NCC1 \\r
+ {56,60,64,149,153,157,161,165}, 8 \r
+\r
+//\r
+// 5G Channel Active or passive scan.\r
+//\r
+#define CHNL_RT_5G_NULL_SCAN_TYPE \\r
+ {SCAN_NULL}\r
+#define CHNL_RT_5G_WORLD_SCAN_TYPE \\r
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}\r
+#define CHNL_RT_5G_ETSI1_SCAN_TYPE \\r
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}\r
+#define CHNL_RT_5G_ETSI2_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,149,153,157,161,165}, 22\r
+#define CHNL_RT_5G_ETSI3_SCAN_TYPE \\r
+ {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\r
+#define CHNL_RT_5G_FCC1_SCAN_TYPE \\r
+ {36,40,44,48,149,153,157,161,165}, 9\r
+#define CHNL_RT_5G_FCC2_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,149,153,157,161,165}, 13\r
+#define CHNL_RT_5G_FCC3_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,149,153,157,161}, 12\r
+#define CHNL_RT_5G_FCC4_SCAN_TYPE \\r
+ {149,153,157,161,165}, 5\r
+#define CHNL_RT_5G_FCC5_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64}, 8\r
+#define CHNL_RT_5G_FCC6_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20\r
+#define CHNL_RT_5G_FCC7_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 20\r
+#define CHNL_RT_5G_IC1_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,149,153,157,161,165}, 20\r
+#define CHNL_RT_5G_KCC1_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140}, 19\r
+#define CHNL_RT_5G_MKK1_SCAN_TYPE \\r
+ {36,40,44,48,52,56,60,64}, 8\r
+#define CHNL_RT_5G_MKK2_SCAN_TYPE \\r
+ {100,104,108,112,116,120,124,128,132,136,140}, 11\r
+#define CHNL_RT_5G_MKK3_SCAN_TYPE \\r
+ {56,60,64,100,104,108,112,116,136,140,149,153,157,161,165}, 24\r
+#define CHNL_RT_5G_NCC1_SCAN_TYPE \\r
+ {56,60,64,149,153,157,161,165}, 8 \r
+\r
+// \r
+// Global Regulation\r
+//\r
+typedef enum _RT_REGULATION_COMMON\r
+{\r
+ RT_WORLD, \r
+ RT_FCC, \r
+ RT_MKK,\r
+ RT_ETSI,\r
+ RT_IC,\r
+ RT_CE,\r
+ RT_NCC,\r
+ \r
+}RT_REGULATION_CMN, *PRT_REGULATION_CMN;\r
+\r
+\r
+\r
+// \r
+// Special requirement for different regulation domain.\r
+// For internal test or customerize special request.\r
+//\r
+typedef enum _RT_CHNLPLAN_SREQ\r
+{\r
+ RT_SREQ_NA = 0x0,\r
+ RT_SREQ_2G_ADHOC_11N = 0x00000001,\r
+ RT_SREQ_2G_ADHOC_11B = 0x00000002,\r
+ RT_SREQ_2G_ALL_PASS = 0x00000004,\r
+ RT_SREQ_2G_ALL_ACT = 0x00000008, \r
+ RT_SREQ_5G_ADHOC_11N = 0x00000010,\r
+ RT_SREQ_5G_ADHOC_11AC = 0x00000020,\r
+ RT_SREQ_5G_ALL_PASS = 0x00000040,\r
+ RT_SREQ_5G_ALL_ACT = 0x00000080,\r
+ RT_SREQ_C1_PLAN = 0x00000100, \r
+ RT_SREQ_C2_PLAN = 0x00000200, \r
+ RT_SREQ_C3_PLAN = 0x00000400, \r
+ RT_SREQ_C4_PLAN = 0x00000800, \r
+ RT_SREQ_NFC_ON = 0x00001000, \r
+ RT_SREQ_MASK = 0x0000FFFF, /* Requirements bit mask */\r
+ \r
+}RT_CHNLPLAN_SREQ, *PRT_CHNLPLAN_SREQ;\r
+\r
+\r
+//\r
+// RT_COUNTRY_NAME & RT_REGULATION_2G & RT_REGULATION_5G transfer table\r
+// \r
+//\r
+typedef struct _RT_CHANNEL_PLAN_COUNTRY_TRANSFER_TABLE\r
+{ \r
+ //\r
+ // Define countery domain and corresponding \r
+ // \r
+ RT_COUNTRY_NAME Country_Enum;\r
+ char Country_Name[3];\r
+ \r
+ //char Domain_Name[12];\r
+ RT_REGULATION_2G Domain_2G; \r
+\r
+ RT_REGULATION_5G Domain_5G; \r
+\r
+ RT_CHANNEL_DOMAIN RtChDomain;\r
+ //u1Byte Country_Area;\r
+ \r
+}RT_CHNL_CTRY_TBL, *PRT_CHNL_CTRY_TBL;\r
+ \r
+\r
+#define RT_MAX_CHNL_NUM_2G 13\r
+#define RT_MAX_CHNL_NUM_5G 44 \r
+\r
+// Power table sample.\r
+\r
+typedef struct _RT_CHNL_PLAN_PWR_LIMIT\r
+{\r
+ u2Byte Chnl_Start;\r
+ u2Byte Chnl_end;\r
+ u1Byte dB_Max;\r
+ u2Byte mW_Max;\r
+}RT_CHNL_PWR_LIMIT, *PRT_CHNL_PWR_LIMIT;\r
+\r
+\r
+#define RT_MAX_BAND_NUM 5\r
+\r
+typedef struct _RT_CHANNEL_PLAN_MAXPWR\r
+{\r
+// STRING_T\r
+ RT_CHNL_PWR_LIMIT Chnl[RT_MAX_BAND_NUM];\r
+ u1Byte Band_Useful_Num;\r
+\r
+ \r
+}RT_CHANNEL_PLAN_MAXPWR, *PRT_CHANNEL_PLAN_MAXPWR;\r
+\r
+\r
+//\r
+// Power By Rate Table.\r
+//\r
+\r
+\r
+\r
+typedef struct _RT_CHANNEL_PLAN_NEW\r
+{ \r
+ //\r
+ // Define countery domain and corresponding \r
+ //\r
+ //char Country_Name[36];\r
+ //u1Byte Country_Enum;\r
+ \r
+ //char Domain_Name[12];\r
+\r
+ \r
+ PRT_CHNL_CTRY_TBL pCtryTransfer;\r
+ \r
+ RT_CHANNEL_DOMAIN RtChDomain; \r
+\r
+ RT_REGULATION_2G Domain_2G;\r
+\r
+ RT_REGULATION_5G Domain_5G; \r
+\r
+ RT_REGULATION_CMN Regulator;\r
+\r
+ RT_CHNLPLAN_SREQ ChnlSreq;\r
+ \r
+ //RT_CHNL_PLAN_LIMIT RtChnl;\r
+ \r
+ u1Byte Chnl2G[MAX_CHANNEL_NUM]; // CHNL_RT_2G_WORLD\r
+ u1Byte Len2G;\r
+ u1Byte Chnl2GScanTp[MAX_CHANNEL_NUM]; // CHNL_RT_2G_WORLD_SCAN_TYPE\r
+ //u1Byte Freq2G[2]; // FREQ_RT_2G_WORLD\r
+\r
+ u1Byte Chnl5G[MAX_CHANNEL_NUM]; \r
+ u1Byte Len5G;\r
+ u1Byte Chnl5GScanTp[MAX_CHANNEL_NUM];\r
+ //u1Byte Freq2G[2]; // FREQ_RT_2G_WORLD\r
+\r
+ RT_CHANNEL_PLAN_MAXPWR ChnlMaxPwr;\r
+ \r
+ \r
+}RT_CHANNEL_PLAN_NEW, *PRT_CHANNEL_PLAN_NEW;\r
+ \r
+ \r
+#endif // __RT_CHANNELPLAN_H__\r
+ \r
+ \r
+ \r
+ \r
+ \r