cfg_mlme_vht_caps.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600
  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. /*
  31. * <ini>
  32. * gTxBFCsnValue - ini to set VHT/HE STS Caps field
  33. * @Min: 0
  34. * @Max: 7
  35. * @Default: 7
  36. *
  37. * This ini is used to configure the STS capability shown in AC/AX mode
  38. * MGMT frame IE, the final STS field shown in VHT/HE IE will be calculated
  39. * by MIN of (INI set, target report value). Only if gTxBFEnable is enabled
  40. * and SU/MU BEAMFORMEE Caps is shown, then STS Caps make sense.
  41. *
  42. * Related: gTxBFEnable.
  43. *
  44. * Supported Feature: STA/SAP
  45. *
  46. * Usage: Internal
  47. *
  48. * </ini>
  49. */
  50. #define CFG_VHT_BEAMFORMEE_ANT_SUPP CFG_INI_UINT( \
  51. "txBFCsnValue", \
  52. 0, \
  53. 7, \
  54. 7, \
  55. CFG_VALUE_OR_DEFAULT, \
  56. "VHT BEAMFORMEE ANTENNA SUPPORTED CAP")
  57. /*
  58. * <ini>
  59. * gEnableTxSUBeamformer - Enables TX Su beam former
  60. * @Min: 0
  61. * @Max: 1
  62. * @Default: 0
  63. *
  64. * Related: NA
  65. *
  66. * Supported Feature: 11AC
  67. *
  68. * Usage: External
  69. *
  70. * </ini>
  71. */
  72. #define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \
  73. "gEnableTxSUBeamformer", \
  74. 0, \
  75. "vht tx su beam former")
  76. #define CFG_VHT_NUM_SOUNDING_DIMENSIONS CFG_UINT( \
  77. "num_soundingdim", \
  78. 0, \
  79. 3, \
  80. 0, \
  81. CFG_VALUE_OR_DEFAULT, \
  82. "VHT NUMBER OF SOUNDING DIMENSIONS")
  83. #define CFG_VHT_HTC_VHTC CFG_BOOL( \
  84. "htc_vhtc", \
  85. 0, \
  86. "VHT HTC VHTC")
  87. #define CFG_VHT_LINK_ADAPTATION_CAP CFG_UINT( \
  88. "link_adap_cap", \
  89. 0, \
  90. 3, \
  91. 0, \
  92. CFG_VALUE_OR_DEFAULT, \
  93. "VHT LINK ADAPTATION CAP")
  94. #define CFG_VHT_RX_ANT_PATTERN CFG_BOOL( \
  95. "rx_antpattern", \
  96. 1, \
  97. "VHT RX ANTENNA PATTERN CAP")
  98. #define CFG_VHT_TX_ANT_PATTERN CFG_BOOL( \
  99. "tx_antpattern", \
  100. 1, \
  101. "VHT TX ANTENNA PATTERN CAP")
  102. #define CFG_VHT_RX_SUPP_DATA_RATE CFG_UINT( \
  103. "rx_supp_data_rate", \
  104. 0, \
  105. 780, \
  106. 780, \
  107. CFG_VALUE_OR_DEFAULT, \
  108. "VHT RX SUPP DATA RATE")
  109. #define CFG_VHT_TX_SUPP_DATA_RATE CFG_UINT( \
  110. "tx_supp_data_rate", \
  111. 0, \
  112. 780, \
  113. 780, \
  114. CFG_VALUE_OR_DEFAULT, \
  115. "VHT TX SUPP DATA RATE")
  116. /*
  117. * <ini>
  118. * gTxBFEnable - Enables SU beamformee caps
  119. * @Min: 0
  120. * @Max: 1
  121. * @Default: 1
  122. *
  123. * Related: NA
  124. *
  125. * Supported Feature: 11AC
  126. *
  127. * Usage: External
  128. *
  129. * </ini>
  130. */
  131. #define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \
  132. "gTxBFEnable", \
  133. 1, \
  134. "VHT SU BEAMFORMEE CAPABILITY")
  135. /*
  136. * <ini>
  137. * gEnableTxBFin20MHz - Enables TXBF in 20mhz
  138. * @Min: 0
  139. * @Max: 1
  140. * @Default: 0
  141. *
  142. * Related: NA
  143. *
  144. * Supported Feature: 11AC
  145. *
  146. * Usage: External
  147. *
  148. * </ini>
  149. */
  150. #define CFG_VHT_ENABLE_TXBF_IN_20MHZ CFG_INI_BOOL( \
  151. "gEnableTxBFin20MHz", \
  152. 0, \
  153. "VHT ENABLE TXBF 20MHZ")
  154. #define CFG_VHT_SU_BEAMFORMER_CAP CFG_BOOL( \
  155. "su_bformer", \
  156. 0, \
  157. "VHT SU BEAMFORMER CAP")
  158. #define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \
  159. "mu_bformer", \
  160. 0, \
  161. "VHT MU BEAMFORMER CAP")
  162. #define CFG_VHT_TXOP_PS CFG_BOOL( \
  163. "txop_ps", \
  164. 0, \
  165. "VHT TXOP PS")
  166. /*
  167. * <ini>
  168. * gVhtChannelWidth - Channel width capability for 11ac
  169. * @Min: 0
  170. * @Max: 4
  171. * @Default: 3
  172. *
  173. * This ini is used to set channel width capability for 11AC.
  174. * eHT_CHANNEL_WIDTH_20MHZ = 0,
  175. * eHT_CHANNEL_WIDTH_40MHZ = 1,
  176. * eHT_CHANNEL_WIDTH_80MHZ = 2,
  177. * eHT_CHANNEL_WIDTH_160MHZ = 3,
  178. * eHT_CHANNEL_WIDTH_80P80MHZ = 4,
  179. *
  180. * Related: NA
  181. *
  182. * Supported Feature: 11AC
  183. *
  184. * Usage: External
  185. *
  186. * </ini>
  187. */
  188. #define CFG_VHT_CHANNEL_WIDTH CFG_INI_UINT( \
  189. "gVhtChannelWidth", \
  190. 0, \
  191. 4, \
  192. 2, \
  193. CFG_VALUE_OR_DEFAULT, \
  194. "Channel width capability for 11ac")
  195. /*
  196. * <ini>
  197. * gVhtRxMCS - VHT Rx MCS capability for 1x1 mode
  198. * @Min: 0
  199. * @Max: 2
  200. * @Default: 0
  201. *
  202. * This ini is used to set VHT Rx MCS capability for 1x1 mode.
  203. * 0, MCS0-7
  204. * 1, MCS0-8
  205. * 2, MCS0-9
  206. *
  207. * Related: NA
  208. *
  209. * Supported Feature: 11AC
  210. *
  211. * Usage: Internal/External
  212. *
  213. * </ini>
  214. */
  215. #define CFG_VHT_ENABLE_RX_MCS_8_9 CFG_INI_UINT( \
  216. "gVhtRxMCS", \
  217. 0, \
  218. 2, \
  219. 0, \
  220. CFG_VALUE_OR_DEFAULT, \
  221. "VHT Rx MCS")
  222. /*
  223. * <ini>
  224. * gVhtTxMCS - VHT Tx MCS capability for 1x1 mode
  225. * @Min: 0
  226. * @Max: 2
  227. * @Default: 0
  228. *
  229. * This ini is used to set VHT Tx MCS capability for 1x1 mode.
  230. * 0, MCS0-7
  231. * 1, MCS0-8
  232. * 2, MCS0-9
  233. *
  234. * Related: NA
  235. *
  236. * Supported Feature: 11AC
  237. *
  238. * Usage: Internal/External
  239. *
  240. * </ini>
  241. */
  242. #define CFG_VHT_ENABLE_TX_MCS_8_9 CFG_INI_UINT( \
  243. "gVhtTxMCS", \
  244. 0, \
  245. 2, \
  246. 0, \
  247. CFG_VALUE_OR_DEFAULT, \
  248. "VHT Tx MCS")
  249. /*
  250. * <ini>
  251. * gVhtRxMCS2x2 - VHT Rx MCS capability for 2x2 mode
  252. * @Min: 0
  253. * @Max: 2
  254. * @Default: 0
  255. *
  256. * This ini is used to set VHT Rx MCS capability for 2x2 mode.
  257. * 0, MCS0-7
  258. * 1, MCS0-8
  259. * 2, MCS0-9
  260. *
  261. * Related: NA
  262. *
  263. * Supported Feature: 11AC
  264. *
  265. * Usage: External
  266. *
  267. * </ini>
  268. */
  269. #define CFG_VHT_ENABLE_RX_MCS2x2_8_9 CFG_INI_UINT( \
  270. "gVhtRxMCS2x2", \
  271. 0, \
  272. 2, \
  273. 0, \
  274. CFG_VALUE_OR_DEFAULT, \
  275. "VHT Rx MCS 2x2")
  276. /*
  277. * <ini>
  278. * gVhtTxMCS2x2 - VHT Tx MCS capability for 2x2 mode
  279. * @Min: 0
  280. * @Max: 2
  281. * @Default: 0
  282. *
  283. * This ini is used to set VHT Tx MCS capability for 2x2 mode.
  284. * 0, MCS0-7
  285. * 1, MCS0-8
  286. * 2, MCS0-9
  287. *
  288. * Related: NA
  289. *
  290. * Supported Feature: 11AC
  291. *
  292. * Usage: External
  293. *
  294. * </ini>
  295. */
  296. #define CFG_VHT_ENABLE_TX_MCS2x2_8_9 CFG_INI_UINT( \
  297. "gVhtTxMCS2x2", \
  298. 0, \
  299. 2, \
  300. 0, \
  301. CFG_VALUE_OR_DEFAULT, \
  302. "VHT Tx MCS 2x2")
  303. /*
  304. * <ini>
  305. * enable_vht20_mcs9 - Enables VHT MCS9 in 20M BW operation
  306. * @Min: 0
  307. * @Max: 1
  308. * @Default: 1
  309. *
  310. * Related: NA
  311. *
  312. * Supported Feature: 11AC
  313. *
  314. * Usage: External
  315. *
  316. * </ini>
  317. */
  318. #define CFG_ENABLE_VHT20_MCS9 CFG_INI_BOOL( \
  319. "enable_vht20_mcs9", \
  320. 1, \
  321. "Enables VHT MCS9 in 20M BW")
  322. /*
  323. * <ini>
  324. * gEnable2x2 - Enables/disables VHT Tx/Rx MCS values for 2x2
  325. * @Min: 0
  326. * @Max: 1
  327. * @Default: 0
  328. *
  329. * This ini disables/enables 2x2 mode. If this is zero then DUT operates as 1x1
  330. *
  331. * 0, Disable
  332. * 1, Enable
  333. *
  334. * Related: NA
  335. *
  336. * Supported Feature: 11AC
  337. *
  338. * Usage: External
  339. *
  340. * </ini>
  341. */
  342. #define CFG_VHT_ENABLE_2x2_CAP_FEATURE CFG_INI_BOOL( \
  343. "gEnable2x2", \
  344. 0, \
  345. "VHT Enable 2x2")
  346. /*
  347. * <ini>
  348. * gEnableMuBformee - Enables/disables multi-user (MU) beam formee capability
  349. * @Min: 0
  350. * @Max: 1
  351. * @Default: 0
  352. *
  353. * This ini enables/disables multi-user (MU) beam formee
  354. * capability
  355. *
  356. * Change MU Bformee only when gTxBFEnable is enabled.
  357. * When gTxBFEnable and gEnableMuBformee are set, MU beam formee capability is
  358. * enabled.
  359. * Related: gTxBFEnable
  360. *
  361. * Supported Feature: 11AC
  362. *
  363. * Usage: External
  364. *
  365. * </ini>
  366. */
  367. #define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE CFG_INI_BOOL( \
  368. "gEnableMuBformee", \
  369. 0, \
  370. "VHT Enable MU Beamformee")
  371. /*
  372. * <ini>
  373. * gEnablePAID - Enables VHT paid feature
  374. * @Min: 0
  375. * @Max: 1
  376. * @Default: 0
  377. *
  378. * Related: NA
  379. *
  380. * Supported Feature: 11AC
  381. *
  382. * Usage: External
  383. *
  384. * </ini>
  385. */
  386. #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \
  387. "gEnablePAID", \
  388. 0, \
  389. "VHT Enable PAID")
  390. /*
  391. * <ini>
  392. * gEnableGID - Enables VHT gid feature
  393. * @Min: 0
  394. * @Max: 1
  395. * @Default: 0
  396. *
  397. * Related: NA
  398. *
  399. * Supported Feature: 11AC
  400. *
  401. * Usage: External
  402. *
  403. * </ini>
  404. */
  405. #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \
  406. "gEnableGID", \
  407. 0, \
  408. "VHT Enable GID")
  409. /*
  410. * <ini>
  411. * gEnableVhtFor24GHzBand - Enable VHT for 2.4GHZ in SAP mode
  412. * @Min: 0
  413. * @Max: 1
  414. * @Default: 0
  415. *
  416. * Related: NA
  417. *
  418. * Supported Feature: 11AC
  419. *
  420. * Usage: External
  421. *
  422. * </ini>
  423. */
  424. #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \
  425. "gEnableVhtFor24GHzBand", \
  426. 0, \
  427. "VHT Enable for 24GHz")
  428. /*
  429. * gEnableVendorVhtFor24GHzBand:Parameter to control VHT support
  430. * based on vendor ie in 2.4 GHz band
  431. * @Min: 0
  432. * @Max: 1
  433. * @Default: 1
  434. *
  435. * This parameter will enable SAP to read VHT capability in vendor ie in Assoc
  436. * Req and send VHT caps in Resp to establish connection in VHT Mode.
  437. * Supported Feature: SAP
  438. *
  439. *
  440. * Usage: Internal/External
  441. *
  442. * </ini>
  443. */
  444. #define CFG_ENABLE_VENDOR_VHT_FOR_24GHZ CFG_INI_BOOL( \
  445. "gEnableVendorVhtFor24GHzBand", \
  446. 1, \
  447. "VHT Enable Vendor for 24GHz")
  448. /*
  449. * <ini>
  450. * gVhtAmpduLenExponent - maximum receive AMPDU size configuration
  451. * @Min: 0
  452. * @Max: 7
  453. * @Default: 3
  454. *
  455. * Related: NA
  456. *
  457. * Supported Feature: 11AC
  458. *
  459. * Usage: External
  460. *
  461. * </ini>
  462. */
  463. #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \
  464. "gVhtAmpduLenExponent", \
  465. 0, \
  466. 7, \
  467. 3, \
  468. CFG_VALUE_OR_DEFAULT, \
  469. "VHT AMPDU Len in Exponent")
  470. /*
  471. * <ini>
  472. * gVhtMpduLen - VHT MPDU length
  473. * @Min: 0
  474. * @Max: 2
  475. * @Default: 0
  476. *
  477. * Related: NA
  478. *
  479. * Supported Feature: 11AC
  480. *
  481. * Usage: External
  482. *
  483. * </ini>
  484. */
  485. #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \
  486. "gVhtMpduLen", \
  487. 0, \
  488. 2, \
  489. 0, \
  490. CFG_VALUE_OR_DEFAULT, \
  491. "VHT MPDU Length")
  492. /*
  493. * <ini>
  494. * gEnableTxBFeeSAP - Enable / Disable Tx beamformee in SAP mode
  495. * @Min: 0
  496. * @Max: 1
  497. * @Default: 0
  498. *
  499. * Related: NA
  500. *
  501. * Supported Feature: 11AC
  502. *
  503. * Usage: External
  504. *
  505. * </ini>
  506. */
  507. #define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \
  508. "gEnableTxBFeeSAP", \
  509. 0, \
  510. "Enable tx bf sap mode")
  511. /*
  512. * <ini>
  513. * enable_subfee_vendor_vhtie - ini to enable/disable SU Bformee in vendor VHTIE
  514. * @Min: 0
  515. * @Max: 1
  516. * @Default: 1
  517. *
  518. * This ini is used to enable/disable SU Bformee in vendor vht ie if gTxBFEnable
  519. * is enabled. if gTxBFEnable is 0 this will not have any effect.
  520. *
  521. * Related: gTxBFEnable.
  522. *
  523. * Supported Feature: STA
  524. *
  525. * Usage: External
  526. *
  527. * </ini>
  528. */
  529. #define CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE CFG_INI_BOOL( \
  530. "enable_subfee_vendor_vhtie", \
  531. 0, \
  532. "Enable subfee in vendor vht ie")
  533. #define CFG_VHT_CAPS_ALL \
  534. CFG(CFG_VHT_SUPP_CHAN_WIDTH) \
  535. CFG(CFG_VHT_SU_BEAMFORMER_CAP) \
  536. CFG(CFG_VHT_SU_BEAMFORMEE_CAP) \
  537. CFG(CFG_VHT_BEAMFORMEE_ANT_SUPP) \
  538. CFG(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER) \
  539. CFG(CFG_VHT_NUM_SOUNDING_DIMENSIONS) \
  540. CFG(CFG_VHT_MU_BEAMFORMER_CAP) \
  541. CFG(CFG_VHT_TXOP_PS) \
  542. CFG(CFG_VHT_HTC_VHTC) \
  543. CFG(CFG_VHT_LINK_ADAPTATION_CAP) \
  544. CFG(CFG_VHT_RX_ANT_PATTERN) \
  545. CFG(CFG_VHT_TX_ANT_PATTERN) \
  546. CFG(CFG_VHT_RX_SUPP_DATA_RATE) \
  547. CFG(CFG_VHT_TX_SUPP_DATA_RATE) \
  548. CFG(CFG_VHT_ENABLE_TXBF_IN_20MHZ) \
  549. CFG(CFG_VHT_CHANNEL_WIDTH) \
  550. CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \
  551. CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \
  552. CFG(CFG_VHT_ENABLE_RX_MCS2x2_8_9) \
  553. CFG(CFG_VHT_ENABLE_TX_MCS2x2_8_9) \
  554. CFG(CFG_ENABLE_VHT20_MCS9) \
  555. CFG(CFG_VHT_ENABLE_2x2_CAP_FEATURE) \
  556. CFG(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE) \
  557. CFG(CFG_VHT_ENABLE_PAID_FEATURE) \
  558. CFG(CFG_VHT_ENABLE_GID_FEATURE) \
  559. CFG(CFG_ENABLE_VHT_FOR_24GHZ) \
  560. CFG(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ) \
  561. CFG(CFG_VHT_AMPDU_LEN_EXPONENT) \
  562. CFG(CFG_VHT_MPDU_LEN) \
  563. CFG(CFG_VHT_ENABLE_TXBF_SAP_MODE) \
  564. CFG(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE)
  565. #endif /* __CFG_MLME_VHT_CAPS_H */