Răsfoiți Sursa

qcacmn: Add 6GHz channels to the channel maps

Add 6GHz channels to the channel maps and define an API
"wlan_reg_is_6ghz_chan_freq" within the regulatory component to return true
if a channel is a 6GHz channel.

Change-Id: Icf73f1300dd08ae78248465543a4c0a0b355bc79
CRs-Fixed: 2463009
Hariharan Basuthkar 5 ani în urmă
părinte
comite
7697dab24e

+ 312 - 0
umac/regulatory/core/src/reg_services_common.c

@@ -244,6 +244,67 @@ static const struct chan_map channel_map_us[NUM_CHANNELS] = {
 	[CHAN_ENUM_5910] = {5910, 182, 2, 160},
 	[CHAN_ENUM_5915] = {5915, 183, 2, 160},
 	[CHAN_ENUM_5920] = {5920, 184, 2, 160},
+#ifdef CONFIG_BAND_6GHZ
+	[CHAN_ENUM_5945] = {5945, 1, 2, 160},
+	[CHAN_ENUM_5965] = {5965, 5, 2, 160},
+	[CHAN_ENUM_5985] = {5985, 9, 2, 160},
+	[CHAN_ENUM_6005] = {6005, 13, 2, 160},
+	[CHAN_ENUM_6025] = {6025, 17, 2, 160},
+	[CHAN_ENUM_6045] = {6045, 21, 2, 160},
+	[CHAN_ENUM_6065] = {6065, 25, 2, 160},
+	[CHAN_ENUM_6085] = {6085, 29, 2, 160},
+	[CHAN_ENUM_6105] = {6105, 33, 2, 160},
+	[CHAN_ENUM_6125] = {6125, 37, 2, 160},
+	[CHAN_ENUM_6145] = {6145, 41, 2, 160},
+	[CHAN_ENUM_6165] = {6165, 45, 2, 160},
+	[CHAN_ENUM_6185] = {6185, 49, 2, 160},
+	[CHAN_ENUM_6205] = {6205, 53, 2, 160},
+	[CHAN_ENUM_6225] = {6225, 57, 2, 160},
+	[CHAN_ENUM_6245] = {6245, 61, 2, 160},
+	[CHAN_ENUM_6265] = {6265, 65, 2, 160},
+	[CHAN_ENUM_6285] = {6285, 69, 2, 160},
+	[CHAN_ENUM_6305] = {6305, 73, 2, 160},
+	[CHAN_ENUM_6325] = {6325, 77, 2, 160},
+	[CHAN_ENUM_6345] = {6345, 81, 2, 160},
+	[CHAN_ENUM_6365] = {6365, 85, 2, 160},
+	[CHAN_ENUM_6385] = {6385, 89, 2, 160},
+	[CHAN_ENUM_6405] = {6405, 93, 2, 160},
+	[CHAN_ENUM_6425] = {6425, 97, 2, 160},
+	[CHAN_ENUM_6445] = {6445, 101, 2, 160},
+	[CHAN_ENUM_6465] = {6465, 105, 2, 160},
+	[CHAN_ENUM_6485] = {6485, 109, 2, 160},
+	[CHAN_ENUM_6505] = {6505, 113, 2, 160},
+	[CHAN_ENUM_6525] = {6525, 117, 2, 160},
+	[CHAN_ENUM_6545] = {6545, 121, 2, 160},
+	[CHAN_ENUM_6565] = {6565, 125, 2, 160},
+	[CHAN_ENUM_6585] = {6585, 129, 2, 160},
+	[CHAN_ENUM_6605] = {6605, 133, 2, 160},
+	[CHAN_ENUM_6625] = {6625, 137, 2, 160},
+	[CHAN_ENUM_6645] = {6645, 141, 2, 160},
+	[CHAN_ENUM_6665] = {6665, 145, 2, 160},
+	[CHAN_ENUM_6685] = {6685, 149, 2, 160},
+	[CHAN_ENUM_6705] = {6705, 153, 2, 160},
+	[CHAN_ENUM_6725] = {6725, 157, 2, 160},
+	[CHAN_ENUM_6745] = {6745, 161, 2, 160},
+	[CHAN_ENUM_6765] = {6765, 165, 2, 160},
+	[CHAN_ENUM_6785] = {6785, 169, 2, 160},
+	[CHAN_ENUM_6805] = {6805, 173, 2, 160},
+	[CHAN_ENUM_6825] = {6825, 177, 2, 160},
+	[CHAN_ENUM_6845] = {6845, 181, 2, 160},
+	[CHAN_ENUM_6865] = {6865, 185, 2, 160},
+	[CHAN_ENUM_6885] = {6885, 189, 2, 160},
+	[CHAN_ENUM_6905] = {6905, 193, 2, 160},
+	[CHAN_ENUM_6925] = {6925, 197, 2, 160},
+	[CHAN_ENUM_6945] = {6945, 201, 2, 160},
+	[CHAN_ENUM_6965] = {6965, 205, 2, 160},
+	[CHAN_ENUM_6985] = {6985, 209, 2, 160},
+	[CHAN_ENUM_7005] = {7005, 213, 2, 160},
+	[CHAN_ENUM_7025] = {7025, 217, 2, 160},
+	[CHAN_ENUM_7045] = {7045, 221, 2, 160},
+	[CHAN_ENUM_7065] = {7065, 225, 2, 160},
+	[CHAN_ENUM_7085] = {7085, 229, 2, 160},
+	[CHAN_ENUM_7105] = {7105, 233, 2, 160}
+#endif /* CONFIG_BAND_6GHZ */
 };
 
 static const struct chan_map channel_map_eu[NUM_CHANNELS] = {
@@ -346,6 +407,67 @@ static const struct chan_map channel_map_eu[NUM_CHANNELS] = {
 	[CHAN_ENUM_5910] = {5910, 182, 2, 160},
 	[CHAN_ENUM_5915] = {5915, 183, 2, 160},
 	[CHAN_ENUM_5920] = {5920, 184, 2, 160},
+#ifdef CONFIG_BAND_6GHZ
+	[CHAN_ENUM_5945] = {5945, 1, 2, 160},
+	[CHAN_ENUM_5965] = {5965, 5, 2, 160},
+	[CHAN_ENUM_5985] = {5985, 9, 2, 160},
+	[CHAN_ENUM_6005] = {6005, 13, 2, 160},
+	[CHAN_ENUM_6025] = {6025, 17, 2, 160},
+	[CHAN_ENUM_6045] = {6045, 21, 2, 160},
+	[CHAN_ENUM_6065] = {6065, 25, 2, 160},
+	[CHAN_ENUM_6085] = {6085, 29, 2, 160},
+	[CHAN_ENUM_6105] = {6105, 33, 2, 160},
+	[CHAN_ENUM_6125] = {6125, 37, 2, 160},
+	[CHAN_ENUM_6145] = {6145, 41, 2, 160},
+	[CHAN_ENUM_6165] = {6165, 45, 2, 160},
+	[CHAN_ENUM_6185] = {6185, 49, 2, 160},
+	[CHAN_ENUM_6205] = {6205, 53, 2, 160},
+	[CHAN_ENUM_6225] = {6225, 57, 2, 160},
+	[CHAN_ENUM_6245] = {6245, 61, 2, 160},
+	[CHAN_ENUM_6265] = {6265, 65, 2, 160},
+	[CHAN_ENUM_6285] = {6285, 69, 2, 160},
+	[CHAN_ENUM_6305] = {6305, 73, 2, 160},
+	[CHAN_ENUM_6325] = {6325, 77, 2, 160},
+	[CHAN_ENUM_6345] = {6345, 81, 2, 160},
+	[CHAN_ENUM_6365] = {6365, 85, 2, 160},
+	[CHAN_ENUM_6385] = {6385, 89, 2, 160},
+	[CHAN_ENUM_6405] = {6405, 93, 2, 160},
+	[CHAN_ENUM_6425] = {6425, 97, 2, 160},
+	[CHAN_ENUM_6445] = {6445, 101, 2, 160},
+	[CHAN_ENUM_6465] = {6465, 105, 2, 160},
+	[CHAN_ENUM_6485] = {6485, 109, 2, 160},
+	[CHAN_ENUM_6505] = {6505, 113, 2, 160},
+	[CHAN_ENUM_6525] = {6525, 117, 2, 160},
+	[CHAN_ENUM_6545] = {6545, 121, 2, 160},
+	[CHAN_ENUM_6565] = {6565, 125, 2, 160},
+	[CHAN_ENUM_6585] = {6585, 129, 2, 160},
+	[CHAN_ENUM_6605] = {6605, 133, 2, 160},
+	[CHAN_ENUM_6625] = {6625, 137, 2, 160},
+	[CHAN_ENUM_6645] = {6645, 141, 2, 160},
+	[CHAN_ENUM_6665] = {6665, 145, 2, 160},
+	[CHAN_ENUM_6685] = {6685, 149, 2, 160},
+	[CHAN_ENUM_6705] = {6705, 153, 2, 160},
+	[CHAN_ENUM_6725] = {6725, 157, 2, 160},
+	[CHAN_ENUM_6745] = {6745, 161, 2, 160},
+	[CHAN_ENUM_6765] = {6765, 165, 2, 160},
+	[CHAN_ENUM_6785] = {6785, 169, 2, 160},
+	[CHAN_ENUM_6805] = {6805, 173, 2, 160},
+	[CHAN_ENUM_6825] = {6825, 177, 2, 160},
+	[CHAN_ENUM_6845] = {6845, 181, 2, 160},
+	[CHAN_ENUM_6865] = {6865, 185, 2, 160},
+	[CHAN_ENUM_6885] = {6885, 189, 2, 160},
+	[CHAN_ENUM_6905] = {6905, 193, 2, 160},
+	[CHAN_ENUM_6925] = {6925, 197, 2, 160},
+	[CHAN_ENUM_6945] = {6945, 201, 2, 160},
+	[CHAN_ENUM_6965] = {6965, 205, 2, 160},
+	[CHAN_ENUM_6985] = {6985, 209, 2, 160},
+	[CHAN_ENUM_7005] = {7005, 213, 2, 160},
+	[CHAN_ENUM_7025] = {7025, 217, 2, 160},
+	[CHAN_ENUM_7045] = {7045, 221, 2, 160},
+	[CHAN_ENUM_7065] = {7065, 225, 2, 160},
+	[CHAN_ENUM_7085] = {7085, 229, 2, 160},
+	[CHAN_ENUM_7105] = {7105, 233, 2, 160}
+#endif /* CONFIG_BAND_6GHZ */
 };
 
 static const struct chan_map channel_map_jp[NUM_CHANNELS] = {
@@ -448,6 +570,67 @@ static const struct chan_map channel_map_jp[NUM_CHANNELS] = {
 	[CHAN_ENUM_5910] = {5910, INVALID_CHANNEL_NUM, 2, 160},
 	[CHAN_ENUM_5915] = {5915, INVALID_CHANNEL_NUM, 2, 160},
 	[CHAN_ENUM_5920] = {5920, INVALID_CHANNEL_NUM, 2, 160},
+#ifdef CONFIG_BAND_6GHZ
+	[CHAN_ENUM_5945] = {5945, 1, 2, 160},
+	[CHAN_ENUM_5965] = {5965, 5, 2, 160},
+	[CHAN_ENUM_5985] = {5985, 9, 2, 160},
+	[CHAN_ENUM_6005] = {6005, 13, 2, 160},
+	[CHAN_ENUM_6025] = {6025, 17, 2, 160},
+	[CHAN_ENUM_6045] = {6045, 21, 2, 160},
+	[CHAN_ENUM_6065] = {6065, 25, 2, 160},
+	[CHAN_ENUM_6085] = {6085, 29, 2, 160},
+	[CHAN_ENUM_6105] = {6105, 33, 2, 160},
+	[CHAN_ENUM_6125] = {6125, 37, 2, 160},
+	[CHAN_ENUM_6145] = {6145, 41, 2, 160},
+	[CHAN_ENUM_6165] = {6165, 45, 2, 160},
+	[CHAN_ENUM_6185] = {6185, 49, 2, 160},
+	[CHAN_ENUM_6205] = {6205, 53, 2, 160},
+	[CHAN_ENUM_6225] = {6225, 57, 2, 160},
+	[CHAN_ENUM_6245] = {6245, 61, 2, 160},
+	[CHAN_ENUM_6265] = {6265, 65, 2, 160},
+	[CHAN_ENUM_6285] = {6285, 69, 2, 160},
+	[CHAN_ENUM_6305] = {6305, 73, 2, 160},
+	[CHAN_ENUM_6325] = {6325, 77, 2, 160},
+	[CHAN_ENUM_6345] = {6345, 81, 2, 160},
+	[CHAN_ENUM_6365] = {6365, 85, 2, 160},
+	[CHAN_ENUM_6385] = {6385, 89, 2, 160},
+	[CHAN_ENUM_6405] = {6405, 93, 2, 160},
+	[CHAN_ENUM_6425] = {6425, 97, 2, 160},
+	[CHAN_ENUM_6445] = {6445, 101, 2, 160},
+	[CHAN_ENUM_6465] = {6465, 105, 2, 160},
+	[CHAN_ENUM_6485] = {6485, 109, 2, 160},
+	[CHAN_ENUM_6505] = {6505, 113, 2, 160},
+	[CHAN_ENUM_6525] = {6525, 117, 2, 160},
+	[CHAN_ENUM_6545] = {6545, 121, 2, 160},
+	[CHAN_ENUM_6565] = {6565, 125, 2, 160},
+	[CHAN_ENUM_6585] = {6585, 129, 2, 160},
+	[CHAN_ENUM_6605] = {6605, 133, 2, 160},
+	[CHAN_ENUM_6625] = {6625, 137, 2, 160},
+	[CHAN_ENUM_6645] = {6645, 141, 2, 160},
+	[CHAN_ENUM_6665] = {6665, 145, 2, 160},
+	[CHAN_ENUM_6685] = {6685, 149, 2, 160},
+	[CHAN_ENUM_6705] = {6705, 153, 2, 160},
+	[CHAN_ENUM_6725] = {6725, 157, 2, 160},
+	[CHAN_ENUM_6745] = {6745, 161, 2, 160},
+	[CHAN_ENUM_6765] = {6765, 165, 2, 160},
+	[CHAN_ENUM_6785] = {6785, 169, 2, 160},
+	[CHAN_ENUM_6805] = {6805, 173, 2, 160},
+	[CHAN_ENUM_6825] = {6825, 177, 2, 160},
+	[CHAN_ENUM_6845] = {6845, 181, 2, 160},
+	[CHAN_ENUM_6865] = {6865, 185, 2, 160},
+	[CHAN_ENUM_6885] = {6885, 189, 2, 160},
+	[CHAN_ENUM_6905] = {6905, 193, 2, 160},
+	[CHAN_ENUM_6925] = {6925, 197, 2, 160},
+	[CHAN_ENUM_6945] = {6945, 201, 2, 160},
+	[CHAN_ENUM_6965] = {6965, 205, 2, 160},
+	[CHAN_ENUM_6985] = {6985, 209, 2, 160},
+	[CHAN_ENUM_7005] = {7005, 213, 2, 160},
+	[CHAN_ENUM_7025] = {7025, 217, 2, 160},
+	[CHAN_ENUM_7045] = {7045, 221, 2, 160},
+	[CHAN_ENUM_7065] = {7065, 225, 2, 160},
+	[CHAN_ENUM_7085] = {7085, 229, 2, 160},
+	[CHAN_ENUM_7105] = {7105, 233, 2, 160}
+#endif /* CONFIG_BAND_6GHZ */
 };
 
 static const struct chan_map channel_map_global[NUM_CHANNELS] = {
@@ -550,6 +733,67 @@ static const struct chan_map channel_map_global[NUM_CHANNELS] = {
 	[CHAN_ENUM_5910] = {5910, INVALID_CHANNEL_NUM, 2, 160},
 	[CHAN_ENUM_5915] = {5915, INVALID_CHANNEL_NUM, 2, 160},
 	[CHAN_ENUM_5920] = {5920, INVALID_CHANNEL_NUM, 2, 160},
+#ifdef CONFIG_BAND_6GHZ
+	[CHAN_ENUM_5945] = {5945, 1, 2, 160},
+	[CHAN_ENUM_5965] = {5965, 5, 2, 160},
+	[CHAN_ENUM_5985] = {5985, 9, 2, 160},
+	[CHAN_ENUM_6005] = {6005, 13, 2, 160},
+	[CHAN_ENUM_6025] = {6025, 17, 2, 160},
+	[CHAN_ENUM_6045] = {6045, 21, 2, 160},
+	[CHAN_ENUM_6065] = {6065, 25, 2, 160},
+	[CHAN_ENUM_6085] = {6085, 29, 2, 160},
+	[CHAN_ENUM_6105] = {6105, 33, 2, 160},
+	[CHAN_ENUM_6125] = {6125, 37, 2, 160},
+	[CHAN_ENUM_6145] = {6145, 41, 2, 160},
+	[CHAN_ENUM_6165] = {6165, 45, 2, 160},
+	[CHAN_ENUM_6185] = {6185, 49, 2, 160},
+	[CHAN_ENUM_6205] = {6205, 53, 2, 160},
+	[CHAN_ENUM_6225] = {6225, 57, 2, 160},
+	[CHAN_ENUM_6245] = {6245, 61, 2, 160},
+	[CHAN_ENUM_6265] = {6265, 65, 2, 160},
+	[CHAN_ENUM_6285] = {6285, 69, 2, 160},
+	[CHAN_ENUM_6305] = {6305, 73, 2, 160},
+	[CHAN_ENUM_6325] = {6325, 77, 2, 160},
+	[CHAN_ENUM_6345] = {6345, 81, 2, 160},
+	[CHAN_ENUM_6365] = {6365, 85, 2, 160},
+	[CHAN_ENUM_6385] = {6385, 89, 2, 160},
+	[CHAN_ENUM_6405] = {6405, 93, 2, 160},
+	[CHAN_ENUM_6425] = {6425, 97, 2, 160},
+	[CHAN_ENUM_6445] = {6445, 101, 2, 160},
+	[CHAN_ENUM_6465] = {6465, 105, 2, 160},
+	[CHAN_ENUM_6485] = {6485, 109, 2, 160},
+	[CHAN_ENUM_6505] = {6505, 113, 2, 160},
+	[CHAN_ENUM_6525] = {6525, 117, 2, 160},
+	[CHAN_ENUM_6545] = {6545, 121, 2, 160},
+	[CHAN_ENUM_6565] = {6565, 125, 2, 160},
+	[CHAN_ENUM_6585] = {6585, 129, 2, 160},
+	[CHAN_ENUM_6605] = {6605, 133, 2, 160},
+	[CHAN_ENUM_6625] = {6625, 137, 2, 160},
+	[CHAN_ENUM_6645] = {6645, 141, 2, 160},
+	[CHAN_ENUM_6665] = {6665, 145, 2, 160},
+	[CHAN_ENUM_6685] = {6685, 149, 2, 160},
+	[CHAN_ENUM_6705] = {6705, 153, 2, 160},
+	[CHAN_ENUM_6725] = {6725, 157, 2, 160},
+	[CHAN_ENUM_6745] = {6745, 161, 2, 160},
+	[CHAN_ENUM_6765] = {6765, 165, 2, 160},
+	[CHAN_ENUM_6785] = {6785, 169, 2, 160},
+	[CHAN_ENUM_6805] = {6805, 173, 2, 160},
+	[CHAN_ENUM_6825] = {6825, 177, 2, 160},
+	[CHAN_ENUM_6845] = {6845, 181, 2, 160},
+	[CHAN_ENUM_6865] = {6865, 185, 2, 160},
+	[CHAN_ENUM_6885] = {6885, 189, 2, 160},
+	[CHAN_ENUM_6905] = {6905, 193, 2, 160},
+	[CHAN_ENUM_6925] = {6925, 197, 2, 160},
+	[CHAN_ENUM_6945] = {6945, 201, 2, 160},
+	[CHAN_ENUM_6965] = {6965, 205, 2, 160},
+	[CHAN_ENUM_6985] = {6985, 209, 2, 160},
+	[CHAN_ENUM_7005] = {7005, 213, 2, 160},
+	[CHAN_ENUM_7025] = {7025, 217, 2, 160},
+	[CHAN_ENUM_7045] = {7045, 221, 2, 160},
+	[CHAN_ENUM_7065] = {7065, 225, 2, 160},
+	[CHAN_ENUM_7085] = {7085, 229, 2, 160},
+	[CHAN_ENUM_7105] = {7105, 233, 2, 160}
+#endif /* CONFIG_BAND_6GHZ */
 };
 
 static const struct chan_map channel_map_china[NUM_CHANNELS] = {
@@ -652,6 +896,67 @@ static const struct chan_map channel_map_china[NUM_CHANNELS] = {
 	[CHAN_ENUM_5910] = {5910, INVALID_CHANNEL_NUM, 2, 160},
 	[CHAN_ENUM_5915] = {5915, INVALID_CHANNEL_NUM, 2, 160},
 	[CHAN_ENUM_5920] = {5920, INVALID_CHANNEL_NUM, 2, 160},
+#ifdef CONFIG_BAND_6GHZ
+	[CHAN_ENUM_5945] = {5945, 1, 2, 160},
+	[CHAN_ENUM_5965] = {5965, 5, 2, 160},
+	[CHAN_ENUM_5985] = {5985, 9, 2, 160},
+	[CHAN_ENUM_6005] = {6005, 13, 2, 160},
+	[CHAN_ENUM_6025] = {6025, 17, 2, 160},
+	[CHAN_ENUM_6045] = {6045, 21, 2, 160},
+	[CHAN_ENUM_6065] = {6065, 25, 2, 160},
+	[CHAN_ENUM_6085] = {6085, 29, 2, 160},
+	[CHAN_ENUM_6105] = {6105, 33, 2, 160},
+	[CHAN_ENUM_6125] = {6125, 37, 2, 160},
+	[CHAN_ENUM_6145] = {6145, 41, 2, 160},
+	[CHAN_ENUM_6165] = {6165, 45, 2, 160},
+	[CHAN_ENUM_6185] = {6185, 49, 2, 160},
+	[CHAN_ENUM_6205] = {6205, 53, 2, 160},
+	[CHAN_ENUM_6225] = {6225, 57, 2, 160},
+	[CHAN_ENUM_6245] = {6245, 61, 2, 160},
+	[CHAN_ENUM_6265] = {6265, 65, 2, 160},
+	[CHAN_ENUM_6285] = {6285, 69, 2, 160},
+	[CHAN_ENUM_6305] = {6305, 73, 2, 160},
+	[CHAN_ENUM_6325] = {6325, 77, 2, 160},
+	[CHAN_ENUM_6345] = {6345, 81, 2, 160},
+	[CHAN_ENUM_6365] = {6365, 85, 2, 160},
+	[CHAN_ENUM_6385] = {6385, 89, 2, 160},
+	[CHAN_ENUM_6405] = {6405, 93, 2, 160},
+	[CHAN_ENUM_6425] = {6425, 97, 2, 160},
+	[CHAN_ENUM_6445] = {6445, 101, 2, 160},
+	[CHAN_ENUM_6465] = {6465, 105, 2, 160},
+	[CHAN_ENUM_6485] = {6485, 109, 2, 160},
+	[CHAN_ENUM_6505] = {6505, 113, 2, 160},
+	[CHAN_ENUM_6525] = {6525, 117, 2, 160},
+	[CHAN_ENUM_6545] = {6545, 121, 2, 160},
+	[CHAN_ENUM_6565] = {6565, 125, 2, 160},
+	[CHAN_ENUM_6585] = {6585, 129, 2, 160},
+	[CHAN_ENUM_6605] = {6605, 133, 2, 160},
+	[CHAN_ENUM_6625] = {6625, 137, 2, 160},
+	[CHAN_ENUM_6645] = {6645, 141, 2, 160},
+	[CHAN_ENUM_6665] = {6665, 145, 2, 160},
+	[CHAN_ENUM_6685] = {6685, 149, 2, 160},
+	[CHAN_ENUM_6705] = {6705, 153, 2, 160},
+	[CHAN_ENUM_6725] = {6725, 157, 2, 160},
+	[CHAN_ENUM_6745] = {6745, 161, 2, 160},
+	[CHAN_ENUM_6765] = {6765, 165, 2, 160},
+	[CHAN_ENUM_6785] = {6785, 169, 2, 160},
+	[CHAN_ENUM_6805] = {6805, 173, 2, 160},
+	[CHAN_ENUM_6825] = {6825, 177, 2, 160},
+	[CHAN_ENUM_6845] = {6845, 181, 2, 160},
+	[CHAN_ENUM_6865] = {6865, 185, 2, 160},
+	[CHAN_ENUM_6885] = {6885, 189, 2, 160},
+	[CHAN_ENUM_6905] = {6905, 193, 2, 160},
+	[CHAN_ENUM_6925] = {6925, 197, 2, 160},
+	[CHAN_ENUM_6945] = {6945, 201, 2, 160},
+	[CHAN_ENUM_6965] = {6965, 205, 2, 160},
+	[CHAN_ENUM_6985] = {6985, 209, 2, 160},
+	[CHAN_ENUM_7005] = {7005, 213, 2, 160},
+	[CHAN_ENUM_7025] = {7025, 217, 2, 160},
+	[CHAN_ENUM_7045] = {7045, 221, 2, 160},
+	[CHAN_ENUM_7065] = {7065, 225, 2, 160},
+	[CHAN_ENUM_7085] = {7085, 229, 2, 160},
+	[CHAN_ENUM_7105] = {7105, 233, 2, 160}
+#endif /* CONFIG_BAND_6GHZ */
 };
 #endif
 
@@ -1910,6 +2215,13 @@ bool reg_is_5ghz_ch_freq(uint32_t freq)
 	return REG_IS_5GHZ_FREQ(freq);
 }
 
+#ifdef CONFIG_BAND_6GHZ
+bool reg_is_6ghz_chan_freq(uint16_t freq)
+{
+	return REG_IS_6GHZ_FREQ(freq);
+}
+#endif
+
 #ifndef CONFIG_LEGACY_CHAN_ENUM
 bool reg_is_49ghz_freq(uint32_t freq)
 {

+ 33 - 1
umac/regulatory/core/src/reg_services_common.h

@@ -62,6 +62,11 @@
 	(((freq) >= channel_map[MIN_5GHZ_CHANNEL].center_freq) &&	\
 	 ((freq) <= channel_map[MAX_5GHZ_CHANNEL].center_freq))
 
+#ifdef CONFIG_BAND_6GHZ
+#define REG_MIN_6GHZ_CH_FREQ channel_map[MIN_6GHZ_CHANNEL].center_freq
+#define REG_MAX_6GHZ_CH_FREQ channel_map[MAX_6GHZ_CHANNEL].center_freq
+#endif /*CONFIG_BAND_6GHZ*/
+
 #define REG_CH_NUM(ch_enum) channel_map[ch_enum].chan_num
 #define REG_CH_TO_FREQ(ch_enum) channel_map[ch_enum].center_freq
 
@@ -424,7 +429,34 @@ bool reg_is_24ghz_ch_freq(uint32_t freq);
  *
  * Return: true if channel frequency is 5GHz, else false
  */
-bool reg_is_5ghz_ch_freq(uint32_t chan);
+bool reg_is_5ghz_ch_freq(uint32_t freq);
+
+#ifdef CONFIG_BAND_6GHZ
+/**
+ * reg_is_6ghz_chan_freq() - Check if the given channel frequency is 6GHz
+ * @freq: Channel frequency
+ *
+ * Return: true if channel frequency is 6GHz, else false
+ */
+bool reg_is_6ghz_chan_freq(uint16_t freq);
+
+/**
+ * REG_IS_6GHZ_FREQ() - Check if the given channel frequency is 6GHz
+ * @freq: Channel frequency
+ *
+ * Return: true if channel frequency is 6GHz, else false
+ */
+static inline bool REG_IS_6GHZ_FREQ(uint16_t freq)
+{
+	return ((freq >= REG_MIN_6GHZ_CH_FREQ) &&
+		(freq <= REG_MAX_6GHZ_CH_FREQ));
+}
+#else
+static inline bool reg_is_6ghz_chan_freq(uint16_t freq)
+{
+	return false;
+}
+#endif /* CONFIG_BAND_6GHZ */
 
 #ifndef CONFIG_LEGACY_CHAN_ENUM
 /**

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

@@ -403,6 +403,65 @@ enum channel_enum {
  * @CHAN_ENUM_5910: channel with freq 5910
  * @CHAN_ENUM_5915: channel with freq 5915
  * @CHAN_ENUM_5920: channel with freq 5920
+ * @CHAN_ENUM_5945: channel with freq 5945
+ * @CHAN_ENUM_5965: channel with freq 5965
+ * @CHAN_ENUM_5985: channel with freq 5985
+ * @CHAN_ENUM_6005: channel with freq 6005
+ * @CHAN_ENUM_6025: channel with freq 6025
+ * @CHAN_ENUM_6045: channel with freq 6045
+ * @CHAN_ENUM_6065: channel with freq 6065
+ * @CHAN_ENUM_6085: channel with freq 6085
+ * @CHAN_ENUM_6105: channel with freq 6105
+ * @CHAN_ENUM_6125: channel with freq 6125
+ * @CHAN_ENUM_6145: channel with freq 6145
+ * @CHAN_ENUM_6165: channel with freq 6165
+ * @CHAN_ENUM_6185: channel with freq 6185
+ * @CHAN_ENUM_6205: channel with freq 6205
+ * @CHAN_ENUM_6225: channel with freq 6225
+ * @CHAN_ENUM_6245: channel with freq 6245
+ * @CHAN_ENUM_6265: channel with freq 6265
+ * @CHAN_ENUM_6285: channel with freq 6285
+ * @CHAN_ENUM_6305: channel with freq 6305
+ * @CHAN_ENUM_6325: channel with freq 6325
+ * @CHAN_ENUM_6345: channel with freq 6345
+ * @CHAN_ENUM_6365: channel with freq 6365
+ * @CHAN_ENUM_6385: channel with freq 6385
+ * @CHAN_ENUM_6405: channel with freq 6405
+ * @CHAN_ENUM_6425: channel with freq 6425
+ * @CHAN_ENUM_6445: channel with freq 6445
+ * @CHAN_ENUM_6465: channel with freq 6465
+ * @CHAN_ENUM_6485: channel with freq 6485
+ * @CHAN_ENUM_6505: channel with freq 6505
+ * @CHAN_ENUM_6525: channel with freq 6525
+ * @CHAN_ENUM_6545: channel with freq 6545
+ * @CHAN_ENUM_6565: channel with freq 6565
+ * @CHAN_ENUM_6585: channel with freq 6585
+ * @CHAN_ENUM_6605: channel with freq 6605
+ * @CHAN_ENUM_6625: channel with freq 6625
+ * @CHAN_ENUM_6645: channel with freq 6645
+ * @CHAN_ENUM_6665: channel with freq 6665
+ * @CHAN_ENUM_6685: channel with freq 6685
+ * @CHAN_ENUM_6705: channel with freq 6705
+ * @CHAN_ENUM_6725: channel with freq 6725
+ * @CHAN_ENUM_6745: channel with freq 6745
+ * @CHAN_ENUM_6765: channel with freq 6765
+ * @CHAN_ENUM_6785: channel with freq 6785
+ * @CHAN_ENUM_6805: channel with freq 6805
+ * @CHAN_ENUM_6825: channel with freq 6825
+ * @CHAN_ENUM_6845: channel with freq 6845
+ * @CHAN_ENUM_6865: channel with freq 6865
+ * @CHAN_ENUM_6885: channel with freq 6885
+ * @CHAN_ENUM_6905: channel with freq 6905
+ * @CHAN_ENUM_6925: channel with freq 6925
+ * @CHAN_ENUM_6945: channel with freq 6945
+ * @CHAN_ENUM_6965: channel with freq 6965
+ * @CHAN_ENUM_6985: channel with freq 6985
+ * @CHAN_ENUM_7005: channel with freq 7005
+ * @CHAN_ENUM_7025: channel with freq 7025
+ * @CHAN_ENUM_7045: channel with freq 7045
+ * @CHAN_ENUM_7065: channel with freq 7065
+ * @CHAN_ENUM_7085: channel with freq 7085
+ * @CHAN_ENUM_7105: channel with freq 7105
  */
 enum channel_enum {
 	CHAN_ENUM_2412,
@@ -505,6 +564,67 @@ enum channel_enum {
 	CHAN_ENUM_5910,
 	CHAN_ENUM_5915,
 	CHAN_ENUM_5920,
+#ifdef CONFIG_BAND_6GHZ
+	CHAN_ENUM_5945,
+	CHAN_ENUM_5965,
+	CHAN_ENUM_5985,
+	CHAN_ENUM_6005,
+	CHAN_ENUM_6025,
+	CHAN_ENUM_6045,
+	CHAN_ENUM_6065,
+	CHAN_ENUM_6085,
+	CHAN_ENUM_6105,
+	CHAN_ENUM_6125,
+	CHAN_ENUM_6145,
+	CHAN_ENUM_6165,
+	CHAN_ENUM_6185,
+	CHAN_ENUM_6205,
+	CHAN_ENUM_6225,
+	CHAN_ENUM_6245,
+	CHAN_ENUM_6265,
+	CHAN_ENUM_6285,
+	CHAN_ENUM_6305,
+	CHAN_ENUM_6325,
+	CHAN_ENUM_6345,
+	CHAN_ENUM_6365,
+	CHAN_ENUM_6385,
+	CHAN_ENUM_6405,
+	CHAN_ENUM_6425,
+	CHAN_ENUM_6445,
+	CHAN_ENUM_6465,
+	CHAN_ENUM_6485,
+	CHAN_ENUM_6505,
+	CHAN_ENUM_6525,
+	CHAN_ENUM_6545,
+	CHAN_ENUM_6565,
+	CHAN_ENUM_6585,
+	CHAN_ENUM_6605,
+	CHAN_ENUM_6625,
+	CHAN_ENUM_6645,
+	CHAN_ENUM_6665,
+	CHAN_ENUM_6685,
+	CHAN_ENUM_6705,
+	CHAN_ENUM_6725,
+	CHAN_ENUM_6745,
+	CHAN_ENUM_6765,
+	CHAN_ENUM_6785,
+	CHAN_ENUM_6805,
+	CHAN_ENUM_6825,
+	CHAN_ENUM_6845,
+	CHAN_ENUM_6865,
+	CHAN_ENUM_6885,
+	CHAN_ENUM_6905,
+	CHAN_ENUM_6925,
+	CHAN_ENUM_6945,
+	CHAN_ENUM_6965,
+	CHAN_ENUM_6985,
+	CHAN_ENUM_7005,
+	CHAN_ENUM_7025,
+	CHAN_ENUM_7045,
+	CHAN_ENUM_7065,
+	CHAN_ENUM_7085,
+	CHAN_ENUM_7105,
+#endif /* CONFIG_BAND_6GHZ */
 
 	NUM_CHANNELS,
 
@@ -520,6 +640,12 @@ enum channel_enum {
 	MAX_5GHZ_CHANNEL = CHAN_ENUM_5920,
 	NUM_5GHZ_CHANNELS = (MAX_5GHZ_CHANNEL - MIN_5GHZ_CHANNEL + 1),
 
+#ifdef CONFIG_BAND_6GHZ
+	MIN_6GHZ_CHANNEL = CHAN_ENUM_5945,
+	MAX_6GHZ_CHANNEL = CHAN_ENUM_7105,
+	NUM_6GHZ_CHANNELS = (MAX_6GHZ_CHANNEL - MIN_6GHZ_CHANNEL + 1),
+#endif /* CONFIG_BAND_6GHZ */
+
 	MIN_DSRC_CHANNEL = CHAN_ENUM_5850,
 	MAX_DSRC_CHANNEL = CHAN_ENUM_5920,
 	NUM_DSRC_CHANNELS = (MAX_DSRC_CHANNEL - MIN_DSRC_CHANNEL + 1),

+ 18 - 0
umac/regulatory/dispatcher/inc/wlan_reg_services_api.h

@@ -94,6 +94,24 @@ bool wlan_reg_is_24ghz_ch_freq(uint32_t freq);
 #define WLAN_REG_IS_5GHZ_CH_FREQ(freq) wlan_reg_is_5ghz_ch_freq(freq)
 bool wlan_reg_is_5ghz_ch_freq(uint32_t freq);
 
+#define WLAN_REG_IS_6GHZ_CHAN_FREQ(freq) wlan_reg_is_6ghz_chan_freq(freq)
+
+#ifdef CONFIG_BAND_6GHZ
+/**
+ * wlan_reg_is_6ghz_chan_freq() - Check if the given channel frequency is 6GHz
+ * @freq: Channel frequency
+ *
+ * Return: true if channel frequency is 6GHz, else false
+ */
+
+bool wlan_reg_is_6ghz_chan_freq(uint16_t freq);
+#else
+static inline bool wlan_reg_is_6ghz_chan_freq(uint16_t freq)
+{
+	return false;
+}
+#endif
+
 #ifndef CONFIG_LEGACY_CHAN_ENUM
 /**
  * wlan_reg_is_49ghz_freq() - Check if the given channel frequency is 4.9GHz

+ 6 - 0
umac/regulatory/dispatcher/src/wlan_reg_services_api.c

@@ -666,6 +666,12 @@ bool wlan_reg_is_5ghz_ch_freq(uint32_t freq)
 	return reg_is_5ghz_ch_freq(freq);
 }
 
+#ifdef CONFIG_BAND_6GHZ
+bool wlan_reg_is_6ghz_chan_freq(uint16_t freq)
+{
+	return reg_is_6ghz_chan_freq(freq);
+}
+#endif
 #ifndef CONFIG_LEGACY_CHAN_ENUM
 bool wlan_reg_is_49ghz_freq(uint32_t freq)
 {