he_sig_a_su_info.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849
  1. /*
  2. * Copyright (c) 2021 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. // $ATH_LICENSE_HW_HDR_C$
  17. //
  18. // DO NOT EDIT! This file is automatically generated
  19. // These definitions are tied to a particular hardware layout
  20. #ifndef _HE_SIG_A_SU_INFO_H_
  21. #define _HE_SIG_A_SU_INFO_H_
  22. #if !defined(__ASSEMBLER__)
  23. #endif
  24. // ################ START SUMMARY #################
  25. //
  26. // Dword Fields
  27. // 0 format_indication[0], beam_change[1], dl_ul_flag[2], transmit_mcs[6:3], dcm[7], bss_color_id[13:8], reserved_0a[14], spatial_reuse[18:15], transmit_bw[20:19], cp_ltf_size[22:21], nsts[25:23], reserved_0b[31:26]
  28. // 1 txop_duration[6:0], coding[7], ldpc_extra_symbol[8], stbc[9], txbf[10], packet_extension_a_factor[12:11], packet_extension_pe_disambiguity[13], reserved_1a[14], doppler_indication[15], crc[19:16], tail[25:20], dot11ax_su_extended[26], dot11ax_ext_ru_size[30:27], rx_ndp[31]
  29. //
  30. // ################ END SUMMARY #################
  31. #define NUM_OF_DWORDS_HE_SIG_A_SU_INFO 2
  32. struct he_sig_a_su_info {
  33. uint32_t format_indication : 1, //[0]
  34. beam_change : 1, //[1]
  35. dl_ul_flag : 1, //[2]
  36. transmit_mcs : 4, //[6:3]
  37. dcm : 1, //[7]
  38. bss_color_id : 6, //[13:8]
  39. reserved_0a : 1, //[14]
  40. spatial_reuse : 4, //[18:15]
  41. transmit_bw : 2, //[20:19]
  42. cp_ltf_size : 2, //[22:21]
  43. nsts : 3, //[25:23]
  44. reserved_0b : 6; //[31:26]
  45. uint32_t txop_duration : 7, //[6:0]
  46. coding : 1, //[7]
  47. ldpc_extra_symbol : 1, //[8]
  48. stbc : 1, //[9]
  49. txbf : 1, //[10]
  50. packet_extension_a_factor : 2, //[12:11]
  51. packet_extension_pe_disambiguity: 1, //[13]
  52. reserved_1a : 1, //[14]
  53. doppler_indication : 1, //[15]
  54. crc : 4, //[19:16]
  55. tail : 6, //[25:20]
  56. dot11ax_su_extended : 1, //[26]
  57. dot11ax_ext_ru_size : 4, //[30:27]
  58. rx_ndp : 1; //[31]
  59. };
  60. /*
  61. format_indication
  62. <enum 0 HE_SIGA_FORMAT_HE_TRIG>
  63. <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
  64. <legal all>
  65. beam_change
  66. Indicates whether spatial mapping is changed between
  67. legacy and HE portion of preamble. If not, channel
  68. estimation can include legacy preamble to improve accuracy
  69. <legal all>
  70. dl_ul_flag
  71. Differentiates between DL and UL transmission
  72. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  73. <enum 1 DL_UL_FLAG_IS_UL>
  74. <legal all>
  75. transmit_mcs
  76. Indicates the data MCS
  77. Field Used by MAC HW
  78. <legal all>
  79. dcm
  80. 0: No DCM
  81. 1:DCM
  82. <legal all>
  83. bss_color_id
  84. BSS color ID
  85. Field Used by MAC HW
  86. <legal all>
  87. reserved_0a
  88. Note: spec indicates this shall be set to 1
  89. <legal 1>
  90. spatial_reuse
  91. Spatial reuse
  92. For 20MHz one SR field corresponding to entire 20MHz
  93. (other 3 fields indicate identical values)
  94. For 40MHz two SR fields for each 20MHz (other 2 fields
  95. indicate identical values)
  96. For 80MHz four SR fields for each 20MHz
  97. For 160MHz four SR fields for each 40MHz
  98. <legal all>
  99. transmit_bw
  100. Bandwidth of the PPDU.
  101. For HE SU PPDU
  102. <enum 0 HE_SIG_A_BW20> 20 Mhz
  103. <enum 1 HE_SIG_A_BW40> 40 Mhz
  104. <enum 2 HE_SIG_A_BW80> 80 Mhz
  105. <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
  106. For HE Extended Range SU PPDU
  107. Set to 0 for 242-tone RU
  108. Set to 1 for right 106-tone RU within the primary 20 MHz
  109. On RX side, Field Used by MAC HW
  110. <legal all>
  111. cp_ltf_size
  112. Indicates the CP and HE-LTF type
  113. <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP
  114. <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP
  115. <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP
  116. <enum 3 FourX_LTF_0_8CP_3_2CP>
  117. When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
  118. When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
  119. In this scenario, Neither DCM nor STBC is applied to HE data
  120. field.
  121. NOTE:
  122. If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
  123. 0 = 1xLTF + 0.4 usec
  124. 1 = 2xLTF + 0.4 usec
  125. 2~3 = Reserved
  126. <legal all>
  127. nsts
  128. For HE SU PPDU
  129. For HE Extended Range PPDU
  130. <legal all>
  131. reserved_0b
  132. <legal 0>
  133. txop_duration
  134. Indicates the remaining time in the current TXOP
  135. Field Used by MAC HW
  136. <legal all>
  137. coding
  138. Distinguishes between BCC and LDPC coding.
  139. 0: BCC
  140. 1: LDPC
  141. <legal all>
  142. ldpc_extra_symbol
  143. If LDPC,
  144. 0: LDPC extra symbol not present
  145. 1: LDPC extra symbol present
  146. Else
  147. Set to 1
  148. <legal all>
  149. stbc
  150. Indicates whether STBC is applied
  151. 0: No STBC
  152. 1: STBC
  153. <legal all>
  154. txbf
  155. Indicates whether beamforming is applied
  156. 0: No beamforming
  157. 1: beamforming
  158. <legal all>
  159. packet_extension_a_factor
  160. Common trigger info
  161. the packet extension duration of the trigger-based PPDU
  162. response with these two bits indicating the a-factor
  163. <enum 0 a_factor_4>
  164. <enum 1 a_factor_1>
  165. <enum 2 a_factor_2>
  166. <enum 3 a_factor_3>
  167. <legal all>
  168. packet_extension_pe_disambiguity
  169. Common trigger info
  170. the packet extension duration of the trigger-based PPDU
  171. response with this bit indicating the PE-Disambiguity
  172. <legal all>
  173. reserved_1a
  174. Note: per standard, set to 1
  175. <legal 1>
  176. doppler_indication
  177. 0: No Doppler support
  178. 1: Doppler support
  179. <legal all>
  180. crc
  181. CRC for HE-SIG-A contents.
  182. <legal all>
  183. tail
  184. <legal 0>
  185. dot11ax_su_extended
  186. TX side:
  187. Set to 0
  188. RX side:
  189. On RX side, evaluated by MAC HW. This is the only way
  190. for MAC RX to know that this was an HE_SIG_A_SU received in
  191. 'extended' format
  192. <legal all>
  193. dot11ax_ext_ru_size
  194. TX side:
  195. Set to 0
  196. RX side:
  197. Field only contains valid info when dot11ax_su_extended
  198. is set.
  199. On RX side, evaluated by MAC HW. This is the only way
  200. for MAC RX to know what the number of based RUs was in this
  201. extended range reception. It is used by the MAC to determine
  202. the RU size for the response...
  203. <legal all>
  204. rx_ndp
  205. TX side:
  206. Set to 0
  207. RX side:Valid on RX side only, and looked at by MAC HW
  208. When set, PHY has received (expected) NDP frame
  209. <legal all>
  210. */
  211. /* Description HE_SIG_A_SU_INFO_0_FORMAT_INDICATION
  212. <enum 0 HE_SIGA_FORMAT_HE_TRIG>
  213. <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
  214. <legal all>
  215. */
  216. #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_OFFSET 0x00000000
  217. #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_LSB 0
  218. #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_MASK 0x00000001
  219. /* Description HE_SIG_A_SU_INFO_0_BEAM_CHANGE
  220. Indicates whether spatial mapping is changed between
  221. legacy and HE portion of preamble. If not, channel
  222. estimation can include legacy preamble to improve accuracy
  223. <legal all>
  224. */
  225. #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_OFFSET 0x00000000
  226. #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_LSB 1
  227. #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_MASK 0x00000002
  228. /* Description HE_SIG_A_SU_INFO_0_DL_UL_FLAG
  229. Differentiates between DL and UL transmission
  230. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  231. <enum 1 DL_UL_FLAG_IS_UL>
  232. <legal all>
  233. */
  234. #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_OFFSET 0x00000000
  235. #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_LSB 2
  236. #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_MASK 0x00000004
  237. /* Description HE_SIG_A_SU_INFO_0_TRANSMIT_MCS
  238. Indicates the data MCS
  239. Field Used by MAC HW
  240. <legal all>
  241. */
  242. #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_OFFSET 0x00000000
  243. #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_LSB 3
  244. #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_MASK 0x00000078
  245. /* Description HE_SIG_A_SU_INFO_0_DCM
  246. 0: No DCM
  247. 1:DCM
  248. <legal all>
  249. */
  250. #define HE_SIG_A_SU_INFO_0_DCM_OFFSET 0x00000000
  251. #define HE_SIG_A_SU_INFO_0_DCM_LSB 7
  252. #define HE_SIG_A_SU_INFO_0_DCM_MASK 0x00000080
  253. /* Description HE_SIG_A_SU_INFO_0_BSS_COLOR_ID
  254. BSS color ID
  255. Field Used by MAC HW
  256. <legal all>
  257. */
  258. #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_OFFSET 0x00000000
  259. #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_LSB 8
  260. #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_MASK 0x00003f00
  261. /* Description HE_SIG_A_SU_INFO_0_RESERVED_0A
  262. Note: spec indicates this shall be set to 1
  263. <legal 1>
  264. */
  265. #define HE_SIG_A_SU_INFO_0_RESERVED_0A_OFFSET 0x00000000
  266. #define HE_SIG_A_SU_INFO_0_RESERVED_0A_LSB 14
  267. #define HE_SIG_A_SU_INFO_0_RESERVED_0A_MASK 0x00004000
  268. /* Description HE_SIG_A_SU_INFO_0_SPATIAL_REUSE
  269. Spatial reuse
  270. For 20MHz one SR field corresponding to entire 20MHz
  271. (other 3 fields indicate identical values)
  272. For 40MHz two SR fields for each 20MHz (other 2 fields
  273. indicate identical values)
  274. For 80MHz four SR fields for each 20MHz
  275. For 160MHz four SR fields for each 40MHz
  276. <legal all>
  277. */
  278. #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_OFFSET 0x00000000
  279. #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_LSB 15
  280. #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_MASK 0x00078000
  281. /* Description HE_SIG_A_SU_INFO_0_TRANSMIT_BW
  282. Bandwidth of the PPDU.
  283. For HE SU PPDU
  284. <enum 0 HE_SIG_A_BW20> 20 Mhz
  285. <enum 1 HE_SIG_A_BW40> 40 Mhz
  286. <enum 2 HE_SIG_A_BW80> 80 Mhz
  287. <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
  288. For HE Extended Range SU PPDU
  289. Set to 0 for 242-tone RU
  290. Set to 1 for right 106-tone RU within the primary 20 MHz
  291. On RX side, Field Used by MAC HW
  292. <legal all>
  293. */
  294. #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_OFFSET 0x00000000
  295. #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_LSB 19
  296. #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_MASK 0x00180000
  297. /* Description HE_SIG_A_SU_INFO_0_CP_LTF_SIZE
  298. Indicates the CP and HE-LTF type
  299. <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP
  300. <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP
  301. <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP
  302. <enum 3 FourX_LTF_0_8CP_3_2CP>
  303. When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
  304. When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
  305. In this scenario, Neither DCM nor STBC is applied to HE data
  306. field.
  307. NOTE:
  308. If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
  309. 0 = 1xLTF + 0.4 usec
  310. 1 = 2xLTF + 0.4 usec
  311. 2~3 = Reserved
  312. <legal all>
  313. */
  314. #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_OFFSET 0x00000000
  315. #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_LSB 21
  316. #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_MASK 0x00600000
  317. /* Description HE_SIG_A_SU_INFO_0_NSTS
  318. For HE SU PPDU
  319. For HE Extended Range PPDU
  320. <legal all>
  321. */
  322. #define HE_SIG_A_SU_INFO_0_NSTS_OFFSET 0x00000000
  323. #define HE_SIG_A_SU_INFO_0_NSTS_LSB 23
  324. #define HE_SIG_A_SU_INFO_0_NSTS_MASK 0x03800000
  325. /* Description HE_SIG_A_SU_INFO_0_RESERVED_0B
  326. <legal 0>
  327. */
  328. #define HE_SIG_A_SU_INFO_0_RESERVED_0B_OFFSET 0x00000000
  329. #define HE_SIG_A_SU_INFO_0_RESERVED_0B_LSB 26
  330. #define HE_SIG_A_SU_INFO_0_RESERVED_0B_MASK 0xfc000000
  331. /* Description HE_SIG_A_SU_INFO_1_TXOP_DURATION
  332. Indicates the remaining time in the current TXOP
  333. Field Used by MAC HW
  334. <legal all>
  335. */
  336. #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_OFFSET 0x00000004
  337. #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_LSB 0
  338. #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_MASK 0x0000007f
  339. /* Description HE_SIG_A_SU_INFO_1_CODING
  340. Distinguishes between BCC and LDPC coding.
  341. 0: BCC
  342. 1: LDPC
  343. <legal all>
  344. */
  345. #define HE_SIG_A_SU_INFO_1_CODING_OFFSET 0x00000004
  346. #define HE_SIG_A_SU_INFO_1_CODING_LSB 7
  347. #define HE_SIG_A_SU_INFO_1_CODING_MASK 0x00000080
  348. /* Description HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL
  349. If LDPC,
  350. 0: LDPC extra symbol not present
  351. 1: LDPC extra symbol present
  352. Else
  353. Set to 1
  354. <legal all>
  355. */
  356. #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_OFFSET 0x00000004
  357. #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_LSB 8
  358. #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_MASK 0x00000100
  359. /* Description HE_SIG_A_SU_INFO_1_STBC
  360. Indicates whether STBC is applied
  361. 0: No STBC
  362. 1: STBC
  363. <legal all>
  364. */
  365. #define HE_SIG_A_SU_INFO_1_STBC_OFFSET 0x00000004
  366. #define HE_SIG_A_SU_INFO_1_STBC_LSB 9
  367. #define HE_SIG_A_SU_INFO_1_STBC_MASK 0x00000200
  368. /* Description HE_SIG_A_SU_INFO_1_TXBF
  369. Indicates whether beamforming is applied
  370. 0: No beamforming
  371. 1: beamforming
  372. <legal all>
  373. */
  374. #define HE_SIG_A_SU_INFO_1_TXBF_OFFSET 0x00000004
  375. #define HE_SIG_A_SU_INFO_1_TXBF_LSB 10
  376. #define HE_SIG_A_SU_INFO_1_TXBF_MASK 0x00000400
  377. /* Description HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR
  378. Common trigger info
  379. the packet extension duration of the trigger-based PPDU
  380. response with these two bits indicating the a-factor
  381. <enum 0 a_factor_4>
  382. <enum 1 a_factor_1>
  383. <enum 2 a_factor_2>
  384. <enum 3 a_factor_3>
  385. <legal all>
  386. */
  387. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_OFFSET 0x00000004
  388. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_LSB 11
  389. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_MASK 0x00001800
  390. /* Description HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY
  391. Common trigger info
  392. the packet extension duration of the trigger-based PPDU
  393. response with this bit indicating the PE-Disambiguity
  394. <legal all>
  395. */
  396. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x00000004
  397. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 13
  398. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x00002000
  399. /* Description HE_SIG_A_SU_INFO_1_RESERVED_1A
  400. Note: per standard, set to 1
  401. <legal 1>
  402. */
  403. #define HE_SIG_A_SU_INFO_1_RESERVED_1A_OFFSET 0x00000004
  404. #define HE_SIG_A_SU_INFO_1_RESERVED_1A_LSB 14
  405. #define HE_SIG_A_SU_INFO_1_RESERVED_1A_MASK 0x00004000
  406. /* Description HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION
  407. 0: No Doppler support
  408. 1: Doppler support
  409. <legal all>
  410. */
  411. #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_OFFSET 0x00000004
  412. #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_LSB 15
  413. #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_MASK 0x00008000
  414. /* Description HE_SIG_A_SU_INFO_1_CRC
  415. CRC for HE-SIG-A contents.
  416. <legal all>
  417. */
  418. #define HE_SIG_A_SU_INFO_1_CRC_OFFSET 0x00000004
  419. #define HE_SIG_A_SU_INFO_1_CRC_LSB 16
  420. #define HE_SIG_A_SU_INFO_1_CRC_MASK 0x000f0000
  421. /* Description HE_SIG_A_SU_INFO_1_TAIL
  422. <legal 0>
  423. */
  424. #define HE_SIG_A_SU_INFO_1_TAIL_OFFSET 0x00000004
  425. #define HE_SIG_A_SU_INFO_1_TAIL_LSB 20
  426. #define HE_SIG_A_SU_INFO_1_TAIL_MASK 0x03f00000
  427. /* Description HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED
  428. TX side:
  429. Set to 0
  430. RX side:
  431. On RX side, evaluated by MAC HW. This is the only way
  432. for MAC RX to know that this was an HE_SIG_A_SU received in
  433. 'extended' format
  434. <legal all>
  435. */
  436. #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_OFFSET 0x00000004
  437. #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_LSB 26
  438. #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_MASK 0x04000000
  439. /* Description HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE
  440. TX side:
  441. Set to 0
  442. RX side:
  443. Field only contains valid info when dot11ax_su_extended
  444. is set.
  445. On RX side, evaluated by MAC HW. This is the only way
  446. for MAC RX to know what the number of based RUs was in this
  447. extended range reception. It is used by the MAC to determine
  448. the RU size for the response...
  449. <legal all>
  450. */
  451. #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_OFFSET 0x00000004
  452. #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_LSB 27
  453. #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_MASK 0x78000000
  454. /* Description HE_SIG_A_SU_INFO_1_RX_NDP
  455. TX side:
  456. Set to 0
  457. RX side:Valid on RX side only, and looked at by MAC HW
  458. When set, PHY has received (expected) NDP frame
  459. <legal all>
  460. */
  461. #define HE_SIG_A_SU_INFO_1_RX_NDP_OFFSET 0x00000004
  462. #define HE_SIG_A_SU_INFO_1_RX_NDP_LSB 31
  463. #define HE_SIG_A_SU_INFO_1_RX_NDP_MASK 0x80000000
  464. #endif // _HE_SIG_A_SU_INFO_H_