xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8723bu/hal/phydm/rtchnlplan.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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