xref: /wlan-driver/fw-api/hw/qca6490/v1/phyrx_he_sig_a_su.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 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 #ifndef _PHYRX_HE_SIG_A_SU_H_
20 #define _PHYRX_HE_SIG_A_SU_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 #include "he_sig_a_su_info.h"
25 
26 // ################ START SUMMARY #################
27 //
28 //	Dword	Fields
29 //	0-1	struct he_sig_a_su_info phyrx_he_sig_a_su_info_details;
30 //
31 // ################ END SUMMARY #################
32 
33 #define NUM_OF_DWORDS_PHYRX_HE_SIG_A_SU 2
34 
35 struct phyrx_he_sig_a_su {
36     struct            he_sig_a_su_info                       phyrx_he_sig_a_su_info_details;
37 };
38 
39 /*
40 
41 struct he_sig_a_su_info phyrx_he_sig_a_su_info_details
42 
43 			See detailed description of the STRUCT
44 */
45 
46 
47  /* EXTERNAL REFERENCE : struct he_sig_a_su_info phyrx_he_sig_a_su_info_details */
48 
49 
50 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION
51 
52 			<enum 0 HE_SIGA_FORMAT_HE_TRIG>
53 
54 			<enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
55 
56 			<legal all>
57 */
58 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_OFFSET 0x00000000
59 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_LSB 0
60 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_MASK 0x00000001
61 
62 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE
63 
64 			Indicates whether spatial mapping is changed between
65 			legacy and HE portion of preamble. If not, channel
66 			estimation can include legacy preamble to improve accuracy
67 
68 			<legal all>
69 */
70 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_OFFSET 0x00000000
71 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_LSB 1
72 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_MASK 0x00000002
73 
74 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG
75 
76 			Differentiates between DL and UL transmission
77 
78 
79 
80 			<enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
81 
82 			<enum 1 DL_UL_FLAG_IS_UL>
83 
84 			<legal all>
85 */
86 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_OFFSET 0x00000000
87 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_LSB 2
88 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_MASK 0x00000004
89 
90 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS
91 
92 			Indicates the data MCS
93 
94 
95 
96 			Field Used by MAC HW
97 
98 			<legal all>
99 */
100 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_OFFSET 0x00000000
101 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_LSB 3
102 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_MASK 0x00000078
103 
104 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DCM
105 
106 
107 			0: No DCM
108 
109 			1:DCM
110 
111 			<legal all>
112 */
113 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DCM_OFFSET 0x00000000
114 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DCM_LSB   7
115 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DCM_MASK  0x00000080
116 
117 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID
118 
119 			BSS color ID
120 
121 
122 
123 			Field Used by MAC HW
124 
125 			<legal all>
126 */
127 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_OFFSET 0x00000000
128 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_LSB 8
129 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_MASK 0x00003f00
130 
131 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A
132 
133 			Note: spec indicates this shall be set to 1
134 
135 			<legal 1>
136 */
137 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_OFFSET 0x00000000
138 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_LSB 14
139 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_MASK 0x00004000
140 
141 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE
142 
143 			Spatial reuse
144 
145 
146 
147 			For 20MHz one SR field corresponding to entire 20MHz
148 			(other 3 fields indicate identical values)
149 
150 			For 40MHz two SR fields for each 20MHz (other 2 fields
151 			indicate identical values)
152 
153 			For 80MHz four SR fields for each 20MHz
154 
155 			For 160MHz four SR fields for each 40MHz
156 
157 			<legal all>
158 */
159 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_OFFSET 0x00000000
160 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_LSB 15
161 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_MASK 0x00078000
162 
163 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW
164 
165 			Bandwidth of the PPDU.
166 
167 
168 
169 			For HE SU PPDU
170 
171 
172 			<enum 0 HE_SIG_A_BW20> 20 Mhz
173 
174 			<enum 1 HE_SIG_A_BW40> 40 Mhz
175 
176 			<enum 2 HE_SIG_A_BW80> 80 Mhz
177 
178 			<enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
179 
180 
181 
182 			For HE Extended Range SU PPDU
183 
184 			Set to 0 for 242-tone RU
185 			 Set to 1 for right 106-tone RU within the primary 20 MHz
186 
187 
188 
189 			On RX side, Field Used by MAC HW
190 
191 			<legal all>
192 */
193 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_OFFSET 0x00000000
194 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_LSB 19
195 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_MASK 0x00180000
196 
197 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE
198 
199 			Indicates the CP and HE-LTF type
200 
201 
202 
203 			<enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP (See note for
204 			proprietary mode)
205 
206 			<enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 �s CP (See note
207 			for proprietary mode)
208 
209 			<enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 �s CP (See note
210 			for proprietary mode)
211 
212 
213 
214 			<enum 3 FourX_LTF_0_8CP_3_2CP>
215 
216 			When DCM == 0 OR STBC == 0: 4x LTF + 3.2 �s CP
217 
218 			When DCM == 1 AND STBC == 1: 4x LTF + 0.8 �s CP. Note:
219 			In this scenario, Neither DCM nor STBC is applied to HE data
220 			field.
221 
222 			(See note for proprietary mode)
223 
224 
225 
226 			NOTE:
227 
228 			For QC proprietary mode
229 
230 			If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
231 
232 			0      = 1xLTF + 0.4 usec
233 
234 			1      = 2xLTF + 0.4 usec
235 
236 			2~3 = Reserved
237 
238 
239 
240 			<legal all>
241 */
242 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_OFFSET 0x00000000
243 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_LSB 21
244 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_MASK 0x00600000
245 
246 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_NSTS
247 
248 
249 
250 
251 			For HE SU PPDU
252 
253 
254 
255 			For HE Extended Range PPDU
256 
257 			<legal all>
258 */
259 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_NSTS_OFFSET 0x00000000
260 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_NSTS_LSB  23
261 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_NSTS_MASK 0x03800000
262 
263 /* Description		PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B
264 
265 			<legal 0>
266 */
267 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_OFFSET 0x00000000
268 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_LSB 26
269 #define PHYRX_HE_SIG_A_SU_0_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_MASK 0xfc000000
270 
271 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION
272 
273 			Indicates the remaining time in the current TXOP
274 
275 
276 
277 			Field Used by MAC HW
278 
279 			 <legal all>
280 */
281 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_OFFSET 0x00000004
282 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_LSB 0
283 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_MASK 0x0000007f
284 
285 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CODING
286 
287 			Distinguishes between BCC and LDPC coding.
288 
289 
290 
291 			0: BCC
292 
293 			1: LDPC
294 
295 			<legal all>
296 */
297 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CODING_OFFSET 0x00000004
298 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CODING_LSB 7
299 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CODING_MASK 0x00000080
300 
301 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL
302 
303 			If LDPC,
304 
305 			  0: LDPC extra symbol not present
306 
307 			  1: LDPC extra symbol present
308 
309 			Else
310 
311 			  Set to 1
312 
313 			<legal all>
314 */
315 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_OFFSET 0x00000004
316 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_LSB 8
317 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_MASK 0x00000100
318 
319 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_STBC
320 
321 			Indicates whether STBC is applied
322 
323 			0: No STBC
324 
325 			1: STBC
326 
327 			<legal all>
328 */
329 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_STBC_OFFSET 0x00000004
330 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_STBC_LSB  9
331 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_STBC_MASK 0x00000200
332 
333 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXBF
334 
335 			Indicates whether beamforming is applied
336 
337 			0: No beamforming
338 
339 			1: beamforming
340 
341 			<legal all>
342 */
343 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXBF_OFFSET 0x00000004
344 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXBF_LSB  10
345 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TXBF_MASK 0x00000400
346 
347 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR
348 
349 			Common trigger info
350 
351 
352 
353 			the packet extension duration of the trigger-based PPDU
354 			response with these two bits indicating the a-factor
355 
356 
357 
358 			<enum 0 a_factor_4>
359 
360 			<enum 1 a_factor_1>
361 
362 			<enum 2 a_factor_2>
363 
364 			<enum 3 a_factor_3>
365 
366 
367 
368 			<legal all>
369 */
370 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_OFFSET 0x00000004
371 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_LSB 11
372 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_MASK 0x00001800
373 
374 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY
375 
376 			Common trigger info
377 
378 
379 
380 			the packet extension duration of the trigger-based PPDU
381 			response with this bit indicating the PE-Disambiguity
382 
383 			<legal all>
384 */
385 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x00000004
386 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 13
387 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x00002000
388 
389 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A
390 
391 			Note: per standard, set to 1
392 
393 			<legal 1>
394 */
395 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_OFFSET 0x00000004
396 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_LSB 14
397 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_MASK 0x00004000
398 
399 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION
400 
401 			0: No Doppler support
402 
403 			1: Doppler support
404 
405 			<legal all>
406 */
407 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_OFFSET 0x00000004
408 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_LSB 15
409 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_MASK 0x00008000
410 
411 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CRC
412 
413 			CRC for HE-SIG-A contents.
414 
415 			<legal all>
416 */
417 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CRC_OFFSET 0x00000004
418 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CRC_LSB   16
419 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_CRC_MASK  0x000f0000
420 
421 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TAIL
422 
423 			<legal 0>
424 */
425 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TAIL_OFFSET 0x00000004
426 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TAIL_LSB  20
427 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_TAIL_MASK 0x03f00000
428 
429 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED
430 
431 			TX side:
432 
433 			Set to 0
434 
435 
436 
437 			RX side:
438 
439 			On RX side, evaluated by MAC HW. This is the only way
440 			for MAC RX to know that this was an HE_SIG_A_SU received in
441 			'extended' format
442 
443 
444 
445 
446 			<legal all>
447 */
448 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_OFFSET 0x00000004
449 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_LSB 26
450 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_MASK 0x04000000
451 
452 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE
453 
454 			TX side:
455 
456 			Set to 0
457 
458 
459 
460 			RX side:
461 
462 			Field only contains valid info when dot11ax_su_extended
463 			is set.
464 
465 
466 
467 			On RX side, evaluated by MAC HW. This is the only way
468 			for MAC RX to know what the number of based RUs was in this
469 			extended range reception. It is used by the MAC to determine
470 			the RU size for the response...
471 
472 			<legal all>
473 */
474 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_OFFSET 0x00000004
475 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_LSB 27
476 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_MASK 0x78000000
477 
478 /* Description		PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP
479 
480 			TX side:
481 
482 			Set to 0
483 
484 
485 
486 			RX side:Valid on RX side only, and looked at by MAC HW
487 
488 
489 
490 			When set, PHY has received (expected) NDP frame
491 
492 			<legal all>
493 */
494 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_OFFSET 0x00000004
495 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_LSB 31
496 #define PHYRX_HE_SIG_A_SU_1_PHYRX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_MASK 0x80000000
497 
498 
499 #endif // _PHYRX_HE_SIG_A_SU_H_
500