Browse Source

qcacmn: Regulatory updates

Regulatory spec changes(Country Table Changes Submitted 2016-10-31).
Added below changes:
* Update FCC2, FCC3, FCC6, FCC11, ETSI4, APL10 and APL12 txpower.
* Assign FCC Radar detect pattern to FCC2 regdomain.
* Add ETSI11 regdomain.

Change-Id: Ia93476c07063950cb43fd6e05c90dd5af089dde0
CRs-Fixed: 2093667
Shashikala Prabhu 7 years ago
parent
commit
2800a7eeb5

+ 48 - 26
umac/regulatory/core/src/reg_db.c

@@ -258,6 +258,7 @@ enum reg_domain {
 	ETSI4_WORLD = 0x30,
 	ETSI8_WORLD = 0x3D,
 	ETSI9_WORLD = 0x3E,
+	ETSI11_WORLD = 0x26,
 
 	APL1_WORLD = 0x52,
 	APL1_ETSIC = 0x55,
@@ -547,6 +548,7 @@ enum reg_domains_5g {
 	ETSI4,
 	ETSI8,
 	ETSI9,
+	ETSI11,
 	APL1,
 	APL2,
 	APL4,
@@ -591,6 +593,7 @@ const struct reg_domain_pair g_reg_dmn_pairs[] = {
 	{ETSI4_WORLD, ETSI4, WORLD},
 	{ETSI8_WORLD, ETSI8, WORLD},
 	{ETSI9_WORLD, ETSI9, WORLD},
+	{ETSI11_WORLD, ETSI11, WORLD},
 
 	{APL1_WORLD, APL1, WORLD},
 	{APL1_ETSIC, APL1, ETSIC},
@@ -688,6 +691,8 @@ enum reg_rules_5g {
 	CHAN_5170_5250_2,
 	CHAN_5170_5250_3,
 	CHAN_5170_5250_4,
+	CHAN_5170_5250_5,
+	CHAN_5170_5250_6,
 	CHAN_5170_5330_1,
 	CHAN_5250_5330_1,
 	CHAN_5250_5330_2,
@@ -695,15 +700,18 @@ enum reg_rules_5g {
 	CHAN_5250_5330_4,
 	CHAN_5250_5330_5,
 	CHAN_5250_5330_6,
+	CHAN_5250_5330_7,
 	CHAN_5490_5730_1,
 	CHAN_5490_5730_2,
 	CHAN_5490_5730_3,
 	CHAN_5490_5710_1,
 	CHAN_5490_5710_2,
+	CHAN_5490_5710_3,
 	CHAN_5490_5590_1,
 	CHAN_5490_5590_2,
 	CHAN_5490_5570_1,
 	CHAN_5490_5650_1,
+	CHAN_5490_5650_2,
 	CHAN_5490_5670_1,
 	CHAN_5490_5630_1,
 	CHAN_5650_5730_1,
@@ -713,6 +721,8 @@ enum reg_rules_5g {
 	CHAN_5735_5835_3,
 	CHAN_5735_5835_4,
 	CHAN_5735_5835_5,
+	CHAN_5735_5835_6,
+	CHAN_5735_5875_1,
 	CHAN_5735_5815_1,
 	CHAN_5735_5775_1,
 };
@@ -726,31 +736,38 @@ const struct regulatory_rule reg_rules_5g[] = {
 	[CHAN_5170_5250_2] = {5170, 5250, 80, 23, 0},
 	[CHAN_5170_5250_3] = {5170, 5250, 80, 20, 0},
 	[CHAN_5170_5250_4] = {5170, 5250, 80, 30, 0},
+	[CHAN_5170_5250_5] = {5170, 5250, 80, 24, 0},
+	[CHAN_5170_5250_6] = {5170, 5250, 80, 18, 0},
 	[CHAN_5170_5330_1] = {5170, 5330, 160, 20, REGULATORY_CHAN_NO_IR},
 	[CHAN_5250_5330_1] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR},
 	[CHAN_5250_5330_2] = {5250, 5330, 80, 20, REGULATORY_CHAN_RADAR},
-	[CHAN_5250_5330_3] = {5250, 5330, 80, 17, REGULATORY_CHAN_RADAR},
+	[CHAN_5250_5330_3] = {5250, 5330, 80, 18, REGULATORY_CHAN_RADAR},
 	[CHAN_5250_5330_4] = {5250, 5330, 80, 30, REGULATORY_CHAN_RADAR},
 	[CHAN_5250_5330_5] = {5250, 5330, 80, 23, 0},
 	[CHAN_5250_5330_6] = {5250, 5330, 80, 30, 0},
-	[CHAN_5490_5730_1] = {5490, 5730, 160, 23, REGULATORY_CHAN_RADAR},
+	[CHAN_5250_5330_7] = {5250, 5330, 80, 24, REGULATORY_CHAN_RADAR},
+	[CHAN_5490_5730_1] = {5490, 5730, 160, 24, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5730_2] = {5490, 5730, 160, 30, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5730_3] = {5490, 5730, 160, 20, REGULATORY_CHAN_NO_IR},
 	[CHAN_5490_5710_1] = {5490, 5710, 160, 30, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5710_2] = {5490, 5710, 160, 20, REGULATORY_CHAN_RADAR},
-	[CHAN_5490_5590_1] = {5490, 5590, 80, 23, REGULATORY_CHAN_RADAR},
+	[CHAN_5490_5710_3] = {5490, 5710, 160, 27, REGULATORY_CHAN_RADAR},
+	[CHAN_5490_5590_1] = {5490, 5590, 80, 24, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5590_2] = {5490, 5590, 80, 30, 0},
 	[CHAN_5490_5570_1] = {5490, 5570, 80, 30, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5650_1] = {5490, 5650, 160, 23, REGULATORY_CHAN_RADAR},
+	[CHAN_5490_5650_2] = {5490, 5650, 160, 24, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5670_1] = {5490, 5670, 160, 20, REGULATORY_CHAN_RADAR},
 	[CHAN_5490_5630_1] = {5490, 5630, 80, 30, REGULATORY_CHAN_RADAR},
-	[CHAN_5650_5730_1] = {5650, 5730, 80, 23, REGULATORY_CHAN_RADAR},
+	[CHAN_5650_5730_1] = {5650, 5730, 80, 24, REGULATORY_CHAN_RADAR},
 	[CHAN_5650_5730_2] = {5650, 5730, 80, 30, 0},
 	[CHAN_5735_5835_1] = {5735, 5835, 80, 23, 0},
 	[CHAN_5735_5835_2] = {5735, 5835, 80, 30, 0},
 	[CHAN_5735_5835_3] = {5735, 5835, 80, 20, 0},
 	[CHAN_5735_5835_4] = {5735, 5835, 80, 27, 0},
 	[CHAN_5735_5835_5] = {5735, 5835, 80, 20, REGULATORY_CHAN_NO_IR},
+	[CHAN_5735_5835_6] = {5735, 5835, 80, 24, 0},
+	[CHAN_5735_5875_1] = {5735, 5875, 20, 27, 0},
 	[CHAN_5735_5815_1] = {5735, 5815, 80, 30, 0},
 	[CHAN_5735_5775_1] = {5735, 5775, 40, 23, 0},
 };
@@ -760,37 +777,37 @@ const struct regdomain regdomains_5g[] = {
 
 	[FCC1] = {CTL_FCC, DFS_FCC_REG, 2, 6, 3, {CHAN_5170_5250_1,
 					      CHAN_5250_5330_1,
-					      CHAN_5735_5835_1} },
+					      CHAN_5735_5835_2} },
 
-	[FCC2] = {CTL_FCC, DFS_CN_REG, 2, 6, 3, {CHAN_5170_5250_2,
+	[FCC2] = {CTL_FCC, DFS_FCC_REG, 2, 6, 3, {CHAN_5170_5250_2,
 					     CHAN_5250_5330_1,
-					     CHAN_5735_5835_1} },
+					     CHAN_5735_5835_2} },
 
-	[FCC3] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_2,
-					      CHAN_5250_5330_1,
+	[FCC3] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_5,
+					      CHAN_5250_5330_7,
 					      CHAN_5490_5730_1,
-					      CHAN_5735_5835_1} },
+					      CHAN_5735_5835_2} },
 
 	[FCC4] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_4940_4990_1,
 					      CHAN_5170_5250_1,
