|
@@ -20,7 +20,7 @@
|
|
|
/**
|
|
|
* DOC: reg_db.c
|
|
|
* This file implements QCA regulatory database.
|
|
|
- * Current implementation conforms to database version 29.
|
|
|
+ * Current implementation conforms to database version 30.
|
|
|
*/
|
|
|
|
|
|
#include <qdf_types.h>
|
|
@@ -269,6 +269,7 @@ enum reg_domain {
|
|
|
APL1_ETSIC = 0x55,
|
|
|
APL2_WORLD = 0x45,
|
|
|
APL2_ETSIC = 0x56,
|
|
|
+ APL2_ETSID = 0x41,
|
|
|
APL4_WORLD = 0x42,
|
|
|
APL6_WORLD = 0x5B,
|
|
|
APL8_WORLD = 0x5D,
|
|
@@ -282,10 +283,13 @@ enum reg_domain {
|
|
|
APL14_WORLD = 0x57,
|
|
|
APL15_WORLD = 0x59,
|
|
|
APL16_WORLD = 0x70,
|
|
|
+ APL16_ETSIC = 0x6D,
|
|
|
+ APL17_ETSIC = 0xE7,
|
|
|
APL17_ETSID = 0xE0,
|
|
|
APL19_ETSIC = 0x71,
|
|
|
APL20_WORLD = 0xE5,
|
|
|
APL23_WORLD = 0xE3,
|
|
|
+ APL24_ETSIC = 0xE2,
|
|
|
|
|
|
MKK3_MKKC = 0x82,
|
|
|
MKK5_MKKA = 0x99,
|
|
@@ -318,7 +322,7 @@ const struct country_code_to_reg_domain g_all_countries[] = {
|
|
|
{CTRY_ANDORRA, ETSI3_WORLD, "AD", 40, 160, 0},
|
|
|
{CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0},
|
|
|
{CTRY_ANTIGUA_AND_BARBUDA, ETSI1_WORLD, "AG", 40, 160, 0},
|
|
|
- {CTRY_ARGENTINA, APL16_WORLD, "AR", 40, 160, 0},
|
|
|
+ {CTRY_ARGENTINA, APL16_ETSIC, "AR", 40, 160, 0},
|
|
|
{CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 20, 0},
|
|
|
{CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0},
|
|
|
{CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0},
|
|
@@ -390,7 +394,7 @@ const struct country_code_to_reg_domain g_all_countries[] = {
|
|
|
{CTRY_HUNGARY, ETSI1_WORLD, "HU", 40, 160, 0},
|
|
|
{CTRY_ICELAND, ETSI1_WORLD, "IS", 40, 160, 0},
|
|
|
{CTRY_INDIA, APL19_ETSIC, "IN", 40, 160, 0},
|
|
|
- {CTRY_INDONESIA, APL2_ETSIC, "ID", 40, 20, 0},
|
|
|
+ {CTRY_INDONESIA, APL2_ETSID, "ID", 40, 80, 0},
|
|
|
{CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0},
|
|
|
{CTRY_IRELAND, ETSI1_WORLD, "IE", 40, 160, 0},
|
|
|
{CTRY_ISLE_OF_MAN, ETSI1_WORLD, "IM", 40, 160, 0},
|
|
@@ -522,7 +526,7 @@ const struct country_code_to_reg_domain g_all_countries[] = {
|
|
|
{CTRY_ANDORRA, ETSI3_WORLD, "AD", 40, 160, 0},
|
|
|
{CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0},
|
|
|
{CTRY_ANTIGUA_AND_BARBUDA, ETSI10_WORLD, "AG", 40, 160, 0},
|
|
|
- {CTRY_ARGENTINA, APL17_ETSID, "AR", 40, 160, 0},
|
|
|
+ {CTRY_ARGENTINA, APL17_ETSIC, "AR", 40, 160, 0},
|
|
|
{CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 20, 0},
|
|
|
{CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0},
|
|
|
{CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0},
|
|
@@ -594,7 +598,7 @@ const struct country_code_to_reg_domain g_all_countries[] = {
|
|
|
{CTRY_HUNGARY, ETSI10_WORLD, "HU", 40, 160, 0},
|
|
|
{CTRY_ICELAND, ETSI10_WORLD, "IS", 40, 160, 0},
|
|
|
{CTRY_INDIA, APL15_WORLD, "IN", 40, 160, 0},
|
|
|
- {CTRY_INDONESIA, APL2_ETSIC, "ID", 40, 20, 0},
|
|
|
+ {CTRY_INDONESIA, APL2_ETSID, "ID", 40, 80, 0},
|
|
|
{CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0},
|
|
|
{CTRY_IRELAND, ETSI10_WORLD, "IE", 40, 160, 0},
|
|
|
{CTRY_ISLE_OF_MAN, ETSI10_WORLD, "IM", 40, 160, 0},
|
|
@@ -725,7 +729,7 @@ const struct country_code_to_reg_domain g_all_countries[] = {
|
|
|
{CTRY_ANDORRA, ETSI3_WORLD, "AD", 40, 160, 0},
|
|
|
{CTRY_ANGUILLA, ETSI1_WORLD, "AI", 40, 160, 0},
|
|
|
{CTRY_ANTIGUA_AND_BARBUDA, ETSI13_WORLD, "AG", 40, 160, 0},
|
|
|
- {CTRY_ARGENTINA, APL17_ETSID, "AR", 40, 160, 0},
|
|
|
+ {CTRY_ARGENTINA, APL17_ETSIC, "AR", 40, 160, 0},
|
|
|
{CTRY_ARMENIA, ETSI4_WORLD, "AM", 40, 20, 0},
|
|
|
{CTRY_ARUBA, ETSI1_WORLD, "AW", 40, 160, 0},
|
|
|
{CTRY_AUSTRALIA, FCC6_WORLD, "AU", 40, 160, 0},
|
|
@@ -797,7 +801,7 @@ const struct country_code_to_reg_domain g_all_countries[] = {
|
|
|
{CTRY_HUNGARY, ETSI13_WORLD, "HU", 40, 160, 0},
|
|
|
{CTRY_ICELAND, ETSI13_WORLD, "IS", 40, 160, 0},
|
|
|
{CTRY_INDIA, APL19_ETSIC, "IN", 40, 160, 0},
|
|
|
- {CTRY_INDONESIA, APL2_ETSIC, "ID", 40, 20, 0},
|
|
|
+ {CTRY_INDONESIA, APL2_ETSID, "ID", 40, 80, 0},
|
|
|
{CTRY_IRAQ, ETSI1_WORLD, "IQ", 40, 160, 0},
|
|
|
{CTRY_IRELAND, ETSI13_WORLD, "IE", 40, 160, 0},
|
|
|
{CTRY_ISLE_OF_MAN, ETSI13_WORLD, "IM", 40, 160, 0},
|
|
@@ -976,6 +980,7 @@ enum reg_domains_5g {
|
|
|
APL19,
|
|
|
APL20,
|
|
|
APL23,
|
|
|
+ APL24,
|
|
|
MKK3,
|
|
|
MKK4,
|
|
|
MKK5,
|
|
@@ -988,7 +993,6 @@ enum reg_domains_5g {
|
|
|
WORLD_5G_2,
|
|
|
};
|
|
|
|
|
|
-
|
|
|
const struct reg_domain_pair g_reg_dmn_pairs[] = {
|
|
|
{NULL1_WORLD, NULL1, WORLD},
|
|
|
|
|
@@ -1026,6 +1030,7 @@ const struct reg_domain_pair g_reg_dmn_pairs[] = {
|
|
|
{APL1_ETSIC, APL1, ETSIC},
|
|
|
{APL2_WORLD, APL2, WORLD},
|
|
|
{APL2_ETSIC, APL2, ETSIC},
|
|
|
+ {APL2_ETSID, APL2, ETSID},
|
|
|
{APL4_WORLD, APL4, WORLD},
|
|
|
{APL6_WORLD, APL6, WORLD},
|
|
|
{APL8_WORLD, APL8, WORLD},
|
|
@@ -1039,10 +1044,13 @@ const struct reg_domain_pair g_reg_dmn_pairs[] = {
|
|
|
{APL14_WORLD, APL14, WORLD},
|
|
|
{APL15_WORLD, APL15, WORLD},
|
|
|
{APL16_WORLD, APL16, WORLD},
|
|
|
+ {APL16_ETSIC, APL16, ETSIC},
|
|
|
+ {APL17_ETSIC, APL17, ETSIC},
|
|
|
{APL17_ETSID, APL17, ETSID},
|
|
|
{APL19_ETSIC, APL19, ETSIC},
|
|
|
{APL20_WORLD, APL20, WORLD},
|
|
|
{APL23_WORLD, APL23, WORLD},
|
|
|
+ {APL24_ETSIC, APL24, ETSIC},
|
|
|
|
|
|
{MKK3_MKKC, MKK3, MKKC},
|
|
|
{MKK5_MKKA, MKK5, MKKA},
|
|
@@ -1074,6 +1082,7 @@ enum reg_rules_2g {
|
|
|
CHAN_1_13_2,
|
|
|
CHAN_1_13_3,
|
|
|
CHAN_1_13_4,
|
|
|
+ CHAN_1_13_5,
|
|
|
CHAN_12_12_1,
|
|
|
CHAN_12_13_1,
|
|
|
CHAN_14_1,
|
|
@@ -1089,6 +1098,7 @@ const struct regulatory_rule reg_rules_2g[] = {
|
|
|
[CHAN_1_13_2] = {2402, 2482, 40, 30, 0},
|
|
|
[CHAN_1_13_3] = {2402, 2482, 40, 36, 0},
|
|
|
[CHAN_1_13_4] = {2402, 2482, 40, 23, 0},
|
|
|
+ [CHAN_1_13_5] = {2402, 2482, 20, 20, 0},
|
|
|
[CHAN_12_12_1] = {2457, 2477, 20, 20, REGULATORY_CHAN_NO_IR},
|
|
|
[CHAN_12_13_1] = {2457, 2482, 20, 20, REGULATORY_CHAN_NO_IR},
|
|
|
[CHAN_14_1] = {2474, 2494, 20, 23, REGULATORY_CHAN_NO_OFDM},
|
|
@@ -1106,7 +1116,7 @@ const struct regdomain regdomains_2g[] = {
|
|
|
CHAN_14_1} },
|
|
|
[MKKC] = {CTL_MKK, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_4} },
|
|
|
[ETSIC] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_2} },
|
|
|
- [ETSID] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_3} },
|
|
|
+ [ETSID] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_5} },
|
|
|
[KRRA] = {CTL_KOR, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_13_4} },
|
|
|
[WORLD_2G_1] = {CTL_NONE, DFS_UNINIT_REGION, 0, 0, 1, {CHAN_1_11_2} },
|
|
|
[WORLD_2G_2] = {CTL_NONE, DFS_UNINIT_REGION, 0, 0, 2,
|
|
@@ -1187,6 +1197,8 @@ enum reg_rules_5g {
|
|
|
CHAN_5735_5875_5,
|
|
|
CHAN_5735_5815_1,
|
|
|
CHAN_5735_5815_2,
|
|
|
+ CHAN_5735_5815_3,
|
|
|
+ CHAN_5735_5815_4,
|
|
|
CHAN_5735_5775_1,
|
|
|
CHAN_5835_5855_1,
|
|
|
CHAN_5855_5875_1,
|
|
@@ -1267,6 +1279,8 @@ const struct regulatory_rule reg_rules_5g[] = {
|
|
|
[CHAN_5735_5875_5] = {5735, 5875, 80, 20, REGULATORY_CHAN_RADAR},
|
|
|
[CHAN_5735_5815_1] = {5735, 5815, 80, 30, 0},
|
|
|
[CHAN_5735_5815_2] = {5735, 5815, 80, 30, REGULATORY_CHAN_RADAR},
|
|
|
+ [CHAN_5735_5815_3] = {5735, 5815, 80, 23, REGULATORY_CHAN_INDOOR_ONLY},
|
|
|
+ [CHAN_5735_5815_4] = {5735, 5815, 20, 20, 0},
|
|
|
[CHAN_5735_5775_1] = {5735, 5775, 40, 23, 0},
|
|
|
[CHAN_5835_5855_1] = {5835, 5855, 20, 30, 0},
|
|
|
[CHAN_5855_5875_1] = {5855, 5875, 20, 30, 0},
|
|
@@ -1379,7 +1393,7 @@ const struct regdomain regdomains_5g[] = {
|
|
|
|
|
|
[APL1] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5735_5835_2} },
|
|
|
|
|
|
- [APL2] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5735_5815_1} },
|
|
|
+ [APL2] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5735_5815_4} },
|
|
|
|
|
|
[APL4] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 0, 2, {CHAN_5170_5250_2,
|
|
|
CHAN_5735_5835_1} },
|
|
@@ -1401,7 +1415,7 @@ const struct regdomain regdomains_5g[] = {
|
|
|
CHAN_5490_5710_1,
|
|
|
CHAN_5735_5815_1} },
|
|
|
|
|
|
- [APL11] = { CTL_ETSI, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_9,
|
|
|
+ [APL11] = { CTL_ETSI, DFS_FCC_REGION, 2, 0, 4, {CHAN_5170_5250_9,
|
|
|
CHAN_5250_5330_13,
|
|
|
CHAN_5490_5710_4,
|
|
|
CHAN_5735_5875_2} },
|
|
@@ -1414,7 +1428,7 @@ const struct regdomain regdomains_5g[] = {
|
|
|
CHAN_5250_5330_1,
|
|
|
CHAN_5490_5670_2} },
|
|
|
|
|
|
- [APL14] = {CTL_FCC, DFS_CN_REGION, 2, 0, 3, {CHAN_5170_5250_2,
|
|
|
+ [APL14] = {CTL_MKK, DFS_CN_REGION, 2, 0, 3, {CHAN_5170_5250_2,
|
|
|
CHAN_5250_5330_1,
|
|
|
CHAN_5735_5835_4} },
|
|
|
|
|
@@ -1434,7 +1448,7 @@ const struct regdomain regdomains_5g[] = {
|
|
|
CHAN_5650_5730_3,
|
|
|
CHAN_5735_5835_7} },
|
|
|
|
|
|
- [APL19] = {CTL_FCC, DFS_ETSI_REGION, 2, 0, 4, {CHAN_5170_5250_4,
|
|
|
+ [APL19] = {CTL_FCC, DFS_FCC_REGION, 2, 0, 4, {CHAN_5170_5250_4,
|
|
|
CHAN_5250_5330_7,
|
|
|
CHAN_5490_5730_1,
|
|
|
CHAN_5735_5875_3} },
|
|
@@ -1448,6 +1462,10 @@ const struct regdomain regdomains_5g[] = {
|
|
|
CHAN_5250_5330_11,
|
|
|
CHAN_5735_5835_3} },
|
|
|
|
|
|
+ [APL24] = {CTL_ETSI, DFS_ETSI_REGION, 2, 0, 3, {CHAN_5170_5250_8,
|
|
|
+ CHAN_5250_5330_12,
|
|
|
+ CHAN_5735_5815_3} },
|
|
|
+
|
|
|
[MKK3] = {CTL_MKK, DFS_UNINIT_REGION, 2, 0, 1, {CHAN_5170_5250_3} },
|
|
|
|
|
|
[MKK5] = {CTL_MKK, DFS_MKK_REGION, 2, 0, 3, {CHAN_5170_5250_8,
|