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