-					      CHAN_5250_5330_1,
-					      CHAN_5735_5835_1} },
+					      CHAN_5250_5330_7,
+					      CHAN_5735_5835_2} },
 
-	[FCC6] = {CTL_FCC, DFS_FCC_REG, 2, 6, 5, {CHAN_5170_5250_2,
-					      CHAN_5250_5330_1,
+	[FCC6] = {CTL_FCC, DFS_FCC_REG, 2, 6, 5, {CHAN_5170_5250_5,
+					      CHAN_5250_5330_7,
 					      CHAN_5490_5590_1,
 					      CHAN_5650_5730_1,
-					      CHAN_5735_5835_1} },
+					      CHAN_5735_5835_2} },
 
 	[FCC8] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_4,
-					      CHAN_5250_5330_1,
+					      CHAN_5250_5330_7,
 					      CHAN_5490_5730_1,
-					      CHAN_5735_5835_1} },
+					      CHAN_5735_5835_2} },
 
-	[FCC11] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_2,
-					      CHAN_5250_5330_1,
-					      CHAN_5490_5650_1,
-					      CHAN_5735_5835_1} },
+	[FCC11] = {CTL_FCC, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_5,
+					      CHAN_5250_5330_7,
+					      CHAN_5490_5650_2,
+					      CHAN_5735_5835_6} },
 
 	[ETSI1] = {CTL_ETSI, DFS_ETSI_REG, 5, 0, 3, {CHAN_5170_5250_2,
 						 CHAN_5250_5330_1,
@@ -799,7 +816,7 @@ const struct regdomain regdomains_5g[] = {
 	[ETSI3] = {CTL_ETSI, DFS_ETSI_REG, 5, 0, 2, {CHAN_5170_5250_3,
 						 CHAN_5250_5330_2} },
 
-	[ETSI4] = {CTL_ETSI, DFS_ETSI_REG, 5, 0, 2, {CHAN_5170_5250_1,
+	[ETSI4] = {CTL_ETSI, DFS_ETSI_REG, 5, 0, 2, {CHAN_5170_5250_6,
 						 CHAN_5250_5330_3} },
 
 	[ETSI8] = {CTL_ETSI, DFS_ETSI_REG, 20, 0, 4, {CHAN_5170_5250_3,
@@ -812,6 +829,11 @@ const struct regdomain regdomains_5g[] = {
 						  CHAN_5490_5670_1,
 						  CHAN_5735_5835_3} },
 
+	[ETSI11] = {CTL_ETSI, DFS_ETSI_REG, 10, 0, 4, {CHAN_5170_5250_3,
+						  CHAN_5250_5330_2,
+						  CHAN_5490_5710_3,
+						  CHAN_5735_5875_1} },
+
 	[APL1] = {CTL_ETSI, DFS_UNINIT_REG, 2, 0, 1, {CHAN_5735_5835_2} },
 
 	[APL2] = {CTL_ETSI, DFS_UNINIT_REG, 2, 0, 1, {CHAN_5735_5815_1} },
@@ -828,15 +850,15 @@ const struct regdomain regdomains_5g[] = {
 
 	[APL9] = {CTL_ETSI, DFS_KR_REG, 2, 6, 4, {CHAN_5170_5250_3,
 					      CHAN_5250_5330_2,
-					      CHAN_5490_5630_1,
-					      CHAN_5735_5815_1} },
+					      CHAN_5490_5730_2,
+					      CHAN_5735_5835_2} },
 
-	[APL10] = {CTL_ETSI, DFS_ETSI_REG, 2, 6, 4, {CHAN_5170_5250_3,
+	[APL10] = {CTL_ETSI, DFS_FCC_REG, 2, 6, 4, {CHAN_5170_5250_3,
 						 CHAN_5250_5330_2,
 						 CHAN_5490_5710_1,
 						 CHAN_5735_5815_1} },
 
-	[APL12] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 3, {CHAN_5170_5250_1,
+	[APL12] = {CTL_ETSI, DFS_ETSI_REG, 2, 0, 3, {CHAN_5170_5250_2,
 						 CHAN_5490_5570_1,
 						 CHAN_5735_5775_1} },
 

+ 2 - 3
umac/regulatory/core/src/reg_services.c

@@ -129,6 +129,7 @@ static const struct chan_map channel_map_old[NUM_CHANNELS] = {
 	[CHAN_ENUM_157] = {5785, 157, 2, 160},
 	[CHAN_ENUM_161] = {5805, 161, 2, 160},
 	[CHAN_ENUM_165] = {5825, 165, 2, 160},
+	[CHAN_ENUM_169] = {5845, 169, 2, 20},
 
 	[CHAN_ENUM_170] = {5852, 170, 2, 20},
 	[CHAN_ENUM_171] = {5855, 171, 2, 20},
@@ -334,9 +335,7 @@ static const struct chan_map channel_map_eu[NUM_CHANNELS] = {
 	[CHAN_ENUM_5785] = {5785, 157, 2, 160},
 	[CHAN_ENUM_5805] = {5805, 161, 2, 160},
 	[CHAN_ENUM_5825] = {5825, 165, 2, 160},
-	[CHAN_ENUM_5850] = {5850, 170, 2, 160},
-	[CHAN_ENUM_5855] = {5855, 171, 2, 160},
-	[CHAN_ENUM_5860] = {5860, 172, 2, 160},
+	[CHAN_ENUM_5845] = {5845, 169, 2, 160},
 	[CHAN_ENUM_5865] = {5865, 173, 2, 160},
 	[CHAN_ENUM_5870] = {5870, 174, 2, 160},
 	[CHAN_ENUM_5875] = {5875, 175, 2, 160},

+ 3 - 0
umac/regulatory/dispatcher/inc/reg_services_public_struct.h

@@ -86,6 +86,7 @@
  * @CHAN_ENUM_157:  channel number 157
  * @CHAN_ENUM_161:  channel number 161
  * @CHAN_ENUM_165:  channel number 165
+ * @CHAN_ENUM_169:  channel number 169
  * @CHAN_ENUM_170:  channel number 170
  * @CHAN_ENUM_171:  channel number 171
  * @CHAN_ENUM_172:  channel number 172
@@ -145,6 +146,7 @@ enum channel_enum {
 	CHAN_ENUM_157,
 	CHAN_ENUM_161,
 	CHAN_ENUM_165,
+	CHAN_ENUM_169,
 
 	CHAN_ENUM_170,
 	CHAN_ENUM_171,
@@ -363,6 +365,7 @@ enum channel_enum {
 	CHAN_ENUM_5785,
 	CHAN_ENUM_5805,
 	CHAN_ENUM_5825,
+	CHAN_ENUM_5845,
 
 	CHAN_ENUM_5850,
 	CHAN_ENUM_5855,