1 /***************************************************************************/ /**
2  * @file
3  *******************************************************************************
4  * # License
5  * <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
6  *******************************************************************************
7  *
8  * SPDX-License-Identifier: Zlib
9  *
10  * The licensor of this software is Silicon Laboratories Inc.
11  *
12  * This software is provided 'as-is', without any express or implied
13  * warranty. In no event will the authors be held liable for any damages
14  * arising from the use of this software.
15  *
16  * Permission is granted to anyone to use this software for any purpose,
17  * including commercial applications, and to alter it and redistribute it
18  * freely, subject to the following restrictions:
19  *
20  * 1. The origin of this software must not be misrepresented; you must not
21  *    claim that you wrote the original software. If you use this software
22  *    in a product, an acknowledgment in the product documentation would be
23  *    appreciated but is not required.
24  * 2. Altered source versions must be plainly marked as such, and must not be
25  *    misrepresented as being the original software.
26  * 3. This notice may not be removed or altered from any source distribution.
27  *
28  ******************************************************************************/
29 
30 #pragma once
31 
32 // Define default region-specific configurations for 2.4GHz and 5GHz bands
33 const sl_si91x_set_region_ap_request_t default_US_region_2_4GHZ_configurations = {
34   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
35   .country_code                  = "US ",
36   .no_of_rules                   = 1,
37   .channel_info[0]               = { .first_channel = 1, .no_of_channels = 11, .max_tx_power = 27 }
38 };
39 
40 const sl_si91x_set_region_ap_request_t default_US_region_5GHZ_configurations = {
41   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
42   .country_code                  = "US ",
43   .no_of_rules                   = 5,
44   .channel_info[0]               = { .first_channel = 36, .no_of_channels = 4, .max_tx_power = 16 },
45   .channel_info[1]               = { .first_channel = 52, .no_of_channels = 4, .max_tx_power = 23 },
46   .channel_info[2]               = { .first_channel = 100, .no_of_channels = 5, .max_tx_power = 23 },
47   .channel_info[3]               = { .first_channel = 132, .no_of_channels = 3, .max_tx_power = 23 },
48   .channel_info[4]               = { .first_channel = 149, .no_of_channels = 5, .max_tx_power = 29 }
49 };
50 
51 // Define default configurations for the European region for 2.4GHz and 5GHz bands
52 const sl_si91x_set_region_ap_request_t default_EU_region_2_4GHZ_configurations = {
53   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
54   .country_code                  = "EU ",
55   .no_of_rules                   = 1,
56   .channel_info[0]               = { .first_channel = 1, .no_of_channels = 13, .max_tx_power = 20 }
57 };
58 
59 const sl_si91x_set_region_ap_request_t default_EU_region_5GHZ_configurations = {
60   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
61   .country_code                  = "EU ",
62   .no_of_rules                   = 3,
63   .channel_info[0]               = { .first_channel = 36, .no_of_channels = 4, .max_tx_power = 23 },
64   .channel_info[1]               = { .first_channel = 52, .no_of_channels = 4, .max_tx_power = 23 },
65   .channel_info[2]               = { .first_channel = 100, .no_of_channels = 11, .max_tx_power = 30 }
66 };
67 
68 // Define default configurations for the Japanese region for 2.4GHz and 5GHz bands
69 const sl_si91x_set_region_ap_request_t default_JP_region_2_4GHZ_configurations = {
70   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
71   .country_code                  = "JP ",
72   .no_of_rules                   = 1,
73   .channel_info[0]               = { .first_channel = 1, .no_of_channels = 14, .max_tx_power = 20 }
74 };
75 
76 const sl_si91x_set_region_ap_request_t default_JP_region_5GHZ_configurations = {
77   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
78   .country_code                  = "JP ",
79   .no_of_rules                   = 3,
80   .channel_info[0]               = { .first_channel = 36, .no_of_channels = 4, .max_tx_power = 20 },
81   .channel_info[1]               = { .first_channel = 52, .no_of_channels = 4, .max_tx_power = 20 },
82   .channel_info[2]               = { .first_channel = 100, .no_of_channels = 11, .max_tx_power = 30 }
83 };
84 
85 // Define default configurations for the Korean region for 2.4GHz and 5GHz bands
86 const sl_si91x_set_region_ap_request_t default_KR_region_2_4GHZ_configurations = {
87   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
88   .country_code                  = "KR ",
89   .no_of_rules                   = 1,
90   .channel_info[0]               = { .first_channel = 1, .no_of_channels = 13, .max_tx_power = 23 }
91 };
92 
93 const sl_si91x_set_region_ap_request_t default_KR_region_5GHZ_configurations = {
94   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
95   .country_code                  = "KR ",
96   .no_of_rules                   = 4,
97   .channel_info[0]               = { .first_channel = 36, .no_of_channels = 4, .max_tx_power = 23 },
98   .channel_info[1]               = { .first_channel = 52, .no_of_channels = 4, .max_tx_power = 20 },
99   .channel_info[2]               = { .first_channel = 100, .no_of_channels = 11, .max_tx_power = 20 },
100   .channel_info[3]               = { .first_channel = 149, .no_of_channels = 5, .max_tx_power = 23 }
101 };
102 
103 // Define default configurations for the Singapore region for 2.4GHz and 5GHz bands
104 const sl_si91x_set_region_ap_request_t default_SG_region_2_4GHZ_configurations = {
105   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
106   .country_code                  = "SG ",
107   .no_of_rules                   = 1,
108   .channel_info[0]               = { .first_channel = 1, .no_of_channels = 13, .max_tx_power = 27 }
109 };
110 
111 const sl_si91x_set_region_ap_request_t default_SG_region_5GHZ_configurations = {
112   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
113   .country_code                  = "SG ",
114   .no_of_rules                   = 5,
115   .channel_info[0]               = { .first_channel = 36, .no_of_channels = 4, .max_tx_power = 16 },
116   .channel_info[1]               = { .first_channel = 52, .no_of_channels = 4, .max_tx_power = 23 },
117   .channel_info[2]               = { .first_channel = 100, .no_of_channels = 5, .max_tx_power = 23 },
118   .channel_info[3]               = { .first_channel = 132, .no_of_channels = 3, .max_tx_power = 23 },
119   .channel_info[4]               = { .first_channel = 149, .no_of_channels = 4, .max_tx_power = 29 }
120 };
121 
122 // Define default configurations for the China region for 2.4GHz and 5GHz bands
123 const sl_si91x_set_region_ap_request_t default_CN_region_2_4GHZ_configurations = {
124   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
125   .country_code                  = "CN ",
126   .no_of_rules                   = 1,
127   .channel_info[0]               = { .first_channel = 1, .no_of_channels = 13, .max_tx_power = 20 }
128 };
129 
130 const sl_si91x_set_region_ap_request_t default_CN_region_5GHZ_configurations = {
131   .set_region_code_from_user_cmd = SET_REGION_CODE_FROM_USER,
132   .country_code                  = "CN ",
133   .no_of_rules                   = 2,
134   .channel_info[0]               = { .first_channel = 36, .no_of_channels = 9, .max_tx_power = 20 },
135   .channel_info[4]               = { .first_channel = 149, .no_of_channels = 5, .max_tx_power = 33 }
136 };
137 
138 #if defined(__GNUC__)
139 // Restore GCC diagnostics
140 #pragma GCC diagnostic pop
141 #endif
142