mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2024-11-23 13:03:39 +00:00
4de1397841
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
615 lines
18 KiB
C
615 lines
18 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
||
/* Copyright(c) 2007 - 2016 Realtek Corporation. All rights reserved. */
|
||
|
||
|
||
|
||
#ifndef __RT_CHANNELPLAN_H__
|
||
#define __RT_CHANNELPLAN_H__
|
||
|
||
enum rt_channel_domain_new {
|
||
|
||
/* ===== Add new channel plan above this line =============== */
|
||
|
||
/* For new architecture we define different 2G/5G CH area for all country. */
|
||
/* 2.4 G only */
|
||
RT_CHANNEL_DOMAIN_2G_WORLD_5G_NULL = 0x20,
|
||
RT_CHANNEL_DOMAIN_2G_ETSI1_5G_NULL = 0x21,
|
||
RT_CHANNEL_DOMAIN_2G_FCC1_5G_NULL = 0x22,
|
||
RT_CHANNEL_DOMAIN_2G_MKK1_5G_NULL = 0x23,
|
||
RT_CHANNEL_DOMAIN_2G_ETSI2_5G_NULL = 0x24,
|
||
/* 2.4 G + 5G type 1 */
|
||
RT_CHANNEL_DOMAIN_2G_FCC1_5G_FCC1 = 0x25,
|
||
RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x26,
|
||
/* RT_CHANNEL_DOMAIN_2G_WORLD_5G_ETSI1 = 0x27, */
|
||
/* ..... */
|
||
|
||
RT_CHANNEL_DOMAIN_MAX_NEW,
|
||
|
||
};
|
||
|
||
/*
|
||
*
|
||
*
|
||
*
|
||
|
||
Countries "Country Abbreviation" Domain Code SKU's Ch# of 20MHz
|
||
2G 5G Ch# of 40MHz
|
||
"Albania<69><61><EFBFBD><EFBFBD><EFBFBD>ڥ<EFBFBD><DAA5><EFBFBD>" AL Local Test
|
||
|
||
"Algeria<69><61><EFBFBD><EFBFBD><EFBFBD>ΧQ<CEA7><51>" DZ CE TCF
|
||
|
||
"Antigua & Barbuda<64>w<EFBFBD><77><EFBFBD>ʮq&<26>ڥ<EFBFBD><DAA5>F" AG 2G_WORLD FCC TCF
|
||
|
||
"Argentina<6E><61><EFBFBD>ڧ<EFBFBD>" AR 2G_WORLD Local Test
|
||
|
||
"Armenia<69>Ȭ<EFBFBD><C8AC><EFBFBD><EFBFBD><EFBFBD>" AM 2G_WORLD ETSI
|
||
|
||
"Aruba<62><61><EFBFBD>|<7C>ڮq" AW 2G_WORLD FCC TCF
|
||
|
||
"Australia<69>D<EFBFBD>w" AU 2G_WORLD 5G_ETSI2
|
||
|
||
"Austria<69><61><EFBFBD>a<EFBFBD>Q" AT 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Azerbaijan<61><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" AZ 2G_WORLD CE TCF
|
||
|
||
"Bahamas<61>ګ<EFBFBD><DAAB><EFBFBD>" BS 2G_WORLD
|
||
|
||
"Barbados<6F>ڤڦh<DAA6><68>" BB 2G_WORLD FCC TCF
|
||
|
||
"Belgium<75><6D>Q<EFBFBD><51>" BE 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Bermuda<64>ʼ}<7D>F" BM 2G_WORLD FCC TCF
|
||
|
||
"Brazil<69>ڦ<EFBFBD>" BR 2G_WORLD Local Test
|
||
|
||
"Bulgaria<69>O<EFBFBD>[<5B>Q<EFBFBD><51>" BG 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Canada<64>[<5B><><EFBFBD>j" CA 2G_FCC1 5G_FCC7 IC / FCC IC / FCC
|
||
|
||
"Cayman Islands<64>}<7D>Ҹs<D2B8>q" KY 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Chile<6C><65><EFBFBD>Q" CL 2G_WORLD FCC TCF
|
||
|
||
"China<6E><61><EFBFBD><EFBFBD>" CN 2G_WORLD 5G_FCC5 <09>H<EFBFBD><48>?<3F>i2002<30>j353?
|
||
|
||
"Columbia<69><61><EFBFBD>ۤ<EFBFBD><DBA4>" CO 2G_WORLD Voluntary
|
||
|
||
"Costa Rica<63><61><EFBFBD><EFBFBD><EFBFBD>F<EFBFBD><46><EFBFBD>[" CR 2G_WORLD FCC TCF
|
||
|
||
"Cyprus<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" CY 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Czech <20><><EFBFBD>J" CZ 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Denmark<72><6B><EFBFBD><EFBFBD>" DK 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Dominican Republic<69>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>[<5B>@<40>M<EFBFBD><4D>" DO 2G_WORLD FCC TCF
|
||
|
||
"Egypt<70>J<EFBFBD><4A>" EG 2G_WORLD CE T CF
|
||
|
||
"El Salvador<6F>ĺ<EFBFBD><C4BA>˦h" SV 2G_WORLD Voluntary
|
||
|
||
"Estonia<69>R<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD>" EE 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Finland<6E><64><EFBFBD><EFBFBD>" FI 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"France<63>k<EFBFBD><6B>" FR 5G_E TSI1 CE
|
||
|
||
"Germany<6E>w<EFBFBD><77>" DE 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Greece <20><>þ" GR 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Guam<61><6D><EFBFBD>q" GU 2G_WORLD
|
||
|
||
"Guatemala<6C>ʦa<CAA6><61><EFBFBD><EFBFBD>" GT 2G_WORLD
|
||
|
||
"Haiti<74><69><EFBFBD>a" HT 2G_WORLD FCC TCF
|
||
|
||
"Honduras<61><73><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>" HN 2G_WORLD FCC TCF
|
||
|
||
"Hungary<72>I<EFBFBD><49><EFBFBD>Q" HU 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Iceland<6E>B<EFBFBD>q" IS 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"India<69>L<EFBFBD><4C>" 2G_WORLD 5G_FCC3 FCC/CE TCF
|
||
|
||
"Ireland<6E>R<EFBFBD><52><EFBFBD><EFBFBD>" IE 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Israel<65>H<EFBFBD><48>C" IL 5G_F CC6 CE TCF
|
||
|
||
"Italy<6C>q<EFBFBD>j<EFBFBD>Q" IT 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Japan<61>饻" JP 2G_MKK1 5G_MKK1 MKK MKK
|
||
|
||
"Korea<65><61><EFBFBD><EFBFBD>" KR 2G_WORLD 5G_KCC1 KCC KCC
|
||
|
||
"Latvia<69>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>" LV 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Lithuania<69>߳<EFBFBD><DFB3>{" LT 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Luxembourg<72>c<EFBFBD>˳<EFBFBD>" LU 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Malaysia<69><61><EFBFBD>Ӧ<EFBFBD><D3A6>" MY 2G_WORLD Local Test
|
||
|
||
"Malta<74><61><EFBFBD><EFBFBD><EFBFBD>L" MT 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Mexico<63><6F><EFBFBD><EFBFBD><EFBFBD>" MX 2G_WORLD 5G_FCC3 Local Test
|
||
|
||
"Morocco<63><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MA CE TCF
|
||
|
||
"Netherlands<64><73><EFBFBD><EFBFBD>" NL 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"New Zealand<6E>æ<EFBFBD><C3A6><EFBFBD>" NZ 2G_WORLD 5G_ETSI2
|
||
|
||
"Norway<61><79><EFBFBD><EFBFBD>" NO 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Panama<6D>ڮ<EFBFBD><DAAE><EFBFBD> " PA 2G_FCC1 Voluntary
|
||
|
||
"Philippines<65><73><EFBFBD>" PH 2G_WORLD FCC TCF
|
||
|
||
"Poland<6E>i<EFBFBD><69>" PL 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Portugal<61><6C><EFBFBD><EFBFBD><EFBFBD>" PT 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Romaniaù<61><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" RO 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Russia<69>Xù<58><C3B9>" RU 2G_WORLD 5G_ETSI3 CE TCF
|
||
|
||
"Saudi Arabia<69>F<EFBFBD>a<EFBFBD><61><EFBFBD>ԧB" SA 2G_WORLD CE TCF
|
||
|
||
"Singapore<72>s<EFBFBD>[<5B>Y" SG 2G_WORLD
|
||
|
||
"Slovakia<69><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J" SK 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Slovenia<69><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" SI 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"South Africa<63>n<EFBFBD>D" ZA 2G_WORLD CE TCF
|
||
|
||
"Spain<69><6E>Z<EFBFBD><5A>" ES 5G_ETSI1 CE
|
||
|
||
"Sweden<65><6E><EFBFBD>" SE 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Switzerland<6E><64>h" CH 2G_WORLD 5G_ETSI1 CE
|
||
|
||
"Taiwan<61>O<EFBFBD>W" TW 2G_FCC1 5G_NCC1 NCC
|
||
|
||
"Thailand<6E><64><EFBFBD><EFBFBD>" TH 2G_WORLD FCC/CE TCF
|
||
|
||
"Turkey<65>g<EFBFBD>ը<EFBFBD>" TR 2G_WORLD
|
||
|
||
"Ukraine<6E>Q<EFBFBD>J<EFBFBD><4A>" UA 2G_WORLD Local Test
|
||
|
||
"United Kingdom<6F>^<5E><>" GB 2G_WORLD 5G_ETSI1 CE ETSI
|
||
|
||
"United States<65><73><EFBFBD><EFBFBD>" US 2G_FCC1 5G_FCC7 FCC FCC
|
||
|
||
"Venezuela<6C>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD>" VE 2G_WORLD 5G_FCC4 FCC TCF
|
||
|
||
"Vietnam<61>V<EFBFBD>n" VN 2G_WORLD FCC/CE TCF
|
||
|
||
|
||
|
||
*/
|
||
|
||
/* counter abbervation. */
|
||
enum rt_country_name {
|
||
RT_CTRY_AL, /* "Albania<69><61><EFBFBD><EFBFBD><EFBFBD>ڥ<EFBFBD><DAA5><EFBFBD>" */
|
||
RT_CTRY_DZ, /* "Algeria<69><61><EFBFBD><EFBFBD><EFBFBD>ΧQ<CEA7><51>" */
|
||
RT_CTRY_AG, /* "Antigua & Barbuda<64>w<EFBFBD><77><EFBFBD>ʮq&<26>ڥ<EFBFBD><DAA5>F" */
|
||
RT_CTRY_AR, /* "Argentina<6E><61><EFBFBD>ڧ<EFBFBD>" */
|
||
RT_CTRY_AM, /* "Armenia<69>Ȭ<EFBFBD><C8AC><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_AW, /* "Aruba<62><61><EFBFBD>|<7C>ڮq" */
|
||
RT_CTRY_AU, /* "Australia<69>D<EFBFBD>w" */
|
||
RT_CTRY_AT, /* "Austria<69><61><EFBFBD>a<EFBFBD>Q" */
|
||
RT_CTRY_AZ, /* "Azerbaijan<61><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_BS, /* "Bahamas<61>ګ<EFBFBD><DAAB><EFBFBD>" */
|
||
RT_CTRY_BB, /* "Barbados<6F>ڤڦh<DAA6><68>" */
|
||
RT_CTRY_BE, /* "Belgium<75><6D>Q<EFBFBD><51>" */
|
||
RT_CTRY_BM, /* "Bermuda<64>ʼ}<7D>F" */
|
||
RT_CTRY_BR, /* "Brazil<69>ڦ<EFBFBD>" */
|
||
RT_CTRY_BG, /* "Bulgaria<69>O<EFBFBD>[<5B>Q<EFBFBD><51>" */
|
||
RT_CTRY_CA, /* "Canada<64>[<5B><><EFBFBD>j" */
|
||
RT_CTRY_KY, /* "Cayman Islands<64>}<7D>Ҹs<D2B8>q" */
|
||
RT_CTRY_CL, /* "Chile<6C><65><EFBFBD>Q" */
|
||
RT_CTRY_CN, /* "China<6E><61><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_CO, /* "Columbia<69><61><EFBFBD>ۤ<EFBFBD><DBA4>" */
|
||
RT_CTRY_CR, /* "Costa Rica<63><61><EFBFBD><EFBFBD><EFBFBD>F<EFBFBD><46><EFBFBD>[" */
|
||
RT_CTRY_CY, /* "Cyprus<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_CZ, /* "Czech <20><><EFBFBD>J" */
|
||
RT_CTRY_DK, /* "Denmark<72><6B><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_DO, /* "Dominican Republic<69>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>[<5B>@<40>M<EFBFBD><4D>" */
|
||
RT_CTRY_CE, /* "Egypt<70>J<EFBFBD><4A>" EG 2G_WORLD */
|
||
RT_CTRY_SV, /* "El Salvador<6F>ĺ<EFBFBD><C4BA>˦h" */
|
||
RT_CTRY_EE, /* "Estonia<69>R<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_FI, /* "Finland<6E><64><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_FR, /* "France<63>k<EFBFBD><6B>" */
|
||
RT_CTRY_DE, /* "Germany<6E>w<EFBFBD><77>" */
|
||
RT_CTRY_GR, /* "Greece <20><>þ" */
|
||
RT_CTRY_GU, /* "Guam<61><6D><EFBFBD>q" */
|
||
RT_CTRY_GT, /* "Guatemala<6C>ʦa<CAA6><61><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_HT, /* "Haiti<74><69><EFBFBD>a" */
|
||
RT_CTRY_HN, /* "Honduras<61><73><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>" */
|
||
RT_CTRY_HU, /* "Hungary<72>I<EFBFBD><49><EFBFBD>Q" */
|
||
RT_CTRY_IS, /* "Iceland<6E>B<EFBFBD>q" */
|
||
RT_CTRY_IN, /* "India<69>L<EFBFBD><4C>" */
|
||
RT_CTRY_IE, /* "Ireland<6E>R<EFBFBD><52><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_IL, /* "Israel<65>H<EFBFBD><48>C" */
|
||
RT_CTRY_IT, /* "Italy<6C>q<EFBFBD>j<EFBFBD>Q" */
|
||
RT_CTRY_JP, /* "Japan<61>饻" */
|
||
RT_CTRY_KR, /* "Korea<65><61><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_LV, /* "Latvia<69>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_LT, /* "Lithuania<69>߳<EFBFBD><DFB3>{" */
|
||
RT_CTRY_LU, /* "Luxembourg<72>c<EFBFBD>˳<EFBFBD>" */
|
||
RT_CTRY_MY, /* "Malaysia<69><61><EFBFBD>Ӧ<EFBFBD><D3A6>" */
|
||
RT_CTRY_MT, /* "Malta<74><61><EFBFBD><EFBFBD><EFBFBD>L" */
|
||
RT_CTRY_MX, /* "Mexico<63><6F><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_MA, /* "Morocco<63><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_NL, /* "Netherlands<64><73><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_NZ, /* "New Zealand<6E>æ<EFBFBD><C3A6><EFBFBD>" */
|
||
RT_CTRY_NO, /* "Norway<61><79><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_PA, /* "Panama<6D>ڮ<EFBFBD><DAAE><EFBFBD> " */
|
||
RT_CTRY_PH, /* "Philippines<65><73><EFBFBD>" */
|
||
RT_CTRY_PL, /* "Poland<6E>i<EFBFBD><69>" */
|
||
RT_CTRY_PT, /* "Portugal<61><6C><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_RO, /* "Romaniaù<61><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_RU, /* "Russia<69>Xù<58><C3B9>" */
|
||
RT_CTRY_SA, /* "Saudi Arabia<69>F<EFBFBD>a<EFBFBD><61><EFBFBD>ԧB" */
|
||
RT_CTRY_SG, /* "Singapore<72>s<EFBFBD>[<5B>Y" */
|
||
RT_CTRY_SK, /* "Slovakia<69><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J" */
|
||
RT_CTRY_SI, /* "Slovenia<69><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_ZA, /* "South Africa<63>n<EFBFBD>D" */
|
||
RT_CTRY_ES, /* "Spain<69><6E>Z<EFBFBD><5A>" */
|
||
RT_CTRY_SE, /* "Sweden<65><6E><EFBFBD>" */
|
||
RT_CTRY_CH, /* "Switzerland<6E><64>h" */
|
||
RT_CTRY_TW, /* "Taiwan<61>O<EFBFBD>W" */
|
||
RT_CTRY_TH, /* "Thailand<6E><64><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_TR, /* "Turkey<65>g<EFBFBD>ը<EFBFBD>" */
|
||
RT_CTRY_UA, /* "Ukraine<6E>Q<EFBFBD>J<EFBFBD><4A>" */
|
||
RT_CTRY_GB, /* "United Kingdom<6F>^<5E><>" */
|
||
RT_CTRY_US, /* "United States<65><73><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_VE, /* "Venezuela<6C>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD>" */
|
||
RT_CTRY_VN, /* "Vietnam<61>V<EFBFBD>n" */
|
||
RT_CTRY_MAX,
|
||
|
||
};
|
||
|
||
/* Scan type including active and passive scan. */
|
||
enum rt_scan_type_new {
|
||
SCAN_NULL,
|
||
SCAN_ACT,
|
||
SCAN_PAS,
|
||
SCAN_BOTH,
|
||
};
|
||
|
||
|
||
/* Power table sample. */
|
||
|
||
struct _RT_CHNL_PLAN_LIMIT {
|
||
u16 chnl_start;
|
||
u16 chnl_end;
|
||
|
||
u16 freq_start;
|
||
u16 freq_end;
|
||
};
|
||
|
||
|
||
/*
|
||
* 2.4G Regulatory Domains
|
||
* */
|
||
enum rt_regulation_2g {
|
||
RT_2G_NULL,
|
||
RT_2G_WORLD,
|
||
RT_2G_ETSI1,
|
||
RT_2G_FCC1,
|
||
RT_2G_MKK1,
|
||
RT_2G_ETSI2
|
||
|
||
};
|
||
|
||
|
||
/* typedef struct _RT_CHANNEL_BEHAVIOR
|
||
* {
|
||
* u8 chnl;
|
||
* enum rt_scan_type_new
|
||
*
|
||
* }RT_CHANNEL_BEHAVIOR, *PRT_CHANNEL_BEHAVIOR; */
|
||
|
||
/* typedef struct _RT_CHANNEL_PLAN_TYPE
|
||
* {
|
||
* RT_CHANNEL_BEHAVIOR
|
||
* u8 Chnl_num;
|
||
* }RT_CHNL_PLAN_TYPE, *PRT_CHNL_PLAN_TYPE; */
|
||
|
||
/*
|
||
* 2.4G channel number
|
||
* channel definition & number
|
||
* */
|
||
#define CHNL_RT_2G_NULL \
|
||
{0}, 0
|
||
#define CHNL_RT_2G_WORLD \
|
||
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
|
||
#define CHNL_RT_2G_WORLD_TEST \
|
||
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
|
||
|
||
#define CHNL_RT_2G_EFSI1 \
|
||
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13
|
||
#define CHNL_RT_2G_FCC1 \
|
||
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, 11
|
||
#define CHNL_RT_2G_MKK1 \
|
||
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, 14
|
||
#define CHNL_RT_2G_ETSI2 \
|
||
{10, 11, 12, 13}, 4
|
||
|
||
/*
|
||
* 2.4G channel active or passive scan.
|
||
* */
|
||
#define CHNL_RT_2G_NULL_SCAN_TYPE \
|
||
{SCAN_NULL}
|
||
#define CHNL_RT_2G_WORLD_SCAN_TYPE \
|
||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}
|
||
#define CHNL_RT_2G_EFSI1_SCAN_TYPE \
|
||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||
#define CHNL_RT_2G_FCC1_SCAN_TYPE \
|
||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||
#define CHNL_RT_2G_MKK1_SCAN_TYPE \
|
||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||
#define CHNL_RT_2G_ETSI2_SCAN_TYPE \
|
||
{1, 1, 1, 1}
|
||
|
||
|
||
/*
|
||
* 2.4G band & Frequency Section
|
||
* Freqency start & end / band number
|
||
* */
|
||
#define FREQ_RT_2G_NULL \
|
||
{0}, 0
|
||
/* Passive scan CH 12, 13 */
|
||
#define FREQ_RT_2G_WORLD \
|
||
{2412, 2472}, 1
|
||
#define FREQ_RT_2G_EFSI1 \
|
||
{2412, 2472}, 1
|
||
#define FREQ_RT_2G_FCC1 \
|
||
{2412, 2462}, 1
|
||
#define FREQ_RT_2G_MKK1 \
|
||
{2412, 2484}, 1
|
||
#define FREQ_RT_2G_ETSI2 \
|
||
{2457, 2472}, 1
|
||
|
||
|
||
/*
|
||
* 5G Regulatory Domains
|
||
* */
|
||
enum rt_regulation_5g {
|
||
RT_5G_NULL,
|
||
RT_5G_WORLD,
|
||
RT_5G_ETSI1,
|
||
RT_5G_ETSI2,
|
||
RT_5G_ETSI3,
|
||
RT_5G_FCC1,
|
||
RT_5G_FCC2,
|
||
RT_5G_FCC3,
|
||
RT_5G_FCC4,
|
||
RT_5G_FCC5,
|
||
RT_5G_FCC6,
|
||
RT_5G_FCC7,
|
||
RT_5G_IC1,
|
||
RT_5G_KCC1,
|
||
RT_5G_MKK1,
|
||
RT_5G_MKK2,
|
||
RT_5G_MKK3,
|
||
RT_5G_NCC1,
|
||
|
||
};
|
||
|
||
/*
|
||
* 5G channel number
|
||
* */
|
||
#define CHNL_RT_5G_NULL \
|
||
{0}, 0
|
||
#define CHNL_RT_5G_WORLD \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
|
||
#define CHNL_RT_5G_ETSI1 \
|
||
{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
|
||
#define CHNL_RT_5G_ETSI2 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 149, 153, 157, 161, 165}, 22
|
||
#define CHNL_RT_5G_ETSI3 \
|
||
{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
|
||
#define CHNL_RT_5G_FCC1 \
|
||
{36, 40, 44, 48, 149, 153, 157, 161, 165}, 9
|
||
#define CHNL_RT_5G_FCC2 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165}, 13
|
||
#define CHNL_RT_5G_FCC3 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161}, 12
|
||
#define CHNL_RT_5G_FCC4 \
|
||
{149, 153, 157, 161, 165}, 5
|
||
#define CHNL_RT_5G_FCC5 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64}, 8
|
||
#define CHNL_RT_5G_FCC6 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
|
||
#define CHNL_RT_5G_FCC7 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
|
||
#define CHNL_RT_5G_IC1 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 149, 153, 157, 161, 165}, 20
|
||
#define CHNL_RT_5G_KCC1 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
|
||
#define CHNL_RT_5G_MKK1 \
|
||
{36, 40, 44, 48, 52, 56, 60, 64}, 8
|
||
#define CHNL_RT_5G_MKK2 \
|
||
{100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 11
|
||
#define CHNL_RT_5G_MKK3 \
|
||
{56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 24
|
||
#define CHNL_RT_5G_NCC1 \
|
||
{56, 60, 64, 149, 153, 157, 161, 165}, 8
|
||
|
||
/*
|
||
* 5G channel active or passive scan.
|
||
* */
|
||
#define CHNL_RT_5G_NULL_SCAN_TYPE \
|
||
{SCAN_NULL}
|
||
#define CHNL_RT_5G_WORLD_SCAN_TYPE \
|
||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||
#define CHNL_RT_5G_ETSI1_SCAN_TYPE \
|
||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||
#define CHNL_RT_5G_ETSI2_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 149, 153, 157, 161, 165}, 22
|
||
#define CHNL_RT_5G_ETSI3_SCAN_TYPE \
|
||
{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
|
||
#define CHNL_RT_5G_FCC1_SCAN_TYPE \
|
||
{36, 40, 44, 48, 149, 153, 157, 161, 165}, 9
|
||
#define CHNL_RT_5G_FCC2_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165}, 13
|
||
#define CHNL_RT_5G_FCC3_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161}, 12
|
||
#define CHNL_RT_5G_FCC4_SCAN_TYPE \
|
||
{149, 153, 157, 161, 165}, 5
|
||
#define CHNL_RT_5G_FCC5_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64}, 8
|
||
#define CHNL_RT_5G_FCC6_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
|
||
#define CHNL_RT_5G_FCC7_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 20
|
||
#define CHNL_RT_5G_IC1_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 149, 153, 157, 161, 165}, 20
|
||
#define CHNL_RT_5G_KCC1_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 19
|
||
#define CHNL_RT_5G_MKK1_SCAN_TYPE \
|
||
{36, 40, 44, 48, 52, 56, 60, 64}, 8
|
||
#define CHNL_RT_5G_MKK2_SCAN_TYPE \
|
||
{100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140}, 11
|
||
#define CHNL_RT_5G_MKK3_SCAN_TYPE \
|
||
{56, 60, 64, 100, 104, 108, 112, 116, 136, 140, 149, 153, 157, 161, 165}, 24
|
||
#define CHNL_RT_5G_NCC1_SCAN_TYPE \
|
||
{56, 60, 64, 149, 153, 157, 161, 165}, 8
|
||
|
||
/*
|
||
* Global regulation
|
||
* */
|
||
enum rt_regulation_cmn {
|
||
RT_WORLD,
|
||
RT_FCC,
|
||
RT_MKK,
|
||
RT_ETSI,
|
||
RT_IC,
|
||
RT_CE,
|
||
RT_NCC,
|
||
|
||
};
|
||
|
||
|
||
|
||
/*
|
||
* Special requirement for different regulation domain.
|
||
* For internal test or customerize special request.
|
||
* */
|
||
enum rt_chnlplan_sreq {
|
||
RT_SREQ_NA = 0x0,
|
||
RT_SREQ_2G_ADHOC_11N = 0x00000001,
|
||
RT_SREQ_2G_ADHOC_11B = 0x00000002,
|
||
RT_SREQ_2G_ALL_PASS = 0x00000004,
|
||
RT_SREQ_2G_ALL_ACT = 0x00000008,
|
||
RT_SREQ_5G_ADHOC_11N = 0x00000010,
|
||
RT_SREQ_5G_ADHOC_11AC = 0x00000020,
|
||
RT_SREQ_5G_ALL_PASS = 0x00000040,
|
||
RT_SREQ_5G_ALL_ACT = 0x00000080,
|
||
RT_SREQ_C1_PLAN = 0x00000100,
|
||
RT_SREQ_C2_PLAN = 0x00000200,
|
||
RT_SREQ_C3_PLAN = 0x00000400,
|
||
RT_SREQ_C4_PLAN = 0x00000800,
|
||
RT_SREQ_NFC_ON = 0x00001000,
|
||
RT_SREQ_MASK = 0x0000FFFF, /* Requirements bit mask */
|
||
|
||
};
|
||
|
||
|
||
/*
|
||
* enum rt_country_name & enum rt_regulation_2g & enum rt_regulation_5g transfer table
|
||
*
|
||
* */
|
||
struct _RT_CHANNEL_PLAN_COUNTRY_TRANSFER_TABLE {
|
||
/* */
|
||
/* Define countery domain and corresponding */
|
||
/* */
|
||
enum rt_country_name country_enum;
|
||
char country_name[3];
|
||
|
||
/* char Domain_Name[12]; */
|
||
enum rt_regulation_2g domain_2g;
|
||
|
||
enum rt_regulation_5g domain_5g;
|
||
|
||
RT_CHANNEL_DOMAIN rt_ch_domain;
|
||
/* u8 Country_Area; */
|
||
|
||
};
|
||
|
||
|
||
#define RT_MAX_CHNL_NUM_2G 13
|
||
#define RT_MAX_CHNL_NUM_5G 44
|
||
|
||
/* Power table sample. */
|
||
|
||
struct _RT_CHNL_PLAN_PWR_LIMIT {
|
||
u16 chnl_start;
|
||
u16 chnl_end;
|
||
u8 db_max;
|
||
u16 m_w_max;
|
||
};
|
||
|
||
|
||
#define RT_MAX_BAND_NUM 5
|
||
|
||
struct _RT_CHANNEL_PLAN_MAXPWR {
|
||
/* STRING_T */
|
||
struct _RT_CHNL_PLAN_PWR_LIMIT chnl[RT_MAX_BAND_NUM];
|
||
u8 band_useful_num;
|
||
|
||
|
||
};
|
||
|
||
|
||
/*
|
||
* Power By rate Table.
|
||
* */
|
||
|
||
|
||
|
||
struct _RT_CHANNEL_PLAN_NEW {
|
||
/* */
|
||
/* Define countery domain and corresponding */
|
||
/* */
|
||
/* char country_name[36]; */
|
||
/* u8 country_enum; */
|
||
|
||
/* char Domain_Name[12]; */
|
||
|
||
|
||
struct _RT_CHANNEL_PLAN_COUNTRY_TRANSFER_TABLE *p_ctry_transfer;
|
||
|
||
RT_CHANNEL_DOMAIN rt_ch_domain;
|
||
|
||
enum rt_regulation_2g domain_2g;
|
||
|
||
enum rt_regulation_5g domain_5g;
|
||
|
||
enum rt_regulation_cmn regulator;
|
||
|
||
enum rt_chnlplan_sreq chnl_sreq;
|
||
|
||
/* struct _RT_CHNL_PLAN_LIMIT RtChnl; */
|
||
|
||
u8 chnl_2g[MAX_CHANNEL_NUM]; /* CHNL_RT_2G_WORLD */
|
||
u8 len_2g;
|
||
u8 chnl_2g_scan_tp[MAX_CHANNEL_NUM]; /* CHNL_RT_2G_WORLD_SCAN_TYPE */
|
||
/* u8 Freq2G[2]; */ /* FREQ_RT_2G_WORLD */
|
||
|
||
u8 chnl_5g[MAX_CHANNEL_NUM];
|
||
u8 len_5g;
|
||
u8 chnl_5g_scan_tp[MAX_CHANNEL_NUM];
|
||
/* u8 Freq2G[2]; */ /* FREQ_RT_2G_WORLD */
|
||
|
||
struct _RT_CHANNEL_PLAN_MAXPWR chnl_max_pwr;
|
||
|
||
|
||
};
|
||
|
||
|
||
#endif /* __RT_CHANNELPLAN_H__ */
|