cfg_mlme_vht_caps.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. /*
  2. * Copyright (c) 2012-2019 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. #define CFG_TX_BF_CAP CFG_INT( \
  117. "tx_bf_cap", \
  118. 0, \
  119. -1, \
  120. 0, \
  121. CFG_VALUE_OR_DEFAULT, \
  122. "TX BF CAP")
  123. #define CFG_AS_CAP CFG_UINT( \
  124. "as_cap", \
  125. 0, \
  126. 255, \
  127. 0, \
  128. CFG_VALUE_OR_DEFAULT, \
  129. "AS CAP")
  130. /*
  131. * <ini>
  132. * gDisableLDPCWithTxbfAP - Disable LDPC with tx bf AP
  133. * @Min: 0
  134. * @Max: 1
  135. * @Default: 0
  136. *
  137. * Related: NA
  138. *
  139. * Supported Feature: 11AC
  140. *
  141. * Usage: External
  142. *
  143. * </ini>
  144. */
  145. #define CFG_DISABLE_LDPC_WITH_TXBF_AP CFG_INI_BOOL( \
  146. "gDisableLDPCWithTxbfAP", \
  147. 0, \
  148. "Disable LDPC with tx bf AP")
  149. /*
  150. * <ini>
  151. * gTxBFEnable - Enables SU beamformee caps
  152. * @Min: 0
  153. * @Max: 1
  154. * @Default: 1
  155. *
  156. * Related: NA
  157. *
  158. * Supported Feature: 11AC
  159. *
  160. * Usage: External
  161. *
  162. * </ini>
  163. */
  164. #define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \
  165. "gTxBFEnable", \
  166. 1, \
  167. "VHT SU BEAMFORMEE CAPABILITY")
  168. /*
  169. * <ini>
  170. * gEnableTxBFin20MHz - Enables TXBF in 20mhz
  171. * @Min: 0
  172. * @Max: 1
  173. * @Default: 0
  174. *
  175. * Related: NA
  176. *
  177. * Supported Feature: 11AC
  178. *
  179. * Usage: External
  180. *
  181. * </ini>
  182. */
  183. #define CFG_VHT_ENABLE_TXBF_IN_20MHZ CFG_INI_BOOL( \
  184. "gEnableTxBFin20MHz", \
  185. 0, \
  186. "VHT ENABLE TXBF 20MHZ")
  187. #define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \
  188. "mu_bformer", \
  189. 0, \
  190. "VHT MU BEAMFORMER CAP")
  191. #define CFG_VHT_TXOP_PS CFG_BOOL( \
  192. "txop_ps", \
  193. 0, \
  194. "VHT TXOP PS")
  195. /*
  196. * <ini>
  197. * gVhtChannelWidth - Channel width capability for 11ac
  198. * @Min: 0
  199. * @Max: 4
  200. * @Default: 2
  201. *
  202. * This ini is used to set channel width capability for 11AC.
  203. * eHT_CHANNEL_WIDTH_20MHZ = 0,
  204. * eHT_CHANNEL_WIDTH_40MHZ = 1,
  205. * eHT_CHANNEL_WIDTH_80MHZ = 2,
  206. * eHT_CHANNEL_WIDTH_160MHZ = 3,
  207. * eHT_CHANNEL_WIDTH_80P80MHZ = 4,
  208. *
  209. * Related: NA
  210. *
  211. * Supported Feature: 11AC
  212. *
  213. * Usage: External
  214. *
  215. * </ini>
  216. */
  217. #define CFG_VHT_CHANNEL_WIDTH CFG_INI_UINT( \
  218. "gVhtChannelWidth", \
  219. 0, \
  220. 4, \
  221. 2, \
  222. CFG_VALUE_OR_DEFAULT, \
  223. "Channel width capability for 11ac")
  224. /*
  225. * <ini>
  226. * gVhtRxMCS - VHT Rx MCS capability for 1x1 mode
  227. * @Min: 0
  228. * @Max: 2
  229. * @Default: 0
  230. *
  231. * This ini is used to set VHT Rx MCS capability for 1x1 mode.
  232. * 0, MCS0-7
  233. * 1, MCS0-8
  234. * 2, MCS0-9
  235. *
  236. * Related: NA
  237. *
  238. * Supported Feature: 11AC
  239. *
  240. * Usage: Internal/External
  241. *
  242. * </ini>
  243. */
  244. #define CFG_VHT_ENABLE_RX_MCS_8_9 CFG_INI_UINT( \
  245. "gVhtRxMCS", \
  246. 0, \
  247. 2, \
  248. 0, \
  249. CFG_VALUE_OR_DEFAULT, \
  250. "VHT Rx MCS")
  251. /*
  252. * <ini>
  253. * gVhtTxMCS - VHT Tx MCS capability for 1x1 mode
  254. * @Min: 0
  255. * @Max: 2
  256. * @Default: 0
  257. *
  258. * This ini is used to set VHT Tx MCS capability for 1x1 mode.
  259. * 0, MCS0-7
  260. * 1, MCS0-8
  261. * 2, MCS0-9
  262. *
  263. * Related: NA
  264. *
  265. * Supported Feature: 11AC
  266. *
  267. * Usage: Internal/External
  268. *
  269. * </ini>
  270. */
  271. #define CFG_VHT_ENABLE_TX_MCS_8_9 CFG_INI_UINT( \
  272. "gVhtTxMCS", \
  273. 0, \
  274. 2, \
  275. 0, \
  276. CFG_VALUE_OR_DEFAULT, \
  277. "VHT Tx MCS")
  278. /*
  279. * <ini>
  280. * gVhtRxMCS2x2 - VHT Rx MCS capability for 2x2 mode
  281. * @Min: 0
  282. * @Max: 2
  283. * @Default: 0
  284. *
  285. * This ini is used to set VHT Rx MCS capability for 2x2 mode.
  286. * 0, MCS0-7
  287. * 1, MCS0-8
  288. * 2, MCS0-9
  289. *
  290. * Related: NA
  291. *
  292. * Supported Feature: 11AC
  293. *
  294. * Usage: External
  295. *
  296. * </ini>
  297. */
  298. #define CFG_VHT_ENABLE_RX_MCS2x2_8_9 CFG_INI_UINT( \
  299. "gVhtRxMCS2x2", \
  300. 0, \
  301. 2, \
  302. 0, \
  303. CFG_VALUE_OR_DEFAULT, \
  304. "VHT Rx MCS 2x2")
  305. /*
  306. * <ini>
  307. * gVhtTxMCS2x2 - VHT Tx MCS capability for 2x2 mode
  308. * @Min: 0
  309. * @Max: 2
  310. * @Default: 0
  311. *
  312. * This ini is used to set VHT Tx MCS capability for 2x2 mode.
  313. * 0, MCS0-7
  314. * 1, MCS0-8
  315. * 2, MCS0-9
  316. *
  317. * Related: NA
  318. *
  319. * Supported Feature: 11AC
  320. *
  321. * Usage: External
  322. *
  323. * </ini>
  324. */
  325. #define CFG_VHT_ENABLE_TX_MCS2x2_8_9 CFG_INI_UINT( \
  326. "gVhtTxMCS2x2", \
  327. 0, \
  328. 2, \
  329. 0, \
  330. CFG_VALUE_OR_DEFAULT, \
  331. "VHT Tx MCS 2x2")
  332. /*
  333. * <ini>
  334. * enable_vht20_mcs9 - Enables VHT MCS9 in 20M BW operation
  335. * @Min: 0
  336. * @Max: 1
  337. * @Default: 1
  338. *
  339. * Related: NA
  340. *
  341. * Supported Feature: 11AC
  342. *
  343. * Usage: External
  344. *
  345. * </ini>
  346. */
  347. #define CFG_ENABLE_VHT20_MCS9 CFG_INI_BOOL( \
  348. "enable_vht20_mcs9", \
  349. 1, \
  350. "Enables VHT MCS9 in 20M BW")
  351. /*
  352. * <ini>
  353. * gEnable2x2 - Enables/disables VHT Tx/Rx MCS values for 2x2
  354. * @Min: 0
  355. * @Max: 1
  356. * @Default: 0
  357. *
  358. * This ini disables/enables 2x2 mode. If this is zero then DUT operates as 1x1
  359. *
  360. * 0, Disable
  361. * 1, Enable
  362. *
  363. * Related: NA
  364. *
  365. * Supported Feature: 11AC
  366. *
  367. * Usage: External
  368. *
  369. * </ini>
  370. */
  371. #define CFG_VHT_ENABLE_2x2_CAP_FEATURE CFG_INI_BOOL( \
  372. "gEnable2x2", \
  373. 0, \
  374. "VHT Enable 2x2")
  375. /*
  376. * <ini>
  377. * gEnableMuBformee - Enables/disables multi-user (MU) beam formee capability
  378. * @Min: 0
  379. * @Max: 1
  380. * @Default: 0
  381. *
  382. * This ini enables/disables multi-user (MU) beam formee
  383. * capability
  384. *
  385. * Change MU Bformee only when gTxBFEnable is enabled.
  386. * When gTxBFEnable and gEnableMuBformee are set, MU beam formee capability is
  387. * enabled.
  388. * Related: gTxBFEnable
  389. *
  390. * Supported Feature: 11AC
  391. *
  392. * Usage: External
  393. *
  394. * </ini>
  395. */
  396. #define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE CFG_INI_BOOL( \
  397. "gEnableMuBformee", \
  398. 0, \
  399. "VHT Enable MU Beamformee")
  400. /*
  401. * <ini>
  402. * gEnablePAID - VHT partial AID feature
  403. * @Min: 0
  404. * @Max: 1
  405. * @Default: 0
  406. *
  407. * This option enables/disables VHT partial AID feature.
  408. * Related: NA
  409. *
  410. * Supported Feature: 11AC
  411. *
  412. * Usage: External
  413. *
  414. * </ini>
  415. */
  416. #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \
  417. "gEnablePAID", \
  418. 0, \
  419. "VHT Enable PAID")
  420. /*
  421. * <ini>
  422. * gEnableGID - VHT Group ID feature
  423. * @Min: 0
  424. * @Max: 1
  425. * @Default: 0
  426. *
  427. * This option enables/disables VHT Group ID feature.
  428. * Related: NA
  429. *
  430. * Supported Feature: 11AC
  431. *
  432. * Usage: External
  433. *
  434. * </ini>
  435. */
  436. #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \
  437. "gEnableGID", \
  438. 0, \
  439. "VHT Enable GID")
  440. /*
  441. * <ini>
  442. * gEnableVhtFor24GHzBand - Enable VHT for 2.4GHZ in SAP mode
  443. * @Min: 0
  444. * @Max: 1
  445. * @Default: 0
  446. *
  447. * Related: NA
  448. *
  449. * Supported Feature: 11AC
  450. *
  451. * Usage: External
  452. *
  453. * </ini>
  454. */
  455. #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \
  456. "gEnableVhtFor24GHzBand", \
  457. 0, \
  458. "VHT Enable for 24GHz")
  459. /*
  460. * gEnableVendorVhtFor24GHzBand - Parameter to control VHT support
  461. * based on vendor ie in 2.4 GHz band
  462. * @Min: 0
  463. * @Max: 1
  464. * @Default: 1
  465. *
  466. * This parameter will enable SAP to read VHT capability in vendor ie in Assoc
  467. * Req and send VHT caps in Resp to establish connection in VHT Mode.
  468. * Supported Feature: SAP
  469. *
  470. *
  471. * Usage: Internal/External
  472. *
  473. * </ini>
  474. */
  475. #define CFG_ENABLE_VENDOR_VHT_FOR_24GHZ CFG_INI_BOOL( \
  476. "gEnableVendorVhtFor24GHzBand", \
  477. 1, \
  478. "VHT Enable Vendor for 24GHz")
  479. /*
  480. * <ini>
  481. * gVhtAmpduLenExponent - maximum receive AMPDU size configuration
  482. * @Min: 0
  483. * @Max: 7
  484. * @Default: 3
  485. *
  486. * Related: NA
  487. *
  488. * Supported Feature: 11AC
  489. *
  490. * Usage: External
  491. *
  492. * </ini>
  493. */
  494. #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \
  495. "gVhtAmpduLenExponent", \
  496. 0, \
  497. 7, \
  498. 3, \
  499. CFG_VALUE_OR_DEFAULT, \
  500. "VHT AMPDU Len in Exponent")
  501. /*
  502. * <ini>
  503. * gVhtMpduLen - VHT MPDU length
  504. * @Min: 0
  505. * @Max: 2
  506. * @Default: 0
  507. *
  508. * Related: NA
  509. *
  510. * Supported Feature: 11AC
  511. *
  512. * Usage: External
  513. *
  514. * </ini>
  515. */
  516. #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \
  517. "gVhtMpduLen", \
  518. 0, \
  519. 2, \
  520. 0, \
  521. CFG_VALUE_OR_DEFAULT, \
  522. "VHT MPDU Length")
  523. /*
  524. * <ini>
  525. * gEnableTxBFeeSAP - Enable / Disable Tx beamformee in SAP mode
  526. * @Min: 0
  527. * @Max: 1
  528. * @Default: 0
  529. *
  530. * Related: NA
  531. *
  532. * Supported Feature: 11AC
  533. *
  534. * Usage: External
  535. *
  536. * </ini>
  537. */
  538. #define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \
  539. "gEnableTxBFeeSAP", \
  540. 0, \
  541. "Enable tx bf sap mode")
  542. /*
  543. * <ini>
  544. * enable_subfee_vendor_vhtie - ini to enable/disable SU Bformee in vendor VHTIE
  545. * @Min: 0
  546. * @Max: 1
  547. * @Default: 1
  548. *
  549. * This ini is used to enable/disable SU Bformee in vendor vht ie if gTxBFEnable
  550. * is enabled. if gTxBFEnable is 0 this will not have any effect.
  551. *
  552. * Related: gTxBFEnable.
  553. *
  554. * Supported Feature: STA
  555. *
  556. * Usage: External
  557. *
  558. * </ini>
  559. */
  560. #define CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE CFG_INI_BOOL( \
  561. "enable_subfee_vendor_vhtie", \
  562. 0, \
  563. "Enable subfee in vendor vht ie")
  564. #define CFG_VHT_CAPS_ALL \
  565. CFG(CFG_VHT_SUPP_CHAN_WIDTH) \
  566. CFG(CFG_VHT_SU_BEAMFORMEE_CAP) \
  567. CFG(CFG_VHT_BEAMFORMEE_ANT_SUPP) \
  568. CFG(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER) \
  569. CFG(CFG_VHT_NUM_SOUNDING_DIMENSIONS) \
  570. CFG(CFG_VHT_MU_BEAMFORMER_CAP) \
  571. CFG(CFG_VHT_TXOP_PS) \
  572. CFG(CFG_VHT_HTC_VHTC) \
  573. CFG(CFG_VHT_LINK_ADAPTATION_CAP) \
  574. CFG(CFG_VHT_RX_ANT_PATTERN) \
  575. CFG(CFG_VHT_TX_ANT_PATTERN) \
  576. CFG(CFG_VHT_RX_SUPP_DATA_RATE) \
  577. CFG(CFG_VHT_TX_SUPP_DATA_RATE) \
  578. CFG(CFG_VHT_ENABLE_TXBF_IN_20MHZ) \
  579. CFG(CFG_VHT_CHANNEL_WIDTH) \
  580. CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \
  581. CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \
  582. CFG(CFG_VHT_ENABLE_RX_MCS2x2_8_9) \
  583. CFG(CFG_VHT_ENABLE_TX_MCS2x2_8_9) \
  584. CFG(CFG_ENABLE_VHT20_MCS9) \
  585. CFG(CFG_VHT_ENABLE_2x2_CAP_FEATURE) \
  586. CFG(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE) \
  587. CFG(CFG_VHT_ENABLE_PAID_FEATURE) \
  588. CFG(CFG_VHT_ENABLE_GID_FEATURE) \
  589. CFG(CFG_ENABLE_VHT_FOR_24GHZ) \
  590. CFG(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ) \
  591. CFG(CFG_VHT_AMPDU_LEN_EXPONENT) \
  592. CFG(CFG_VHT_MPDU_LEN) \
  593. CFG(CFG_VHT_ENABLE_TXBF_SAP_MODE) \
  594. CFG(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE) \
  595. CFG(CFG_TX_BF_CAP) \
  596. CFG(CFG_AS_CAP) \
  597. CFG(CFG_DISABLE_LDPC_WITH_TXBF_AP)
  598. #endif /* __CFG_MLME_VHT_CAPS_H */