cfg_mlme_reg.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. /*
  2. * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /**
  19. * DOC: This file contains configuration definitions for MLME REG.
  20. */
  21. #ifndef CFG_MLME_REG_H__
  22. #define CFG_MLME_REG_H__
  23. #define VALID_CHANNEL_LIST_DEFAULT "36, 40, 44, 48, 52, 56, 60, 64, 1, 6, 11, 34, 38, 42, 46, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 151, 153, 155, 157, 159, 161, 50, 54, 58, 62, 240, 242, 244, 246, 248, 250, 252"
  24. /*
  25. * <ini>
  26. * gSelfGenFrmPwr - self-generated frame power in tx chain mask
  27. * for CCK rates
  28. * @Min: 0
  29. * @Max: 0xffff
  30. * @Default: 0
  31. *
  32. * gSelfGenFrmPwr is to set self-generated frame power in tx chain mask
  33. * for CCK rates
  34. *
  35. * Related: None
  36. *
  37. * Supported Feature: STA
  38. *
  39. * Usage: Internal/External
  40. *
  41. * </ini>
  42. */
  43. #define CFG_SELF_GEN_FRM_PWR CFG_INI_UINT( \
  44. "gSelfGenFrmPwr", \
  45. 0, \
  46. 0xffff, \
  47. 0, \
  48. CFG_VALUE_OR_DEFAULT, \
  49. "set the self gen power value")
  50. /*
  51. * <ini>
  52. * enable_11d_in_world_mode - enable 11d in world mode
  53. * @Min: 0
  54. * @Max: 1
  55. * @Default: 0
  56. *
  57. * This ini enables 11d in world mode, irrespective of value of
  58. * g11dSupportEnabled
  59. *
  60. * Usage: External
  61. *
  62. * </ini>
  63. */
  64. #define CFG_ENABLE_11D_IN_WORLD_MODE CFG_INI_BOOL( \
  65. "enable_11d_in_world_mode", \
  66. 0, \
  67. "enable 11d in world mode")
  68. /*
  69. * <ini>
  70. * etsi13_srd_chan_in_master_mode - Enable/disable ETSI SRD channels in
  71. * master mode PCL and ACS functionality
  72. * @Min: 0
  73. * @Max: 1
  74. * @Default: 0
  75. *
  76. * etsi13_srd_chan_in_master_mode is to enable/disable ETSI SRD channels in
  77. * master mode PCL and ACS functionality
  78. *
  79. * Related: None
  80. *
  81. * Supported Feature: SAP/P2P-GO
  82. *
  83. * Usage: Internal/External
  84. *
  85. * </ini>
  86. */
  87. #define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE CFG_INI_BOOL( \
  88. "etsi13_srd_chan_in_master_mode", \
  89. 0, \
  90. "enable/disable ETSI SRD channels in master mode")
  91. /*
  92. * <ini>
  93. * fcc_5dot9_ghz_chan_in_master_mode - Enable/disable 5.9 GHz channels in
  94. * master mode for US
  95. * @Min: 0
  96. * @Max: 1
  97. * @Default: 0
  98. *
  99. * fcc_5dot9_ghz_chan_in_master_mode is to enable/disable 5.9 GHz channels
  100. * in master mode for FCC reg domain
  101. *
  102. * Related: None
  103. *
  104. * Supported Feature: SAP/P2P-GO
  105. *
  106. * Usage: Internal/External
  107. *
  108. * </ini>
  109. */
  110. #define CFG_FCC_5DOT9_GHZ_CHAN_IN_MASTER_MODE CFG_INI_BOOL( \
  111. "fcc_5dot9_ghz_chan_in_master_mode", \
  112. 0, \
  113. "enable/disable FCC 5.9 GHz channels in master mode")
  114. #ifdef SAP_AVOID_ACS_FREQ_LIST
  115. #define SAP_AVOID_ACS_FREQ_LIST_DEFAULT ""
  116. /*
  117. * <ini>
  118. * sap_avoid_acs_freq_list - Avoid configured frequencies from acs
  119. * @Default: No frequencies are configured, it means consider all
  120. * the frequencies for acs
  121. *
  122. * This ini is to configure the frequencies which needs to be
  123. * avoided during acs and sap will not come up on these channels
  124. * Ex: sap_avoid_acs_freq_list=2412,2417,2422,2427,2467,2472
  125. *
  126. * Related: Feature flag SAP_AVOID_ACS_FREQ_LIST
  127. *
  128. * Supported Feature: SAP
  129. *
  130. * Usage: External
  131. *
  132. * </ini>
  133. */
  134. #define CFG_SAP_AVOID_ACS_FREQ_LIST CFG_INI_STRING( \
  135. "sap_avoid_acs_freq_list", \
  136. 0, \
  137. CFG_VALID_CHANNEL_LIST_STRING_LEN, \
  138. SAP_AVOID_ACS_FREQ_LIST_DEFAULT, \
  139. "Avoid configured frequencies during acs")
  140. #define CFG_SAP_AVOID_ACS_FREQ_LIST_ALL CFG(CFG_SAP_AVOID_ACS_FREQ_LIST)
  141. #else
  142. #define CFG_SAP_AVOID_ACS_FREQ_LIST_ALL
  143. #endif
  144. /*
  145. * <ini>
  146. * restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
  147. * away from active LTE channels
  148. * @Min: 0
  149. * @Max: 2
  150. * @Default: 1
  151. *
  152. * This ini is used to control the beaconing entity (SAP/GO) to move away from
  153. * active LTE channels when channel avoidance event is received
  154. * restart_beaconing_on_chan_avoid_event=0: Don't allow beaconing entity move
  155. * from active LTE channels
  156. * restart_beaconing_on_chan_avoid_event=1: Allow beaconing entity move from
  157. * active LTE channels
  158. * restart_beaconing_on_chan_avoid_event=2: Allow beaconing entity move from
  159. * 2.4G active LTE channels only
  160. *
  161. * Related: None
  162. *
  163. * Supported Feature: channel avoidance
  164. *
  165. * Usage: Internal/External
  166. *
  167. * </ini>
  168. */
  169. #define CFG_RESTART_BEACONING_ON_CH_AVOID CFG_INI_UINT( \
  170. "restart_beaconing_on_chan_avoid_event", \
  171. 0, \
  172. 2, \
  173. 1, \
  174. CFG_VALUE_OR_DEFAULT, \
  175. "control the beaconing entity to move away from active LTE channels")
  176. /*
  177. * <ini>
  178. * gindoor_channel_support - support to start sap in indoor channel
  179. * @Min: 0
  180. * @Max: 1
  181. * @Default: 0
  182. *
  183. * This ini is to support to start sap in indoor channel.
  184. * Customer can config this item to enable/disable sap in indoor channel
  185. *
  186. * Related: None
  187. *
  188. * Supported Feature: SAP
  189. *
  190. * Usage: External
  191. *
  192. * </ini>
  193. */
  194. #define CFG_INDOOR_CHANNEL_SUPPORT CFG_INI_BOOL( \
  195. "gindoor_channel_support", \
  196. 0, \
  197. "enable/disable sap in indoor channel")
  198. /*
  199. * <ini>
  200. * scan_11d_interval - 11d scan interval in ms
  201. * @Min: 1 sec
  202. * @Max: 10 hr
  203. * @Default: 1 hr
  204. *
  205. * This ini sets the 11d scan interval in FW
  206. *
  207. * Related: None
  208. *
  209. * Supported Feature: STA
  210. *
  211. * Usage: External
  212. *
  213. * </ini>
  214. */
  215. #define CFG_SCAN_11D_INTERVAL CFG_INI_UINT( \
  216. "scan_11d_interval", \
  217. 1000, \
  218. 36000000, \
  219. 3600000, \
  220. CFG_VALUE_OR_DEFAULT, \
  221. "set the 11d scan interval in FW")
  222. /*
  223. * valid_chan_list - Configure valid channel list
  224. * @Default: VALID_CHANNEL_LIST_DEFAULT
  225. *
  226. * This ini is used to configure valid channel list
  227. *
  228. * Usage: Internal
  229. *
  230. */
  231. #define CFG_VALID_CHANNEL_LIST CFG_STRING( \
  232. "valid_chan_list", \
  233. 0, \
  234. CFG_VALID_CHANNEL_LIST_STRING_LEN, \
  235. VALID_CHANNEL_LIST_DEFAULT, \
  236. "valid channel list")
  237. /*
  238. * <ini>
  239. * ignore_fw_reg_offload_ind - If set, Ignore the FW offload indication
  240. * @Min: 0
  241. * @Max: 1
  242. * @Default: 0
  243. *
  244. * This ini is used to ignore regdb offload indication from FW and
  245. * regulatory will be treated as non offload.
  246. *
  247. * Related: None
  248. *
  249. * Supported Feature: STA/AP
  250. *
  251. * Usage: External
  252. *
  253. * </ini>
  254. */
  255. #define CFG_IGNORE_FW_REG_OFFLOAD_IND CFG_INI_BOOL( \
  256. "ignore_fw_reg_offload_ind", \
  257. 0, \
  258. "Ignore Regulatory offloads Indication from FW")
  259. /*
  260. * <ini>
  261. * enable_pending_list_req - Sets Pending channel List Req.
  262. * @Min: 0
  263. * @Max: 1
  264. * @Default: 0
  265. *
  266. * This option enables/disables SCAN_CHAN_LIST_CMDID channel list command to FW
  267. * till the current scan is complete.
  268. *
  269. * Related: None
  270. *
  271. * Supported Feature: STA
  272. *
  273. * Usage: External
  274. *
  275. * </ini>
  276. */
  277. #define CFG_ENABLE_PENDING_CHAN_LIST_REQ CFG_INI_BOOL( \
  278. "enable_pending_list_req", \
  279. 0, \
  280. "Enable Pending list req")
  281. #define CFG_REG_ALL \
  282. CFG(CFG_SELF_GEN_FRM_PWR) \
  283. CFG(CFG_ENABLE_PENDING_CHAN_LIST_REQ) \
  284. CFG(CFG_ENABLE_11D_IN_WORLD_MODE) \
  285. CFG(CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE) \
  286. CFG(CFG_FCC_5DOT9_GHZ_CHAN_IN_MASTER_MODE) \
  287. CFG(CFG_RESTART_BEACONING_ON_CH_AVOID) \
  288. CFG(CFG_INDOOR_CHANNEL_SUPPORT) \
  289. CFG(CFG_SCAN_11D_INTERVAL) \
  290. CFG(CFG_VALID_CHANNEL_LIST) \
  291. CFG(CFG_IGNORE_FW_REG_OFFLOAD_IND) \
  292. CFG_SAP_AVOID_ACS_FREQ_LIST_ALL
  293. #endif /* CFG_MLME_REG_H__ */