cfg_mlme_vht_caps.h 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  1. /*
  2. * Copyright (c) 2012-2018 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 centralized definitions of converged configuration.
  20. */
  21. #ifndef __CFG_MLME_VHT_CAPS_H
  22. #define __CFG_MLME_VHT_CAPS_H
  23. #define CFG_VHT_SUPP_CHAN_WIDTH CFG_UINT( \
  24. "supp_chan_width", \
  25. 0, \
  26. 2, \
  27. 0, \
  28. CFG_VALUE_OR_DEFAULT, \
  29. "VHT SUPPORTED CHAN WIDTH SET")
  30. #define CFG_VHT_BEAMFORMEE_ANT_SUPP CFG_UINT( \
  31. "tx_bfee_ant_supp", \
  32. 0, \
  33. 8, \
  34. 8, \
  35. CFG_VALUE_OR_DEFAULT, \
  36. "VHT BEAMFORMEE ANTENNA SUPPORTED CAP")
  37. #define CFG_VHT_NUM_SOUNDING_DIMENSIONS CFG_UINT( \
  38. "num_soundingdim", \
  39. 0, \
  40. 3, \
  41. 0, \
  42. CFG_VALUE_OR_DEFAULT, \
  43. "VHT NUMBER OF SOUNDING DIMENSIONS")
  44. #define CFG_VHT_HTC_VHTC CFG_BOOL( \
  45. "htc_vhtc", \
  46. 0, \
  47. "VHT HTC VHTC")
  48. #define CFG_VHT_LINK_ADAPTATION_CAP CFG_UINT( \
  49. "link_adap_cap", \
  50. 0, \
  51. 3, \
  52. 0, \
  53. CFG_VALUE_OR_DEFAULT, \
  54. "VHT LINK ADAPTATION CAP")
  55. #define CFG_VHT_RX_ANT_PATTERN CFG_BOOL( \
  56. "rx_antpattern", \
  57. 1, \
  58. "VHT RX ANTENNA PATTERN CAP")
  59. #define CFG_VHT_TX_ANT_PATTERN CFG_BOOL( \
  60. "tx_antpattern", \
  61. 1, \
  62. "VHT TX ANTENNA PATTERN CAP")
  63. #define CFG_VHT_RX_SUPP_DATA_RATE CFG_UINT( \
  64. "rx_supp_data_rate", \
  65. 0, \
  66. 780, \
  67. 780, \
  68. CFG_VALUE_OR_DEFAULT, \
  69. "VHT RX SUPP DATA RATE")
  70. #define CFG_VHT_TX_SUPP_DATA_RATE CFG_UINT( \
  71. "tx_supp_data_rate", \
  72. 0, \
  73. 780, \
  74. 780, \
  75. CFG_VALUE_OR_DEFAULT, \
  76. "VHT TX SUPP DATA RATE")
  77. #define CFG_VHT_ENABLE_TXBF_20MHZ CFG_BOOL( \
  78. "enable_txbf_20mhz", \
  79. 0, \
  80. "VHT ENABLE TXBF 20MHZ")
  81. #define CFG_VHT_LDPC_CODING_CAP CFG_INI_BOOL( \
  82. "ldpc_coding_cap", \
  83. 0, \
  84. "VHT LDPC CODING CAP")
  85. #define CFG_VHT_SHORT_GI_80MHZ CFG_INI_BOOL( \
  86. "short_gi_80mhz", \
  87. 1, \
  88. "VHT SHORT GI 80MHZ")
  89. #define CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ CFG_INI_BOOL( \
  90. "short_gi_160mhz", \
  91. 0, \
  92. "VHT SHORT GI 160 AND 80 PLUS 80MHZ")
  93. #define CFG_VHT_TXSTBC CFG_INI_BOOL( \
  94. "tx_stbc", \
  95. 0, \
  96. "VHT Tx STBC")
  97. #define CFG_VHT_RXSTBC CFG_INI_BOOL( \
  98. "rx_stbc", \
  99. 1, \
  100. "VHT Rx STBC")
  101. #define CFG_VHT_SU_BEAMFORMER_CAP CFG_INI_BOOL( \
  102. "su_bformer", \
  103. 0, \
  104. "VHT SU BEAMFORMER CAP")
  105. #define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \
  106. "su_bformee", \
  107. 1, \
  108. "VHT SU BEAMFORMEE CAP")
  109. #define CFG_VHT_MU_BEAMFORMER_CAP CFG_INI_BOOL( \
  110. "mu_bformer", \
  111. 0, \
  112. "VHT MU BEAMFORMER CAP")
  113. #define CFG_VHT_TXOP_PS CFG_INI_BOOL( \
  114. "txop_ps", \
  115. 0, \
  116. "VHT TXOP PS")
  117. #define CFG_VHT_RX_MCS_MAP CFG_INI_UINT( \
  118. "rx_mcs_map", \
  119. 0, \
  120. 65535, \
  121. 65534, \
  122. CFG_VALUE_OR_DEFAULT, \
  123. "VHT RX MCS MAP")
  124. #define CFG_VHT_TX_MCS_MAP CFG_INI_UINT( \
  125. "tx_mcs_map", \
  126. 0, \
  127. 65535, \
  128. 65534, \
  129. CFG_VALUE_OR_DEFAULT, \
  130. "VHT TX MCS MAP")
  131. #define CFG_VHT_BASIC_MCS_SET CFG_INI_UINT( \
  132. "basic_mcs_set", \
  133. 0, \
  134. 65535, \
  135. 65534, \
  136. CFG_VALUE_OR_DEFAULT, \
  137. "VHT BASIC MCS SET")
  138. /*
  139. * <ini>
  140. * gVhtChannelWidth - Channel width capability for 11ac
  141. * @Min: 0
  142. * @Max: 4
  143. * @Default: 3
  144. *
  145. * This ini is used to set channel width capability for 11AC.
  146. * eHT_CHANNEL_WIDTH_20MHZ = 0,
  147. * eHT_CHANNEL_WIDTH_40MHZ = 1,
  148. * eHT_CHANNEL_WIDTH_80MHZ = 2,
  149. * eHT_CHANNEL_WIDTH_160MHZ = 3,
  150. * eHT_CHANNEL_WIDTH_80P80MHZ = 4,
  151. *
  152. * Related: NA
  153. *
  154. * Supported Feature: 11AC
  155. *
  156. * Usage: External
  157. *
  158. * </ini>
  159. */
  160. #define CFG_VHT_CHANNEL_WIDTH CFG_INI_UINT( \
  161. "gVhtChannelWidth", \
  162. 0, \
  163. 4, \
  164. 2, \
  165. CFG_VALUE_OR_DEFAULT, \
  166. "Channel width capability for 11ac")
  167. /*
  168. * <ini>
  169. * gVhtRxMCS - VHT Rx MCS capability for 1x1 mode
  170. * @Min: 0
  171. * @Max: 2
  172. * @Default: 0
  173. *
  174. * This ini is used to set VHT Rx MCS capability for 1x1 mode.
  175. * 0, MCS0-7
  176. * 1, MCS0-8
  177. * 2, MCS0-9
  178. *
  179. * Related: NA
  180. *
  181. * Supported Feature: 11AC
  182. *
  183. * Usage: Internal/External
  184. *
  185. * </ini>
  186. */
  187. #define CFG_VHT_ENABLE_RX_MCS_8_9 CFG_INI_UINT( \
  188. "gVhtRxMCS", \
  189. 0, \
  190. 2, \
  191. 0, \
  192. CFG_VALUE_OR_DEFAULT, \
  193. "VHT Rx MCS")
  194. /*
  195. * <ini>
  196. * gVhtTxMCS - VHT Tx MCS capability for 1x1 mode
  197. * @Min: 0
  198. * @Max: 2
  199. * @Default: 0
  200. *
  201. * This ini is used to set VHT Tx MCS capability for 1x1 mode.
  202. * 0, MCS0-7
  203. * 1, MCS0-8
  204. * 2, MCS0-9
  205. *
  206. * Related: NA
  207. *
  208. * Supported Feature: 11AC
  209. *
  210. * Usage: Internal/External
  211. *
  212. * </ini>
  213. */
  214. #define CFG_VHT_ENABLE_TX_MCS_8_9 CFG_INI_UINT( \
  215. "gVhtTxMCS", \
  216. 0, \
  217. 2, \
  218. 0, \
  219. CFG_VALUE_OR_DEFAULT, \
  220. "VHT Tx MCS")
  221. /*
  222. * <ini>
  223. * gVhtRxMCS2x2 - VHT Rx MCS capability for 2x2 mode
  224. * @Min: 0
  225. * @Max: 2
  226. * @Default: 0
  227. *
  228. * This ini is used to set VHT Rx MCS capability for 2x2 mode.
  229. * 0, MCS0-7
  230. * 1, MCS0-8
  231. * 2, MCS0-9
  232. *
  233. * Related: NA
  234. *
  235. * Supported Feature: 11AC
  236. *
  237. * Usage: External
  238. *
  239. * </ini>
  240. */
  241. #define CFG_VHT_ENABLE_RX_MCS2x2_8_9 CFG_INI_UINT( \
  242. "gVhtRxMCS2x2", \
  243. 0, \
  244. 2, \
  245. 0, \
  246. CFG_VALUE_OR_DEFAULT, \
  247. "VHT Rx MCS 2x2")
  248. /*
  249. * <ini>
  250. * gVhtTxMCS2x2 - VHT Tx MCS capability for 2x2 mode
  251. * @Min: 0
  252. * @Max: 2
  253. * @Default: 0
  254. *
  255. * This ini is used to set VHT Tx MCS capability for 2x2 mode.
  256. * 0, MCS0-7
  257. * 1, MCS0-8
  258. * 2, MCS0-9
  259. *
  260. * Related: NA
  261. *
  262. * Supported Feature: 11AC
  263. *
  264. * Usage: External
  265. *
  266. * </ini>
  267. */
  268. #define CFG_VHT_ENABLE_TX_MCS2x2_8_9 CFG_INI_UINT( \
  269. "gVhtTxMCS2x2", \
  270. 0, \
  271. 2, \
  272. 0, \
  273. CFG_VALUE_OR_DEFAULT, \
  274. "VHT Tx MCS 2x2")
  275. /*
  276. * <ini>
  277. * enable_vht20_mcs9 - Enables VHT MCS9 in 20M BW operation
  278. * @Min: 0
  279. * @Max: 1
  280. * @Default: 1
  281. *
  282. * Related: NA
  283. *
  284. * Supported Feature: 11AC
  285. *
  286. * Usage: External
  287. *
  288. * </ini>
  289. */
  290. #define CFG_ENABLE_VHT20_MCS9 CFG_INI_BOOL( \
  291. "enable_vht20_mcs9", \
  292. 1, \
  293. "Enables VHT MCS9 in 20M BW")
  294. /*
  295. * <ini>
  296. * gEnable2x2 - Enables/disables VHT Tx/Rx MCS values for 2x2
  297. * @Min: 0
  298. * @Max: 1
  299. * @Default: 0
  300. *
  301. * This ini disables/enables 2x2 mode. If this is zero then DUT operates as 1x1
  302. *
  303. * 0, Disable
  304. * 1, Enable
  305. *
  306. * Related: NA
  307. *
  308. * Supported Feature: 11AC
  309. *
  310. * Usage: External
  311. *
  312. * </ini>
  313. */
  314. #define CFG_VHT_ENABLE_2x2_CAP_FEATURE CFG_INI_BOOL( \
  315. "gEnable2x2", \
  316. 0, \
  317. "VHT Enable 2x2")
  318. /*
  319. * <ini>
  320. * gEnableMuBformee - Enables/disables multi-user (MU) beam formee capability
  321. * @Min: 0
  322. * @Max: 1
  323. * @Default: 0
  324. *
  325. * This ini enables/disables multi-user (MU) beam formee
  326. * capability
  327. *
  328. * Change MU Bformee only when gTxBFEnable is enabled.
  329. * When gTxBFEnable and gEnableMuBformee are set, MU beam formee capability is
  330. * enabled.
  331. * Related: gTxBFEnable
  332. *
  333. * Supported Feature: 11AC
  334. *
  335. * Usage: External
  336. *
  337. * </ini>
  338. */
  339. #define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE CFG_INI_BOOL( \
  340. "gEnableMuBformee", \
  341. 0, \
  342. "VHT Enable MU Beamformee")
  343. #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \
  344. "gEnablePAID", \
  345. 0, \
  346. "VHT Enable PAID")
  347. #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \
  348. "gEnableGID", \
  349. 0, \
  350. "VHT Enable GID")
  351. /* Parameter to control VHT support in 2.4 GHz band */
  352. #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \
  353. "gEnableVhtFor24GHzBand", \
  354. 0, \
  355. "VHT Enable for 24GHz")
  356. /*
  357. * gEnableVendorVhtFor24GHzBand:Parameter to control VHT support
  358. * based on vendor ie in 2.4 GHz band
  359. * @Min: 0
  360. * @Max: 1
  361. * @Default: 1
  362. *
  363. * This parameter will enable SAP to read VHT capability in vendor ie in Assoc
  364. * Req and send VHT caps in Resp to establish connection in VHT Mode.
  365. * Supported Feature: SAP
  366. *
  367. *
  368. * Usage: Internal/External
  369. *
  370. * </ini>
  371. */
  372. #define CFG_ENABLE_VENDOR_VHT_FOR_24GHZ CFG_INI_BOOL( \
  373. "gEnableVendorVhtFor24GHzBand", \
  374. 1, \
  375. "VHT Enable Vendor for 24GHz")
  376. /* Macro to handle maximum receive AMPDU size configuration */
  377. #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \
  378. "gVhtAmpduLenExponent", \
  379. 0, \
  380. 7, \
  381. 3, \
  382. CFG_VALUE_OR_DEFAULT, \
  383. "VHT AMPDU Len in Exponent")
  384. #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \
  385. "gVhtMpduLen", \
  386. 0, \
  387. 2, \
  388. 0, \
  389. CFG_VALUE_OR_DEFAULT, \
  390. "VHT MPDU Length")
  391. #define CFG_VHT_CAPS_ALL \
  392. CFG(CFG_VHT_SUPP_CHAN_WIDTH) \
  393. CFG(CFG_VHT_LDPC_CODING_CAP) \
  394. CFG(CFG_VHT_SHORT_GI_80MHZ) \
  395. CFG(CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ) \
  396. CFG(CFG_VHT_TXSTBC) \
  397. CFG(CFG_VHT_RXSTBC) \
  398. CFG(CFG_VHT_SU_BEAMFORMER_CAP) \
  399. CFG(CFG_VHT_SU_BEAMFORMEE_CAP) \
  400. CFG(CFG_VHT_BEAMFORMEE_ANT_SUPP) \
  401. CFG(CFG_VHT_NUM_SOUNDING_DIMENSIONS) \
  402. CFG(CFG_VHT_MU_BEAMFORMER_CAP) \
  403. CFG(CFG_VHT_TXOP_PS) \
  404. CFG(CFG_VHT_HTC_VHTC) \
  405. CFG(CFG_VHT_LINK_ADAPTATION_CAP) \
  406. CFG(CFG_VHT_RX_ANT_PATTERN) \
  407. CFG(CFG_VHT_TX_ANT_PATTERN) \
  408. CFG(CFG_VHT_RX_MCS_MAP) \
  409. CFG(CFG_VHT_TX_MCS_MAP) \
  410. CFG(CFG_VHT_RX_SUPP_DATA_RATE) \
  411. CFG(CFG_VHT_TX_SUPP_DATA_RATE) \
  412. CFG(CFG_VHT_BASIC_MCS_SET) \
  413. CFG(CFG_VHT_ENABLE_TXBF_20MHZ) \
  414. CFG(CFG_VHT_CHANNEL_WIDTH) \
  415. CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \
  416. CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \
  417. CFG(CFG_VHT_ENABLE_RX_MCS2x2_8_9) \
  418. CFG(CFG_VHT_ENABLE_TX_MCS2x2_8_9) \
  419. CFG(CFG_ENABLE_VHT20_MCS9) \
  420. CFG(CFG_VHT_ENABLE_2x2_CAP_FEATURE) \
  421. CFG(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE) \
  422. CFG(CFG_VHT_ENABLE_PAID_FEATURE) \
  423. CFG(CFG_VHT_ENABLE_GID_FEATURE) \
  424. CFG(CFG_ENABLE_VHT_FOR_24GHZ) \
  425. CFG(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ) \
  426. CFG(CFG_VHT_AMPDU_LEN_EXPONENT) \
  427. CFG(CFG_VHT_MPDU_LEN)
  428. #endif /* __CFG_MLME_VHT_CAPS_H */