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