xref: /wlan-driver/fw-api/hw/qca5332/rx_ppdu_start_user_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 
2 /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. 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 
18 
19 
20 
21 
22 
23 
24 
25 
26 #ifndef _RX_PPDU_START_USER_INFO_H_
27 #define _RX_PPDU_START_USER_INFO_H_
28 #if !defined(__ASSEMBLER__)
29 #endif
30 
31 #include "receive_user_info.h"
32 #define NUM_OF_DWORDS_RX_PPDU_START_USER_INFO 8
33 
34 #define NUM_OF_QWORDS_RX_PPDU_START_USER_INFO 4
35 
36 
37 struct rx_ppdu_start_user_info {
38 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
39              struct   receive_user_info                                         receive_user_info_details;
40 #else
41              struct   receive_user_info                                         receive_user_info_details;
42 #endif
43 };
44 
45 
46 /* Description		RECEIVE_USER_INFO_DETAILS
47 
48 			Overview of receive parameters that the MAC needs to prepend
49 			 to every received MSDU/MPDU.
50 */
51 
52 
53 /* Description		PHY_PPDU_ID
54 
55 			A ppdu counter value that PHY increments for every PPDU
56 			received. The counter value wraps around
57 			<legal all>
58 */
59 
60 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PHY_PPDU_ID_OFFSET        0x0000000000000000
61 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PHY_PPDU_ID_LSB           0
62 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PHY_PPDU_ID_MSB           15
63 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PHY_PPDU_ID_MASK          0x000000000000ffff
64 
65 
66 /* Description		USER_RSSI
67 
68 			RSSI for this user
69 			Frequency domain RSSI measurement for this user. Based on
70 			 the channel estimate.
71 
72 			<legal all>
73 */
74 
75 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_RSSI_OFFSET          0x0000000000000000
76 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_RSSI_LSB             16
77 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_RSSI_MSB             23
78 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_RSSI_MASK            0x0000000000ff0000
79 
80 
81 /* Description		PKT_TYPE
82 
83 			Packet type:
84 
85 			<enum_type PKT_TYPE_ENUM>
86 */
87 
88 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PKT_TYPE_OFFSET           0x0000000000000000
89 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PKT_TYPE_LSB              24
90 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PKT_TYPE_MSB              27
91 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_PKT_TYPE_MASK             0x000000000f000000
92 
93 
94 /* Description		STBC
95 
96 			When set, use STBC transmission rates
97 */
98 
99 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STBC_OFFSET               0x0000000000000000
100 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STBC_LSB                  28
101 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STBC_MSB                  28
102 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STBC_MASK                 0x0000000010000000
103 
104 
105 /* Description		RECEPTION_TYPE
106 
107 			Indicates what type of reception this is.
108 			<enum 0     reception_type_SU > Basic SU reception (not
109 			part of OFDMA or MU-MIMO)
110 			<enum 1     reception_type_MU_MIMO > This is related to
111 			DL type of reception
112 			<enum 2     reception_type_MU_OFDMA >  This is related to
113 			 DL type of reception
114 			<enum 3     reception_type_MU_OFDMA_MIMO >  This is related
115 			 to DL type of reception
116 			<enum 4     reception_type_UL_MU_MIMO > This is related
117 			to UL type of reception
118 			<enum 5     reception_type_UL_MU_OFDMA >  This is related
119 			 to UL type of reception
120 			<enum 6     reception_type_UL_MU_OFDMA_MIMO >  This is related
121 			 to UL type of reception
122 
123 			<legal 0-6>
124 */
125 
126 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEPTION_TYPE_OFFSET     0x0000000000000000
127 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEPTION_TYPE_LSB        29
128 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEPTION_TYPE_MSB        31
129 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEPTION_TYPE_MASK       0x00000000e0000000
130 
131 
132 /* Description		RATE_MCS
133 
134 			For details, refer to  MCS_TYPE description
135 			<legal all>
136 */
137 
138 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RATE_MCS_OFFSET           0x0000000000000000
139 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RATE_MCS_LSB              32
140 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RATE_MCS_MSB              35
141 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RATE_MCS_MASK             0x0000000f00000000
142 
143 
144 /* Description		SGI
145 
146 			Field only valid when pkt type is HT, VHT or HE.
147 
148 			<enum 0     gi_0_8_us > Legacy normal GI.  Can also be used
149 			 for HE
150 			<enum 1     gi_0_4_us > Legacy short GI.  Can also be used
151 			 for HE
152 			<enum 2     gi_1_6_us > HE related GI
153 			<enum 3     gi_3_2_us > HE related GI
154 			<legal 0 - 3>
155 */
156 
157 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_SGI_OFFSET                0x0000000000000000
158 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_SGI_LSB                   36
159 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_SGI_MSB                   37
160 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_SGI_MASK                  0x0000003000000000
161 
162 
163 /* Description		HE_RANGING_NDP
164 
165 			Set to 1 for expected HE TB ranging NDP Rx in response to
166 			 sounding/secure sounding ranging Trigger Tx
167 
168 			<legal all>
169 */
170 
171 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_HE_RANGING_NDP_OFFSET     0x0000000000000000
172 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_HE_RANGING_NDP_LSB        38
173 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_HE_RANGING_NDP_MSB        38
174 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_HE_RANGING_NDP_MASK       0x0000004000000000
175 
176 
177 /* Description		RESERVED_1A
178 
179 			<legal 0>
180 */
181 
182 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1A_OFFSET        0x0000000000000000
183 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1A_LSB           39
184 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1A_MSB           39
185 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1A_MASK          0x0000008000000000
186 
187 
188 /* Description		MIMO_SS_BITMAP
189 
190 			Bitmap, with each bit indicating if the related spatial
191 			stream is used for this STA
192 			LSB related to SS 0
193 
194 			0: spatial stream not used for this reception
195 			1: spatial stream used for this reception
196 
197 			<legal all>
198 */
199 
200 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_MIMO_SS_BITMAP_OFFSET     0x0000000000000000
201 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_MIMO_SS_BITMAP_LSB        40
202 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_MIMO_SS_BITMAP_MSB        47
203 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_MIMO_SS_BITMAP_MASK       0x0000ff0000000000
204 
205 
206 /* Description		RECEIVE_BANDWIDTH
207 
208 			Full receive Bandwidth
209 
210 			<enum_type BW_ENUM>
211 */
212 
213 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEIVE_BANDWIDTH_OFFSET  0x0000000000000000
214 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEIVE_BANDWIDTH_LSB     48
215 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEIVE_BANDWIDTH_MSB     50
216 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RECEIVE_BANDWIDTH_MASK    0x0007000000000000
217 
218 
219 /* Description		RESERVED_1B
220 
221 			<legal 0>
222 */
223 
224 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1B_OFFSET        0x0000000000000000
225 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1B_LSB           51
226 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1B_MSB           55
227 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_1B_MASK          0x00f8000000000000
228 
229 
230 /* Description		DL_OFDMA_USER_INDEX
231 
232 			Field only valid in the of DL MU OFDMA reception
233 
234 			The user number within the RU_allocation.
235 
236 			This is needed for SW to determine the exact RU position
237 			 within the reception.
238 			<legal all>
239 */
240 
241 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_USER_INDEX_OFFSET 0x0000000000000000
242 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_USER_INDEX_LSB   56
243 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_USER_INDEX_MSB   63
244 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_USER_INDEX_MASK  0xff00000000000000
245 
246 
247 /* Description		DL_OFDMA_CONTENT_CHANNEL
248 
249 			Field only valid in the of DL MU OFDMA/MIMO reception
250 
251 			In case of DL MU reception, this field indicates the content
252 			 channel number where PHY found the RU information for this
253 			 user
254 
255 			This is needed for SW to determine the exact RU position
256 			 within the reception.
257 
258 			<enum 0      content_channel_1>
259 			<enum 1      content_channel_2>
260 
261 			<legal all>
262 */
263 
264 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_CONTENT_CHANNEL_OFFSET 0x0000000000000008
265 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_CONTENT_CHANNEL_LSB 0
266 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_CONTENT_CHANNEL_MSB 0
267 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_DL_OFDMA_CONTENT_CHANNEL_MASK 0x0000000000000001
268 
269 
270 /* Description		RESERVED_2A
271 
272 			<legal 0>
273 */
274 
275 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_2A_OFFSET        0x0000000000000008
276 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_2A_LSB           1
277 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_2A_MSB           7
278 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_2A_MASK          0x00000000000000fe
279 
280 
281 /* Description		NSS
282 
283 			Field only valid in case of Uplink_receive_type == mimo_only
284 			 OR ofdma_mimo
285 
286 			Number of Spatial Streams occupied by the User
287 
288 			<enum_type SS_COUNT_ENUM>
289 */
290 
291 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_NSS_OFFSET                0x0000000000000008
292 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_NSS_LSB                   8
293 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_NSS_MSB                   10
294 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_NSS_MASK                  0x0000000000000700
295 
296 
297 /* Description		STREAM_OFFSET
298 
299 			Field only valid in case of Uplink_receive_type == mimo_only
300 			 OR ofdma_mimo
301 
302 			Stream Offset from which the User occupies the Streams
303 
304 			Note MAC:
305 			directly from pdg_fes_setup, based on BW
306 */
307 
308 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STREAM_OFFSET_OFFSET      0x0000000000000008
309 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STREAM_OFFSET_LSB         11
310 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STREAM_OFFSET_MSB         13
311 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STREAM_OFFSET_MASK        0x0000000000003800
312 
313 
314 /* Description		STA_DCM
315 
316 			Indicates whether dual sub-carrier modulation is applied
317 
318 			0: No DCM
319 			1:DCM
320 			<legal all>
321 */
322 
323 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STA_DCM_OFFSET            0x0000000000000008
324 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STA_DCM_LSB               14
325 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STA_DCM_MSB               14
326 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_STA_DCM_MASK              0x0000000000004000
327 
328 
329 /* Description		LDPC
330 
331 			When set, use LDPC transmission rates were used.
332 			<legal all>
333 */
334 
335 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_LDPC_OFFSET               0x0000000000000008
336 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_LDPC_LSB                  15
337 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_LDPC_MSB                  15
338 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_LDPC_MASK                 0x0000000000008000
339 
340 
341 /* Description		RU_TYPE_80_0
342 
343 			Indicates the size of the RU in the first 80 MHz sub-band
344 
345 			<enum 0 RU_26_per80>
346 			<enum 1 RU_52_per80>
347 			<enum 2 RU_78_per80>
348 			<enum 3 RU_106_per80>
349 			<enum 4 RU_132_per80>
350 			<enum 5 RU_242_per80>
351 			<enum 6 RU_484_per80>
352 			<enum 7 RU_726_per80>
353 			<enum 8 RU_996_per80>
354 			<enum 9 RU_996x2>
355 			<enum 10 RU_996x3>
356 			<enum 11 RU_996x4>
357 			<enum 12 RU_rsvd0> DO NOT USE
358 			<enum 13 RU_rsvd1> DO NOT USE
359 			<enum 14 RU_rsvd2> DO NOT USE
360 			<enum 15 RU_NONE> No RUs in this 80 MHz
361 			<legal 0-15>
362 */
363 
364 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_0_OFFSET       0x0000000000000008
365 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_0_LSB          16
366 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_0_MSB          19
367 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_0_MASK         0x00000000000f0000
368 
369 
370 /* Description		RU_TYPE_80_1
371 
372 			Indicates the size of the RU in the second 80 MHz sub-band
373 
374 			<enum 0 RU_26_per80>
375 			<enum 1 RU_52_per80>
376 			<enum 2 RU_78_per80>
377 			<enum 3 RU_106_per80>
378 			<enum 4 RU_132_per80>
379 			<enum 5 RU_242_per80>
380 			<enum 6 RU_484_per80>
381 			<enum 7 RU_726_per80>
382 			<enum 8 RU_996_per80>
383 			<enum 9 RU_996x2>
384 			<enum 10 RU_996x3>
385 			<enum 11 RU_996x4>
386 			<enum 12 RU_rsvd0> DO NOT USE
387 			<enum 13 RU_rsvd1> DO NOT USE
388 			<enum 14 RU_rsvd2> DO NOT USE
389 			<enum 15 RU_NONE> No RUs in this 80 MHz
390 			<legal 0-15>
391 */
392 
393 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_1_OFFSET       0x0000000000000008
394 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_1_LSB          20
395 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_1_MSB          23
396 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_1_MASK         0x0000000000f00000
397 
398 
399 /* Description		RU_TYPE_80_2
400 
401 			Indicates the size of the RU in the third 80 MHz sub-band
402 
403 			<enum 0 RU_26_per80>
404 			<enum 1 RU_52_per80>
405 			<enum 2 RU_78_per80>
406 			<enum 3 RU_106_per80>
407 			<enum 4 RU_132_per80>
408 			<enum 5 RU_242_per80>
409 			<enum 6 RU_484_per80>
410 			<enum 7 RU_726_per80>
411 			<enum 8 RU_996_per80>
412 			<enum 9 RU_996x2>
413 			<enum 10 RU_996x3>
414 			<enum 11 RU_996x4>
415 			<enum 12 RU_rsvd0> DO NOT USE
416 			<enum 13 RU_rsvd1> DO NOT USE
417 			<enum 14 RU_rsvd2> DO NOT USE
418 			<enum 15 RU_NONE> No RUs in this 80 MHz
419 			<legal 0-15>
420 */
421 
422 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_2_OFFSET       0x0000000000000008
423 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_2_LSB          24
424 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_2_MSB          27
425 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_2_MASK         0x000000000f000000
426 
427 
428 /* Description		RU_TYPE_80_3
429 
430 			Indicates the size of the RU in the fourth 80 MHz sub-band
431 
432 			<enum 0 RU_26_per80>
433 			<enum 1 RU_52_per80>
434 			<enum 2 RU_78_per80>
435 			<enum 3 RU_106_per80>
436 			<enum 4 RU_132_per80>
437 			<enum 5 RU_242_per80>
438 			<enum 6 RU_484_per80>
439 			<enum 7 RU_726_per80>
440 			<enum 8 RU_996_per80>
441 			<enum 9 RU_996x2>
442 			<enum 10 RU_996x3>
443 			<enum 11 RU_996x4>
444 			<enum 12 RU_rsvd0> DO NOT USE
445 			<enum 13 RU_rsvd1> DO NOT USE
446 			<enum 14 RU_rsvd2> DO NOT USE
447 			<enum 15 RU_NONE> No RUs in this 80 MHz
448 			<legal 0-15>
449 */
450 
451 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_3_OFFSET       0x0000000000000008
452 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_3_LSB          28
453 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_3_MSB          31
454 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_TYPE_80_3_MASK         0x00000000f0000000
455 
456 
457 /* Description		RU_START_INDEX_80_0
458 
459 			RU index number to which User is assigned in the first 80
460 			 MHz
461 			RU numbering is over the entire BW, starting from 0 and
462 			in increasing frequency order and not primary-secondary
463 			order
464 			<legal 0-36>
465 */
466 
467 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_0_OFFSET 0x0000000000000008
468 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_0_LSB   32
469 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_0_MSB   37
470 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_0_MASK  0x0000003f00000000
471 
472 
473 /* Description		RESERVED_3A
474 
475 			<legal 0>
476 */
477 
478 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3A_OFFSET        0x0000000000000008
479 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3A_LSB           38
480 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3A_MSB           39
481 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3A_MASK          0x000000c000000000
482 
483 
484 /* Description		RU_START_INDEX_80_1
485 
486 			RU index number to which User is assigned in the second
487 			80 MHz
488 			RU numbering is over the entire BW, starting from 0 and
489 			in increasing frequency order and not primary-secondary
490 			order
491 			<legal 0-36>
492 */
493 
494 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_1_OFFSET 0x0000000000000008
495 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_1_LSB   40
496 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_1_MSB   45
497 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_1_MASK  0x00003f0000000000
498 
499 
500 /* Description		RESERVED_3B
501 
502 			<legal 0>
503 */
504 
505 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3B_OFFSET        0x0000000000000008
506 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3B_LSB           46
507 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3B_MSB           47
508 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3B_MASK          0x0000c00000000000
509 
510 
511 /* Description		RU_START_INDEX_80_2
512 
513 			RU index number to which User is assigned in the third 80
514 			 MHz
515 			RU numbering is over the entire BW, starting from 0 and
516 			in increasing frequency order and not primary-secondary
517 			order
518 			<legal 0-36>
519 */
520 
521 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_2_OFFSET 0x0000000000000008
522 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_2_LSB   48
523 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_2_MSB   53
524 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_2_MASK  0x003f000000000000
525 
526 
527 /* Description		RESERVED_3C
528 
529 			<legal 0>
530 */
531 
532 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3C_OFFSET        0x0000000000000008
533 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3C_LSB           54
534 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3C_MSB           55
535 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3C_MASK          0x00c0000000000000
536 
537 
538 /* Description		RU_START_INDEX_80_3
539 
540 			RU index number to which User is assigned in the fourth
541 			80 MHz
542 			RU numbering is over the entire BW, starting from 0 and
543 			in increasing frequency order and not primary-secondary
544 			order
545 			<legal 0-36>
546 */
547 
548 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_3_OFFSET 0x0000000000000008
549 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_3_LSB   56
550 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_3_MSB   61
551 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RU_START_INDEX_80_3_MASK  0x3f00000000000000
552 
553 
554 /* Description		RESERVED_3D
555 
556 			<legal 0>
557 */
558 
559 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3D_OFFSET        0x0000000000000008
560 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3D_LSB           62
561 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3D_MSB           63
562 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_RESERVED_3D_MASK          0xc000000000000000
563 
564 
565 /* Description		USER_FD_RSSI_SEG0
566 
567 			Frequency domain RSSI measurement for the lowest 80 MHz
568 			subband of this user, per spatial stream
569 			[7:0]: first spatial stream
570 			...
571 			[31:24]: fourth spatial stream
572 
573 			<legal all>
574 */
575 
576 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG0_OFFSET  0x0000000000000010
577 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG0_LSB     0
578 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG0_MSB     31
579 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG0_MASK    0x00000000ffffffff
580 
581 
582 /* Description		USER_FD_RSSI_SEG1
583 
584 			Frequency domain RSSI measurement for the second lowest
585 			80 MHz subband of this user, per spatial stream
586 			[7:0]: first spatial stream
587 			...
588 			[31:24]: fourth spatial stream
589 
590 			<legal all>
591 */
592 
593 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG1_OFFSET  0x0000000000000010
594 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG1_LSB     32
595 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG1_MSB     63
596 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG1_MASK    0xffffffff00000000
597 
598 
599 /* Description		USER_FD_RSSI_SEG2
600 
601 			Frequency domain RSSI measurement for the third lowest 80
602 			 MHz subband of this user, per spatial stream
603 			[7:0]: first spatial stream
604 			...
605 			[31:24]: fourth spatial stream
606 
607 			<legal all>
608 */
609 
610 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG2_OFFSET  0x0000000000000018
611 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG2_LSB     0
612 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG2_MSB     31
613 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG2_MASK    0x00000000ffffffff
614 
615 
616 /* Description		USER_FD_RSSI_SEG3
617 
618 			Frequency domain RSSI measurement for the highest 80 MHz
619 			 subband of this user, per spatial stream
620 			[7:0]: first spatial stream
621 			...
622 			[31:24]: fourth spatial stream
623 
624 			In Hamilton v1 this structure had 4 more (32-bit) words
625 			after this field.
626 			<legal all>
627 */
628 
629 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG3_OFFSET  0x0000000000000018
630 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG3_LSB     32
631 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG3_MSB     63
632 #define RX_PPDU_START_USER_INFO_RECEIVE_USER_INFO_DETAILS_USER_FD_RSSI_SEG3_MASK    0xffffffff00000000
633 
634 
635 
636 #endif   // RX_PPDU_START_USER_INFO
637