xref: /wlan-driver/fw-api/hw/qca5018/he_sig_a_su_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2020, 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 
17 #ifndef _HE_SIG_A_SU_INFO_H_
18 #define _HE_SIG_A_SU_INFO_H_
19 #if !defined(__ASSEMBLER__)
20 #endif
21 
22 
23 // ################ START SUMMARY #################
24 //
25 //	Dword	Fields
26 //	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]
27 //	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]
28 //
29 // ################ END SUMMARY #################
30 
31 #define NUM_OF_DWORDS_HE_SIG_A_SU_INFO 2
32 
33 struct he_sig_a_su_info {
34              uint32_t format_indication               :  1, //[0]
35                       beam_change                     :  1, //[1]
36                       dl_ul_flag                      :  1, //[2]
37                       transmit_mcs                    :  4, //[6:3]
38                       dcm                             :  1, //[7]
39                       bss_color_id                    :  6, //[13:8]
40                       reserved_0a                     :  1, //[14]
41                       spatial_reuse                   :  4, //[18:15]
42                       transmit_bw                     :  2, //[20:19]
43                       cp_ltf_size                     :  2, //[22:21]
44                       nsts                            :  3, //[25:23]
45                       reserved_0b                     :  6; //[31:26]
46              uint32_t txop_duration                   :  7, //[6:0]
47                       coding                          :  1, //[7]
48                       ldpc_extra_symbol               :  1, //[8]
49                       stbc                            :  1, //[9]
50                       txbf                            :  1, //[10]
51                       packet_extension_a_factor       :  2, //[12:11]
52                       packet_extension_pe_disambiguity:  1, //[13]
53                       reserved_1a                     :  1, //[14]
54                       doppler_indication              :  1, //[15]
55                       crc                             :  4, //[19:16]
56                       tail                            :  6, //[25:20]
57                       dot11ax_su_extended             :  1, //[26]
58                       dot11ax_ext_ru_size             :  4, //[30:27]
59                       rx_ndp                          :  1; //[31]
60 };
61 
62 /*
63 
64 format_indication
65 
66 			<enum 0 HE_SIGA_FORMAT_HE_TRIG>
67 
68 			<enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
69 
70 			<legal all>
71 
72 beam_change
73 
74 			Indicates whether spatial mapping is changed between
75 			legacy and HE portion of preamble. If not, channel
76 			estimation can include legacy preamble to improve accuracy
77 
78 			<legal all>
79 
80 dl_ul_flag
81 
82 			Differentiates between DL and UL transmission
83 
84 
85 
86 			<enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
87 
88 			<enum 1 DL_UL_FLAG_IS_UL>
89 
90 			<legal all>
91 
92 transmit_mcs
93 
94 			Indicates the data MCS
95 
96 
97 
98 			Field Used by MAC HW
99 
100 			<legal all>
101 
102 dcm
103 
104 
105 			0: No DCM
106 
107 			1:DCM
108 
109 			<legal all>
110 
111 bss_color_id
112 
113 			BSS color ID
114 
115 
116 
117 			Field Used by MAC HW
118 
119 			<legal all>
120 
121 reserved_0a
122 
123 			Note: spec indicates this shall be set to 1
124 
125 			<legal 1>
126 
127 spatial_reuse
128 
129 			Spatial reuse
130 
131 
132 
133 			For 20MHz one SR field corresponding to entire 20MHz
134 			(other 3 fields indicate identical values)
135 
136 			For 40MHz two SR fields for each 20MHz (other 2 fields
137 			indicate identical values)
138 
139 			For 80MHz four SR fields for each 20MHz
140 
141 			For 160MHz four SR fields for each 40MHz
142 
143 			<legal all>
144 
145 transmit_bw
146 
147 			Bandwidth of the PPDU.
148 
149 
150 
151 			For HE SU PPDU
152 
153 
154 			<enum 0 HE_SIG_A_BW20> 20 Mhz
155 
156 			<enum 1 HE_SIG_A_BW40> 40 Mhz
157 
158 			<enum 2 HE_SIG_A_BW80> 80 Mhz
159 
160 			<enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
161 
162 
163 
164 			For HE Extended Range SU PPDU
165 
166 			Set to 0 for 242-tone RU
167 			 Set to 1 for right 106-tone RU within the primary 20 MHz
168 
169 
170 
171 			On RX side, Field Used by MAC HW
172 
173 			<legal all>
174 
175 cp_ltf_size
176 
177 			Indicates the CP and HE-LTF type
178 
179 
180 
181 
182 
183 			<enum 3 FourX_LTF_0_8CP_3_2CP>
184 
185 			When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
186 
187 			When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
188 			In this scenario, Neither DCM nor STBC is applied to HE data
189 			field.
190 
191 
192 			NOTE:
193 
194 
195 			If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
196 
197 			0      = 1xLTF + 0.4 usec
198 
199 			1      = 2xLTF + 0.4 usec
200 
201 			2~3 = Reserved
202 
203 
204 
205 			<legal all>
206 
207 nsts
208 
209 
210 
211 
212 			For HE SU PPDU
213 
214 
215 
216 			For HE Extended Range PPDU
217 
218 			<legal all>
219 
220 reserved_0b
221 
222 			<legal 0>
223 
224 txop_duration
225 
226 			Indicates the remaining time in the current TXOP
227 
228 
229 
230 			Field Used by MAC HW
231 
232 			 <legal all>
233 
234 coding
235 
236 			Distinguishes between BCC and LDPC coding.
237 
238 
239 
240 			0: BCC
241 
242 			1: LDPC
243 
244 			<legal all>
245 
246 ldpc_extra_symbol
247 
248 			If LDPC,
249 
250 			  0: LDPC extra symbol not present
251 
252 			  1: LDPC extra symbol present
253 
254 			Else
255 
256 			  Set to 1
257 
258 			<legal all>
259 
260 stbc
261 
262 			Indicates whether STBC is applied
263 
264 			0: No STBC
265 
266 			1: STBC
267 
268 			<legal all>
269 
270 txbf
271 
272 			Indicates whether beamforming is applied
273 
274 			0: No beamforming
275 
276 			1: beamforming
277 
278 			<legal all>
279 
280 packet_extension_a_factor
281 
282 			Common trigger info
283 
284 
285 
286 			the packet extension duration of the trigger-based PPDU
287 			response with these two bits indicating the a-factor
288 
289 
290 
291 			<enum 0 a_factor_4>
292 
293 			<enum 1 a_factor_1>
294 
295 			<enum 2 a_factor_2>
296 
297 			<enum 3 a_factor_3>
298 
299 
300 
301 			<legal all>
302 
303 packet_extension_pe_disambiguity
304 
305 			Common trigger info
306 
307 
308 
309 			the packet extension duration of the trigger-based PPDU
310 			response with this bit indicating the PE-Disambiguity
311 
312 			<legal all>
313 
314 reserved_1a
315 
316 			Note: per standard, set to 1
317 
318 			<legal 1>
319 
320 doppler_indication
321 
322 			0: No Doppler support
323 
324 			1: Doppler support
325 
326 			<legal all>
327 
328 crc
329 
330 			CRC for HE-SIG-A contents.
331 
332 			<legal all>
333 
334 tail
335 
336 			<legal 0>
337 
338 dot11ax_su_extended
339 
340 			TX side:
341 
342 			Set to 0
343 
344 
345 
346 			RX side:
347 
348 			On RX side, evaluated by MAC HW. This is the only way
349 			for MAC RX to know that this was an HE_SIG_A_SU received in
350 			'extended' format
351 
352 
353 
354 
355 			<legal all>
356 
357 dot11ax_ext_ru_size
358 
359 			TX side:
360 
361 			Set to 0
362 
363 
364 
365 			RX side:
366 
367 			Field only contains valid info when dot11ax_su_extended
368 			is set.
369 
370 
371 
372 			On RX side, evaluated by MAC HW. This is the only way
373 			for MAC RX to know what the number of based RUs was in this
374 			extended range reception. It is used by the MAC to determine
375 			the RU size for the response...
376 
377 			<legal all>
378 
379 rx_ndp
380 
381 			TX side:
382 
383 			Set to 0
384 
385 
386 
387 			RX side:Valid on RX side only, and looked at by MAC HW
388 
389 
390 
391 			When set, PHY has received (expected) NDP frame
392 
393 			<legal all>
394 */
395 
396 
397 /* Description		HE_SIG_A_SU_INFO_0_FORMAT_INDICATION
398 
399 			<enum 0 HE_SIGA_FORMAT_HE_TRIG>
400 
401 			<enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
402 
403 			<legal all>
404 */
405 #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_OFFSET                  0x00000000
406 #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_LSB                     0
407 #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_MASK                    0x00000001
408 
409 /* Description		HE_SIG_A_SU_INFO_0_BEAM_CHANGE
410 
411 			Indicates whether spatial mapping is changed between
412 			legacy and HE portion of preamble. If not, channel
413 			estimation can include legacy preamble to improve accuracy
414 
415 			<legal all>
416 */
417 #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_OFFSET                        0x00000000
418 #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_LSB                           1
419 #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_MASK                          0x00000002
420 
421 /* Description		HE_SIG_A_SU_INFO_0_DL_UL_FLAG
422 
423 			Differentiates between DL and UL transmission
424 
425 
426 
427 			<enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
428 
429 			<enum 1 DL_UL_FLAG_IS_UL>
430 
431 			<legal all>
432 */
433 #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_OFFSET                         0x00000000
434 #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_LSB                            2
435 #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_MASK                           0x00000004
436 
437 /* Description		HE_SIG_A_SU_INFO_0_TRANSMIT_MCS
438 
439 			Indicates the data MCS
440 
441 
442 
443 			Field Used by MAC HW
444 
445 			<legal all>
446 */
447 #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_OFFSET                       0x00000000
448 #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_LSB                          3
449 #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_MASK                         0x00000078
450 
451 /* Description		HE_SIG_A_SU_INFO_0_DCM
452 
453 
454 			0: No DCM
455 
456 			1:DCM
457 
458 			<legal all>
459 */
460 #define HE_SIG_A_SU_INFO_0_DCM_OFFSET                                0x00000000
461 #define HE_SIG_A_SU_INFO_0_DCM_LSB                                   7
462 #define HE_SIG_A_SU_INFO_0_DCM_MASK                                  0x00000080
463 
464 /* Description		HE_SIG_A_SU_INFO_0_BSS_COLOR_ID
465 
466 			BSS color ID
467 
468 
469 
470 			Field Used by MAC HW
471 
472 			<legal all>
473 */
474 #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_OFFSET                       0x00000000
475 #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_LSB                          8
476 #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_MASK                         0x00003f00
477 
478 /* Description		HE_SIG_A_SU_INFO_0_RESERVED_0A
479 
480 			Note: spec indicates this shall be set to 1
481 
482 			<legal 1>
483 */
484 #define HE_SIG_A_SU_INFO_0_RESERVED_0A_OFFSET                        0x00000000
485 #define HE_SIG_A_SU_INFO_0_RESERVED_0A_LSB                           14
486 #define HE_SIG_A_SU_INFO_0_RESERVED_0A_MASK                          0x00004000
487 
488 /* Description		HE_SIG_A_SU_INFO_0_SPATIAL_REUSE
489 
490 			Spatial reuse
491 
492 
493 
494 			For 20MHz one SR field corresponding to entire 20MHz
495 			(other 3 fields indicate identical values)
496 
497 			For 40MHz two SR fields for each 20MHz (other 2 fields
498 			indicate identical values)
499 
500 			For 80MHz four SR fields for each 20MHz
501 
502 			For 160MHz four SR fields for each 40MHz
503 
504 			<legal all>
505 */
506 #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_OFFSET                      0x00000000
507 #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_LSB                         15
508 #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_MASK                        0x00078000
509 
510 /* Description		HE_SIG_A_SU_INFO_0_TRANSMIT_BW
511 
512 			Bandwidth of the PPDU.
513 
514 
515 
516 			For HE SU PPDU
517 
518 
519 			<enum 0 HE_SIG_A_BW20> 20 Mhz
520 
521 			<enum 1 HE_SIG_A_BW40> 40 Mhz
522 
523 			<enum 2 HE_SIG_A_BW80> 80 Mhz
524 
525 			<enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
526 
527 
528 
529 			For HE Extended Range SU PPDU
530 
531 			Set to 0 for 242-tone RU
532 			 Set to 1 for right 106-tone RU within the primary 20 MHz
533 
534 
535 
536 			On RX side, Field Used by MAC HW
537 
538 			<legal all>
539 */
540 #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_OFFSET                        0x00000000
541 #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_LSB                           19
542 #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_MASK                          0x00180000
543 
544 /* Description		HE_SIG_A_SU_INFO_0_CP_LTF_SIZE
545 
546 			Indicates the CP and HE-LTF type
547 
548 
549 
550 
551 			<enum 3 FourX_LTF_0_8CP_3_2CP>
552 
553 			When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
554 
555 			When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
556 			In this scenario, Neither DCM nor STBC is applied to HE data
557 			field.
558 
559 
560 			NOTE:
561 
562 
563 			If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
564 
565 			0      = 1xLTF + 0.4 usec
566 
567 			1      = 2xLTF + 0.4 usec
568 
569 			2~3 = Reserved
570 
571 
572 
573 			<legal all>
574 */
575 #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_OFFSET                        0x00000000
576 #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_LSB                           21
577 #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_MASK                          0x00600000
578 
579 /* Description		HE_SIG_A_SU_INFO_0_NSTS
580 
581 
582 
583 
584 			For HE SU PPDU
585 
586 
587 
588 			For HE Extended Range PPDU
589 
590 			<legal all>
591 */
592 #define HE_SIG_A_SU_INFO_0_NSTS_OFFSET                               0x00000000
593 #define HE_SIG_A_SU_INFO_0_NSTS_LSB                                  23
594 #define HE_SIG_A_SU_INFO_0_NSTS_MASK                                 0x03800000
595 
596 /* Description		HE_SIG_A_SU_INFO_0_RESERVED_0B
597 
598 			<legal 0>
599 */
600 #define HE_SIG_A_SU_INFO_0_RESERVED_0B_OFFSET                        0x00000000
601 #define HE_SIG_A_SU_INFO_0_RESERVED_0B_LSB                           26
602 #define HE_SIG_A_SU_INFO_0_RESERVED_0B_MASK                          0xfc000000
603 
604 /* Description		HE_SIG_A_SU_INFO_1_TXOP_DURATION
605 
606 			Indicates the remaining time in the current TXOP
607 
608 
609 
610 			Field Used by MAC HW
611 
612 			 <legal all>
613 */
614 #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_OFFSET                      0x00000004
615 #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_LSB                         0
616 #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_MASK                        0x0000007f
617 
618 /* Description		HE_SIG_A_SU_INFO_1_CODING
619 
620 			Distinguishes between BCC and LDPC coding.
621 
622 
623 
624 			0: BCC
625 
626 			1: LDPC
627 
628 			<legal all>
629 */
630 #define HE_SIG_A_SU_INFO_1_CODING_OFFSET                             0x00000004
631 #define HE_SIG_A_SU_INFO_1_CODING_LSB                                7
632 #define HE_SIG_A_SU_INFO_1_CODING_MASK                               0x00000080
633 
634 /* Description		HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL
635 
636 			If LDPC,
637 
638 			  0: LDPC extra symbol not present
639 
640 			  1: LDPC extra symbol present
641 
642 			Else
643 
644 			  Set to 1
645 
646 			<legal all>
647 */
648 #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_OFFSET                  0x00000004
649 #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_LSB                     8
650 #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_MASK                    0x00000100
651 
652 /* Description		HE_SIG_A_SU_INFO_1_STBC
653 
654 			Indicates whether STBC is applied
655 
656 			0: No STBC
657 
658 			1: STBC
659 
660 			<legal all>
661 */
662 #define HE_SIG_A_SU_INFO_1_STBC_OFFSET                               0x00000004
663 #define HE_SIG_A_SU_INFO_1_STBC_LSB                                  9
664 #define HE_SIG_A_SU_INFO_1_STBC_MASK                                 0x00000200
665 
666 /* Description		HE_SIG_A_SU_INFO_1_TXBF
667 
668 			Indicates whether beamforming is applied
669 
670 			0: No beamforming
671 
672 			1: beamforming
673 
674 			<legal all>
675 */
676 #define HE_SIG_A_SU_INFO_1_TXBF_OFFSET                               0x00000004
677 #define HE_SIG_A_SU_INFO_1_TXBF_LSB                                  10
678 #define HE_SIG_A_SU_INFO_1_TXBF_MASK                                 0x00000400
679 
680 /* Description		HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR
681 
682 			Common trigger info
683 
684 
685 
686 			the packet extension duration of the trigger-based PPDU
687 			response with these two bits indicating the a-factor
688 
689 
690 
691 			<enum 0 a_factor_4>
692 
693 			<enum 1 a_factor_1>
694 
695 			<enum 2 a_factor_2>
696 
697 			<enum 3 a_factor_3>
698 
699 
700 
701 			<legal all>
702 */
703 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_OFFSET          0x00000004
704 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_LSB             11
705 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_MASK            0x00001800
706 
707 /* Description		HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY
708 
709 			Common trigger info
710 
711 
712 
713 			the packet extension duration of the trigger-based PPDU
714 			response with this bit indicating the PE-Disambiguity
715 
716 			<legal all>
717 */
718 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET   0x00000004
719 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB      13
720 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK     0x00002000
721 
722 /* Description		HE_SIG_A_SU_INFO_1_RESERVED_1A
723 
724 			Note: per standard, set to 1
725 
726 			<legal 1>
727 */
728 #define HE_SIG_A_SU_INFO_1_RESERVED_1A_OFFSET                        0x00000004
729 #define HE_SIG_A_SU_INFO_1_RESERVED_1A_LSB                           14
730 #define HE_SIG_A_SU_INFO_1_RESERVED_1A_MASK                          0x00004000
731 
732 /* Description		HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION
733 
734 			0: No Doppler support
735 
736 			1: Doppler support
737 
738 			<legal all>
739 */
740 #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_OFFSET                 0x00000004
741 #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_LSB                    15
742 #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_MASK                   0x00008000
743 
744 /* Description		HE_SIG_A_SU_INFO_1_CRC
745 
746 			CRC for HE-SIG-A contents.
747 
748 			<legal all>
749 */
750 #define HE_SIG_A_SU_INFO_1_CRC_OFFSET                                0x00000004
751 #define HE_SIG_A_SU_INFO_1_CRC_LSB                                   16
752 #define HE_SIG_A_SU_INFO_1_CRC_MASK                                  0x000f0000
753 
754 /* Description		HE_SIG_A_SU_INFO_1_TAIL
755 
756 			<legal 0>
757 */
758 #define HE_SIG_A_SU_INFO_1_TAIL_OFFSET                               0x00000004
759 #define HE_SIG_A_SU_INFO_1_TAIL_LSB                                  20
760 #define HE_SIG_A_SU_INFO_1_TAIL_MASK                                 0x03f00000
761 
762 /* Description		HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED
763 
764 			TX side:
765 
766 			Set to 0
767 
768 
769 
770 			RX side:
771 
772 			On RX side, evaluated by MAC HW. This is the only way
773 			for MAC RX to know that this was an HE_SIG_A_SU received in
774 			'extended' format
775 
776 
777 
778 
779 			<legal all>
780 */
781 #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_OFFSET                0x00000004
782 #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_LSB                   26
783 #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_MASK                  0x04000000
784 
785 /* Description		HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE
786 
787 			TX side:
788 
789 			Set to 0
790 
791 
792 
793 			RX side:
794 
795 			Field only contains valid info when dot11ax_su_extended
796 			is set.
797 
798 
799 
800 			On RX side, evaluated by MAC HW. This is the only way
801 			for MAC RX to know what the number of based RUs was in this
802 			extended range reception. It is used by the MAC to determine
803 			the RU size for the response...
804 
805 			<legal all>
806 */
807 #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_OFFSET                0x00000004
808 #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_LSB                   27
809 #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_MASK                  0x78000000
810 
811 /* Description		HE_SIG_A_SU_INFO_1_RX_NDP
812 
813 			TX side:
814 
815 			Set to 0
816 
817 
818 
819 			RX side:Valid on RX side only, and looked at by MAC HW
820 
821 
822 
823 			When set, PHY has received (expected) NDP frame
824 
825 			<legal all>
826 */
827 #define HE_SIG_A_SU_INFO_1_RX_NDP_OFFSET                             0x00000004
828 #define HE_SIG_A_SU_INFO_1_RX_NDP_LSB                                31
829 #define HE_SIG_A_SU_INFO_1_RX_NDP_MASK                               0x80000000
830 
831 
832 #endif // _HE_SIG_A_SU_INFO_H_
833