xref: /wlan-driver/fw-api/hw/qca5332/mactx_user_desc_common.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name 
2*5113495bSYour Name /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
5*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
6*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
7*5113495bSYour Name  *
8*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*5113495bSYour Name  */
16*5113495bSYour Name 
17*5113495bSYour Name 
18*5113495bSYour Name 
19*5113495bSYour Name 
20*5113495bSYour Name 
21*5113495bSYour Name 
22*5113495bSYour Name 
23*5113495bSYour Name 
24*5113495bSYour Name 
25*5113495bSYour Name 
26*5113495bSYour Name #ifndef _MACTX_USER_DESC_COMMON_H_
27*5113495bSYour Name #define _MACTX_USER_DESC_COMMON_H_
28*5113495bSYour Name #if !defined(__ASSEMBLER__)
29*5113495bSYour Name #endif
30*5113495bSYour Name 
31*5113495bSYour Name #include "unallocated_ru_160_info.h"
32*5113495bSYour Name #include "ru_allocation_160_info.h"
33*5113495bSYour Name #define NUM_OF_DWORDS_MACTX_USER_DESC_COMMON 16
34*5113495bSYour Name 
35*5113495bSYour Name #define NUM_OF_QWORDS_MACTX_USER_DESC_COMMON 8
36*5113495bSYour Name 
37*5113495bSYour Name 
38*5113495bSYour Name struct mactx_user_desc_common {
39*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
40*5113495bSYour Name              uint32_t num_users                                               :  6, // [5:0]
41*5113495bSYour Name                       reserved_0b                                             :  5, // [10:6]
42*5113495bSYour Name                       ltf_size                                                :  2, // [12:11]
43*5113495bSYour Name                       reserved_0c                                             :  3, // [15:13]
44*5113495bSYour Name                       he_stf_long                                             :  1, // [16:16]
45*5113495bSYour Name                       reserved_0d                                             :  7, // [23:17]
46*5113495bSYour Name                       num_users_he_sigb_band0                                 :  8; // [31:24]
47*5113495bSYour Name              uint32_t num_ltf_symbols                                         :  3, // [2:0]
48*5113495bSYour Name                       reserved_1a                                             :  5, // [7:3]
49*5113495bSYour Name                       num_users_he_sigb_band1                                 :  8, // [15:8]
50*5113495bSYour Name                       reserved_1b                                             : 16; // [31:16]
51*5113495bSYour Name              uint32_t packet_extension_a_factor                               :  2, // [1:0]
52*5113495bSYour Name                       packet_extension_pe_disambiguity                        :  1, // [2:2]
53*5113495bSYour Name                       packet_extension                                        :  3, // [5:3]
54*5113495bSYour Name                       reserved                                                :  2, // [7:6]
55*5113495bSYour Name                       he_sigb_dcm                                             :  1, // [8:8]
56*5113495bSYour Name                       reserved_2b                                             :  7, // [15:9]
57*5113495bSYour Name                       he_sigb_compression                                     :  1, // [16:16]
58*5113495bSYour Name                       reserved_2c                                             : 15; // [31:17]
59*5113495bSYour Name              uint32_t he_sigb_0_mcs                                           :  3, // [2:0]
60*5113495bSYour Name                       reserved_3a                                             : 13, // [15:3]
61*5113495bSYour Name                       num_he_sigb_sym                                         :  5, // [20:16]
62*5113495bSYour Name                       center_ru_0                                             :  1, // [21:21]
63*5113495bSYour Name                       center_ru_1                                             :  1, // [22:22]
64*5113495bSYour Name                       reserved_3b                                             :  1, // [23:23]
65*5113495bSYour Name                       ftm_en                                                  :  1, // [24:24]
66*5113495bSYour Name                       pe_nss                                                  :  3, // [27:25]
67*5113495bSYour Name                       pe_ltf_size                                             :  2, // [29:28]
68*5113495bSYour Name                       pe_content                                              :  1, // [30:30]
69*5113495bSYour Name                       pe_chain_csd_en                                         :  1; // [31:31]
70*5113495bSYour Name              struct   ru_allocation_160_info                                    ru_allocation_0123_details;
71*5113495bSYour Name              struct   ru_allocation_160_info                                    ru_allocation_4567_details;
72*5113495bSYour Name              struct   unallocated_ru_160_info                                   ru_allocation_160_0_details;
73*5113495bSYour Name              struct   unallocated_ru_160_info                                   ru_allocation_160_1_details;
74*5113495bSYour Name              uint32_t num_data_symbols                                        : 16, // [15:0]
75*5113495bSYour Name                       ndp_ru_tone_set_index                                   :  7, // [22:16]
76*5113495bSYour Name                       ndp_feedback_status                                     :  1, // [23:23]
77*5113495bSYour Name                       doppler_indication                                      :  1, // [24:24]
78*5113495bSYour Name                       reserved_14a                                            :  7; // [31:25]
79*5113495bSYour Name              uint32_t spatial_reuse                                           : 16, // [15:0]
80*5113495bSYour Name                       reserved_15a                                            : 16; // [31:16]
81*5113495bSYour Name #else
82*5113495bSYour Name              uint32_t num_users_he_sigb_band0                                 :  8, // [31:24]
83*5113495bSYour Name                       reserved_0d                                             :  7, // [23:17]
84*5113495bSYour Name                       he_stf_long                                             :  1, // [16:16]
85*5113495bSYour Name                       reserved_0c                                             :  3, // [15:13]
86*5113495bSYour Name                       ltf_size                                                :  2, // [12:11]
87*5113495bSYour Name                       reserved_0b                                             :  5, // [10:6]
88*5113495bSYour Name                       num_users                                               :  6; // [5:0]
89*5113495bSYour Name              uint32_t reserved_1b                                             : 16, // [31:16]
90*5113495bSYour Name                       num_users_he_sigb_band1                                 :  8, // [15:8]
91*5113495bSYour Name                       reserved_1a                                             :  5, // [7:3]
92*5113495bSYour Name                       num_ltf_symbols                                         :  3; // [2:0]
93*5113495bSYour Name              uint32_t reserved_2c                                             : 15, // [31:17]
94*5113495bSYour Name                       he_sigb_compression                                     :  1, // [16:16]
95*5113495bSYour Name                       reserved_2b                                             :  7, // [15:9]
96*5113495bSYour Name                       he_sigb_dcm                                             :  1, // [8:8]
97*5113495bSYour Name                       reserved                                                :  2, // [7:6]
98*5113495bSYour Name                       packet_extension                                        :  3, // [5:3]
99*5113495bSYour Name                       packet_extension_pe_disambiguity                        :  1, // [2:2]
100*5113495bSYour Name                       packet_extension_a_factor                               :  2; // [1:0]
101*5113495bSYour Name              uint32_t pe_chain_csd_en                                         :  1, // [31:31]
102*5113495bSYour Name                       pe_content                                              :  1, // [30:30]
103*5113495bSYour Name                       pe_ltf_size                                             :  2, // [29:28]
104*5113495bSYour Name                       pe_nss                                                  :  3, // [27:25]
105*5113495bSYour Name                       ftm_en                                                  :  1, // [24:24]
106*5113495bSYour Name                       reserved_3b                                             :  1, // [23:23]
107*5113495bSYour Name                       center_ru_1                                             :  1, // [22:22]
108*5113495bSYour Name                       center_ru_0                                             :  1, // [21:21]
109*5113495bSYour Name                       num_he_sigb_sym                                         :  5, // [20:16]
110*5113495bSYour Name                       reserved_3a                                             : 13, // [15:3]
111*5113495bSYour Name                       he_sigb_0_mcs                                           :  3; // [2:0]
112*5113495bSYour Name              struct   ru_allocation_160_info                                    ru_allocation_0123_details;
113*5113495bSYour Name              struct   ru_allocation_160_info                                    ru_allocation_4567_details;
114*5113495bSYour Name              struct   unallocated_ru_160_info                                   ru_allocation_160_0_details;
115*5113495bSYour Name              struct   unallocated_ru_160_info                                   ru_allocation_160_1_details;
116*5113495bSYour Name              uint32_t reserved_14a                                            :  7, // [31:25]
117*5113495bSYour Name                       doppler_indication                                      :  1, // [24:24]
118*5113495bSYour Name                       ndp_feedback_status                                     :  1, // [23:23]
119*5113495bSYour Name                       ndp_ru_tone_set_index                                   :  7, // [22:16]
120*5113495bSYour Name                       num_data_symbols                                        : 16; // [15:0]
121*5113495bSYour Name              uint32_t reserved_15a                                            : 16, // [31:16]
122*5113495bSYour Name                       spatial_reuse                                           : 16; // [15:0]
123*5113495bSYour Name #endif
124*5113495bSYour Name };
125*5113495bSYour Name 
126*5113495bSYour Name 
127*5113495bSYour Name /* Description		NUM_USERS
128*5113495bSYour Name 
129*5113495bSYour Name 			The number of users in this transmission
130*5113495bSYour Name 
131*5113495bSYour Name 			Use this same field for HE-ranging NDP as well.
132*5113495bSYour Name 			<legal 1-37>
133*5113495bSYour Name */
134*5113495bSYour Name 
135*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_OFFSET                                     0x0000000000000000
136*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_LSB                                        0
137*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_MSB                                        5
138*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_MASK                                       0x000000000000003f
139*5113495bSYour Name 
140*5113495bSYour Name 
141*5113495bSYour Name /* Description		RESERVED_0B
142*5113495bSYour Name 
143*5113495bSYour Name 			<legal 0>
144*5113495bSYour Name */
145*5113495bSYour Name 
146*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0B_OFFSET                                   0x0000000000000000
147*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0B_LSB                                      6
148*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0B_MSB                                      10
149*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0B_MASK                                     0x00000000000007c0
150*5113495bSYour Name 
151*5113495bSYour Name 
152*5113495bSYour Name /* Description		LTF_SIZE
153*5113495bSYour Name 
154*5113495bSYour Name 			Ltf size
155*5113495bSYour Name 
156*5113495bSYour Name 			Specify the right LTF-size for HE-Ranging NDPs (11az)/Short-NDP.
157*5113495bSYour Name 
158*5113495bSYour Name 
159*5113495bSYour Name 			<enum 0     ltf_1x >
160*5113495bSYour Name 			<enum 1     ltf_2x >
161*5113495bSYour Name 			<enum 2     ltf_4x >
162*5113495bSYour Name 			<legal 0 - 2>
163*5113495bSYour Name */
164*5113495bSYour Name 
165*5113495bSYour Name #define MACTX_USER_DESC_COMMON_LTF_SIZE_OFFSET                                      0x0000000000000000
166*5113495bSYour Name #define MACTX_USER_DESC_COMMON_LTF_SIZE_LSB                                         11
167*5113495bSYour Name #define MACTX_USER_DESC_COMMON_LTF_SIZE_MSB                                         12
168*5113495bSYour Name #define MACTX_USER_DESC_COMMON_LTF_SIZE_MASK                                        0x0000000000001800
169*5113495bSYour Name 
170*5113495bSYour Name 
171*5113495bSYour Name /* Description		RESERVED_0C
172*5113495bSYour Name 
173*5113495bSYour Name 			<legal 0>
174*5113495bSYour Name */
175*5113495bSYour Name 
176*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0C_OFFSET                                   0x0000000000000000
177*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0C_LSB                                      13
178*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0C_MSB                                      15
179*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0C_MASK                                     0x000000000000e000
180*5113495bSYour Name 
181*5113495bSYour Name 
182*5113495bSYour Name /* Description		HE_STF_LONG
183*5113495bSYour Name 
184*5113495bSYour Name 			0: Normal HE STF.
185*5113495bSYour Name 			1: Long HE STF
186*5113495bSYour Name 
187*5113495bSYour Name 			Specify the right STF-size for HE-Ranging NDPs (11az)/Short-NDP.
188*5113495bSYour Name 
189*5113495bSYour Name 
190*5113495bSYour Name 			<legal all>
191*5113495bSYour Name */
192*5113495bSYour Name 
193*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_STF_LONG_OFFSET                                   0x0000000000000000
194*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_STF_LONG_LSB                                      16
195*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_STF_LONG_MSB                                      16
196*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_STF_LONG_MASK                                     0x0000000000010000
197*5113495bSYour Name 
198*5113495bSYour Name 
199*5113495bSYour Name /* Description		RESERVED_0D
200*5113495bSYour Name 
201*5113495bSYour Name 			<legal 0>
202*5113495bSYour Name */
203*5113495bSYour Name 
204*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0D_OFFSET                                   0x0000000000000000
205*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0D_LSB                                      17
206*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0D_MSB                                      23
207*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_0D_MASK                                     0x0000000000fe0000
208*5113495bSYour Name 
209*5113495bSYour Name 
210*5113495bSYour Name /* Description		NUM_USERS_HE_SIGB_BAND0
211*5113495bSYour Name 
212*5113495bSYour Name 			number of users in HE_SIGB_0 or EHT_SIG_0
213*5113495bSYour Name 
214*5113495bSYour Name 			Note for MAC:
215*5113495bSYour Name 			directly from pdg_fes_setup, based on BW
216*5113495bSYour Name 			<legal all>
217*5113495bSYour Name */
218*5113495bSYour Name 
219*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND0_OFFSET                       0x0000000000000000
220*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND0_LSB                          24
221*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND0_MSB                          31
222*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND0_MASK                         0x00000000ff000000
223*5113495bSYour Name 
224*5113495bSYour Name 
225*5113495bSYour Name /* Description		NUM_LTF_SYMBOLS
226*5113495bSYour Name 
227*5113495bSYour Name 			Indicates the number of HE-LTF symbols
228*5113495bSYour Name 
229*5113495bSYour Name 			0: 1 symbol
230*5113495bSYour Name 			1: 2 symbols
231*5113495bSYour Name 			2: 3 symbols
232*5113495bSYour Name 			3: 4 symbols
233*5113495bSYour Name 			4: 5 symbols
234*5113495bSYour Name 			5: 6 symbols
235*5113495bSYour Name 			6: 7 symbols
236*5113495bSYour Name 			7: 8 symbols
237*5113495bSYour Name 
238*5113495bSYour Name 			NOTE that this encoding is different from what is in "Num_LTF_symbols"
239*5113495bSYour Name 			in the HE_SIG_A_MU_DL.
240*5113495bSYour Name 
241*5113495bSYour Name 			NOTE 2: Not used for HE-Ranging NDPs (11az)
242*5113495bSYour Name 			<legal all>
243*5113495bSYour Name */
244*5113495bSYour Name 
245*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_LTF_SYMBOLS_OFFSET                               0x0000000000000000
246*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_LTF_SYMBOLS_LSB                                  32
247*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_LTF_SYMBOLS_MSB                                  34
248*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_LTF_SYMBOLS_MASK                                 0x0000000700000000
249*5113495bSYour Name 
250*5113495bSYour Name 
251*5113495bSYour Name /* Description		RESERVED_1A
252*5113495bSYour Name 
253*5113495bSYour Name 			<legal 0>
254*5113495bSYour Name */
255*5113495bSYour Name 
256*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1A_OFFSET                                   0x0000000000000000
257*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1A_LSB                                      35
258*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1A_MSB                                      39
259*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1A_MASK                                     0x000000f800000000
260*5113495bSYour Name 
261*5113495bSYour Name 
262*5113495bSYour Name /* Description		NUM_USERS_HE_SIGB_BAND1
263*5113495bSYour Name 
264*5113495bSYour Name 			number of users in HE_SIGB_1 or EHT_SIG_1
265*5113495bSYour Name 
266*5113495bSYour Name 			Note for MAC:
267*5113495bSYour Name 			directly from pdg_fes_setup, based on BW
268*5113495bSYour Name 			For 20Mhz transmission, this is set to 0
269*5113495bSYour Name 			<legal all>
270*5113495bSYour Name */
271*5113495bSYour Name 
272*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND1_OFFSET                       0x0000000000000000
273*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND1_LSB                          40
274*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND1_MSB                          47
275*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_USERS_HE_SIGB_BAND1_MASK                         0x0000ff0000000000
276*5113495bSYour Name 
277*5113495bSYour Name 
278*5113495bSYour Name /* Description		RESERVED_1B
279*5113495bSYour Name 
280*5113495bSYour Name 			<legal 0>
281*5113495bSYour Name */
282*5113495bSYour Name 
283*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1B_OFFSET                                   0x0000000000000000
284*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1B_LSB                                      48
285*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1B_MSB                                      63
286*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_1B_MASK                                     0xffff000000000000
287*5113495bSYour Name 
288*5113495bSYour Name 
289*5113495bSYour Name /* Description		PACKET_EXTENSION_A_FACTOR
290*5113495bSYour Name 
291*5113495bSYour Name 			the packet extension duration of the trigger-based PPDU
292*5113495bSYour Name 			response with these two bits indicating the "a-factor"
293*5113495bSYour Name 
294*5113495bSYour Name 			<enum 0 a_factor_4>
295*5113495bSYour Name 			<enum 1 a_factor_1>
296*5113495bSYour Name 			<enum 2 a_factor_2>
297*5113495bSYour Name 			<enum 3 a_factor_3>
298*5113495bSYour Name 
299*5113495bSYour Name 			<legal all>
300*5113495bSYour Name */
301*5113495bSYour Name 
302*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_A_FACTOR_OFFSET                     0x0000000000000008
303*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_A_FACTOR_LSB                        0
304*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_A_FACTOR_MSB                        1
305*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_A_FACTOR_MASK                       0x0000000000000003
306*5113495bSYour Name 
307*5113495bSYour Name 
308*5113495bSYour Name /* Description		PACKET_EXTENSION_PE_DISAMBIGUITY
309*5113495bSYour Name 
310*5113495bSYour Name 			the packet extension duration of the trigger-based PPDU
311*5113495bSYour Name 			response with this bit indicating the PE-Disambiguity
312*5113495bSYour Name 			<legal all>
313*5113495bSYour Name */
314*5113495bSYour Name 
315*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET              0x0000000000000008
316*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB                 2
317*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_PE_DISAMBIGUITY_MSB                 2
318*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK                0x0000000000000004
319*5113495bSYour Name 
320*5113495bSYour Name 
321*5113495bSYour Name /* Description		PACKET_EXTENSION
322*5113495bSYour Name 
323*5113495bSYour Name 			Packet extension size
324*5113495bSYour Name 
325*5113495bSYour Name 			Specify the right packet extension size for HE-Ranging NDPs
326*5113495bSYour Name 			 (11az)/Short-NDP.
327*5113495bSYour Name 			<enum 0     packet_ext_0>
328*5113495bSYour Name 			<enum 1     packet_ext_4>
329*5113495bSYour Name 			<enum 2     packet_ext_8>
330*5113495bSYour Name 			<enum 3     packet_ext_12>
331*5113495bSYour Name 			<enum 4     packet_ext_16>
332*5113495bSYour Name 			<enum 5     packet_ext_20>
333*5113495bSYour Name 			<legal 0 - 5>
334*5113495bSYour Name */
335*5113495bSYour Name 
336*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_OFFSET                              0x0000000000000008
337*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_LSB                                 3
338*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_MSB                                 5
339*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PACKET_EXTENSION_MASK                                0x0000000000000038
340*5113495bSYour Name 
341*5113495bSYour Name 
342*5113495bSYour Name /* Description		RESERVED
343*5113495bSYour Name 
344*5113495bSYour Name 			<legal 0>
345*5113495bSYour Name */
346*5113495bSYour Name 
347*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_OFFSET                                      0x0000000000000008
348*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_LSB                                         6
349*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_MSB                                         7
350*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_MASK                                        0x00000000000000c0
351*5113495bSYour Name 
352*5113495bSYour Name 
353*5113495bSYour Name /* Description		HE_SIGB_DCM
354*5113495bSYour Name 
355*5113495bSYour Name 			Indicates whether dual sub-carrier modulation is applied
356*5113495bSYour Name 			 to HE-SIG-B or EHT-SIG
357*5113495bSYour Name 			<legal all>
358*5113495bSYour Name */
359*5113495bSYour Name 
360*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_DCM_OFFSET                                   0x0000000000000008
361*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_DCM_LSB                                      8
362*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_DCM_MSB                                      8
363*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_DCM_MASK                                     0x0000000000000100
364*5113495bSYour Name 
365*5113495bSYour Name 
366*5113495bSYour Name /* Description		RESERVED_2B
367*5113495bSYour Name 
368*5113495bSYour Name 			<legal 0>
369*5113495bSYour Name */
370*5113495bSYour Name 
371*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2B_OFFSET                                   0x0000000000000008
372*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2B_LSB                                      9
373*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2B_MSB                                      15
374*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2B_MASK                                     0x000000000000fe00
375*5113495bSYour Name 
376*5113495bSYour Name 
377*5113495bSYour Name /* Description		HE_SIGB_COMPRESSION
378*5113495bSYour Name 
379*5113495bSYour Name 			Indicates the compression mode of HE-SIG-B or EHT-SIG
380*5113495bSYour Name 			<legal all>
381*5113495bSYour Name */
382*5113495bSYour Name 
383*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_COMPRESSION_OFFSET                           0x0000000000000008
384*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_COMPRESSION_LSB                              16
385*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_COMPRESSION_MSB                              16
386*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_COMPRESSION_MASK                             0x0000000000010000
387*5113495bSYour Name 
388*5113495bSYour Name 
389*5113495bSYour Name /* Description		RESERVED_2C
390*5113495bSYour Name 
391*5113495bSYour Name 			<legal 0>
392*5113495bSYour Name */
393*5113495bSYour Name 
394*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2C_OFFSET                                   0x0000000000000008
395*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2C_LSB                                      17
396*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2C_MSB                                      31
397*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_2C_MASK                                     0x00000000fffe0000
398*5113495bSYour Name 
399*5113495bSYour Name 
400*5113495bSYour Name /* Description		HE_SIGB_0_MCS
401*5113495bSYour Name 
402*5113495bSYour Name 			Note: stbc setting is indicated in the MACTX_PHY_DESC.
403*5113495bSYour Name 
404*5113495bSYour Name 			Indicates the MCS of HE-SIG-B or EHT-SIG.
405*5113495bSYour Name 
406*5113495bSYour Name 			For details, refer to  MCS_TYPE description
407*5113495bSYour Name 			<legal all>
408*5113495bSYour Name */
409*5113495bSYour Name 
410*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_0_MCS_OFFSET                                 0x0000000000000008
411*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_0_MCS_LSB                                    32
412*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_0_MCS_MSB                                    34
413*5113495bSYour Name #define MACTX_USER_DESC_COMMON_HE_SIGB_0_MCS_MASK                                   0x0000000700000000
414*5113495bSYour Name 
415*5113495bSYour Name 
416*5113495bSYour Name /* Description		RESERVED_3A
417*5113495bSYour Name 
418*5113495bSYour Name 			<legal 0>
419*5113495bSYour Name */
420*5113495bSYour Name 
421*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3A_OFFSET                                   0x0000000000000008
422*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3A_LSB                                      35
423*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3A_MSB                                      47
424*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3A_MASK                                     0x0000fff800000000
425*5113495bSYour Name 
426*5113495bSYour Name 
427*5113495bSYour Name /* Description		NUM_HE_SIGB_SYM
428*5113495bSYour Name 
429*5113495bSYour Name 			This field is valid only when (MACTX_PHY_DESC.pkt_type==11ax
430*5113495bSYour Name 			 or MACTX_PHY_DESC.pkt_type == 11be)
431*5113495bSYour Name 
432*5113495bSYour Name 			Indicates the number of HE-SIG-B or EHT-SIG symbols
433*5113495bSYour Name 
434*5113495bSYour Name 			This field is 0-based with 0 indicating that 1 he_sigb/eht_sig
435*5113495bSYour Name 			 symbol needs to be transmitted
436*5113495bSYour Name 			<legal all>
437*5113495bSYour Name */
438*5113495bSYour Name 
439*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_HE_SIGB_SYM_OFFSET                               0x0000000000000008
440*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_HE_SIGB_SYM_LSB                                  48
441*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_HE_SIGB_SYM_MSB                                  52
442*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_HE_SIGB_SYM_MASK                                 0x001f000000000000
443*5113495bSYour Name 
444*5113495bSYour Name 
445*5113495bSYour Name /* Description		CENTER_RU_0
446*5113495bSYour Name 
447*5113495bSYour Name 			Field only valid for 11ax transmission with a BW of 80Mhz
448*5113495bSYour Name 			 or 160 Mhz
449*5113495bSYour Name 
450*5113495bSYour Name 			Indicates whether the Center RU is occupied in the lower
451*5113495bSYour Name 			 80 MHz band. This is part of HE_SIGB content channel 1
452*5113495bSYour Name 
453*5113495bSYour Name 			0: center RU is NOT used
454*5113495bSYour Name 			1: center RU is used
455*5113495bSYour Name 
456*5113495bSYour Name 			NOTE: EHT is not expected to use the center RU.
457*5113495bSYour Name 
458*5113495bSYour Name 			<legal all>
459*5113495bSYour Name */
460*5113495bSYour Name 
461*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_0_OFFSET                                   0x0000000000000008
462*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_0_LSB                                      53
463*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_0_MSB                                      53
464*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_0_MASK                                     0x0020000000000000
465*5113495bSYour Name 
466*5113495bSYour Name 
467*5113495bSYour Name /* Description		CENTER_RU_1
468*5113495bSYour Name 
469*5113495bSYour Name 			Field only valid for 11ax transmission with a BW of 160
470*5113495bSYour Name 			Mhz (or 80 + 80)
471*5113495bSYour Name 
472*5113495bSYour Name 			Indicates whether the Center RU is occupied in the upper
473*5113495bSYour Name 			 80 MHz band. This is part of HE_SIGB content channel 1
474*5113495bSYour Name 
475*5113495bSYour Name 			0: center RU is NOT used
476*5113495bSYour Name 			1: center RU is used
477*5113495bSYour Name 
478*5113495bSYour Name 			NOTE: EHT is not expected to use the center RU.
479*5113495bSYour Name 
480*5113495bSYour Name 			<legal all>
481*5113495bSYour Name */
482*5113495bSYour Name 
483*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_1_OFFSET                                   0x0000000000000008
484*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_1_LSB                                      54
485*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_1_MSB                                      54
486*5113495bSYour Name #define MACTX_USER_DESC_COMMON_CENTER_RU_1_MASK                                     0x0040000000000000
487*5113495bSYour Name 
488*5113495bSYour Name 
489*5113495bSYour Name /* Description		RESERVED_3B
490*5113495bSYour Name 
491*5113495bSYour Name 			<legal 0>
492*5113495bSYour Name */
493*5113495bSYour Name 
494*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3B_OFFSET                                   0x0000000000000008
495*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3B_LSB                                      55
496*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3B_MSB                                      55
497*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_3B_MASK                                     0x0080000000000000
498*5113495bSYour Name 
499*5113495bSYour Name 
500*5113495bSYour Name /* Description		FTM_EN
501*5113495bSYour Name 
502*5113495bSYour Name 			This field is set to 1 if the present packet is either an
503*5113495bSYour Name 			 FTM_1 or an FTM_2 packet or an HE-Ranging NDP (11az).
504*5113495bSYour Name 
505*5113495bSYour Name 			0: non-FTM frame
506*5113495bSYour Name 			1: FTM or HE-Ranging NDP Frame
507*5113495bSYour Name 			<legal all>
508*5113495bSYour Name */
509*5113495bSYour Name 
510*5113495bSYour Name #define MACTX_USER_DESC_COMMON_FTM_EN_OFFSET                                        0x0000000000000008
511*5113495bSYour Name #define MACTX_USER_DESC_COMMON_FTM_EN_LSB                                           56
512*5113495bSYour Name #define MACTX_USER_DESC_COMMON_FTM_EN_MSB                                           56
513*5113495bSYour Name #define MACTX_USER_DESC_COMMON_FTM_EN_MASK                                          0x0100000000000000
514*5113495bSYour Name 
515*5113495bSYour Name 
516*5113495bSYour Name /* Description		PE_NSS
517*5113495bSYour Name 
518*5113495bSYour Name 			Number of active spatial streams during packet extension.
519*5113495bSYour Name 
520*5113495bSYour Name 
521*5113495bSYour Name 			<enum 0 1_spatial_stream>Single spatial stream
522*5113495bSYour Name 			<enum 1 2_spatial_streams>2 spatial streams
523*5113495bSYour Name 			<enum 2 3_spatial_streams>3 spatial streams
524*5113495bSYour Name 			<enum 3 4_spatial_streams>4 spatial streams
525*5113495bSYour Name 			<enum 4 5_spatial_streams>5 spatial streams
526*5113495bSYour Name 			<enum 5 6_spatial_streams>6 spatial streams
527*5113495bSYour Name 			<enum 6 7_spatial_streams>7 spatial streams
528*5113495bSYour Name 			<enum 7 8_spatial_streams>8 spatial streams
529*5113495bSYour Name */
530*5113495bSYour Name 
531*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_NSS_OFFSET                                        0x0000000000000008
532*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_NSS_LSB                                           57
533*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_NSS_MSB                                           59
534*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_NSS_MASK                                          0x0e00000000000000
535*5113495bSYour Name 
536*5113495bSYour Name 
537*5113495bSYour Name /* Description		PE_LTF_SIZE
538*5113495bSYour Name 
539*5113495bSYour Name 			LTF size to be used during packet extention. . This field
540*5113495bSYour Name 			 is valid for both FTM and non-FTM packets.
541*5113495bSYour Name 			0-1x
542*5113495bSYour Name 			1-2x (unsupported un HWK-1)
543*5113495bSYour Name 			2-4x (unsupported un HWK-1)
544*5113495bSYour Name 			<legal all>
545*5113495bSYour Name */
546*5113495bSYour Name 
547*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_LTF_SIZE_OFFSET                                   0x0000000000000008
548*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_LTF_SIZE_LSB                                      60
549*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_LTF_SIZE_MSB                                      61
550*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_LTF_SIZE_MASK                                     0x3000000000000000
551*5113495bSYour Name 
552*5113495bSYour Name 
553*5113495bSYour Name /* Description		PE_CONTENT
554*5113495bSYour Name 
555*5113495bSYour Name 			Content of packet extension. Valid for all 11ax packets
556*5113495bSYour Name 			having packet extension
557*5113495bSYour Name 
558*5113495bSYour Name 			0-he_ltf, 1-last_data_symbol
559*5113495bSYour Name 			<legal all>
560*5113495bSYour Name */
561*5113495bSYour Name 
562*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CONTENT_OFFSET                                    0x0000000000000008
563*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CONTENT_LSB                                       62
564*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CONTENT_MSB                                       62
565*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CONTENT_MASK                                      0x4000000000000000
566*5113495bSYour Name 
567*5113495bSYour Name 
568*5113495bSYour Name /* Description		PE_CHAIN_CSD_EN
569*5113495bSYour Name 
570*5113495bSYour Name 			This field denotes whether to apply CSD on the packet extension
571*5113495bSYour Name 			 portion of the packet. This field is valid for all 11ax
572*5113495bSYour Name 			 packets.
573*5113495bSYour Name 			0: disable per-chain csd
574*5113495bSYour Name 			1: enable per-chain csd
575*5113495bSYour Name 			<legal all>
576*5113495bSYour Name */
577*5113495bSYour Name 
578*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CHAIN_CSD_EN_OFFSET                               0x0000000000000008
579*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CHAIN_CSD_EN_LSB                                  63
580*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CHAIN_CSD_EN_MSB                                  63
581*5113495bSYour Name #define MACTX_USER_DESC_COMMON_PE_CHAIN_CSD_EN_MASK                                 0x8000000000000000
582*5113495bSYour Name 
583*5113495bSYour Name 
584*5113495bSYour Name /* Description		RU_ALLOCATION_0123_DETAILS
585*5113495bSYour Name 
586*5113495bSYour Name 			See detailed description of the STRUCT.
587*5113495bSYour Name */
588*5113495bSYour Name 
589*5113495bSYour Name 
590*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_0
591*5113495bSYour Name 
592*5113495bSYour Name 			Field not used for MIMO
593*5113495bSYour Name 
594*5113495bSYour Name 			Indicates RU arrangement in frequency domain. RU allocated
595*5113495bSYour Name 			 for MU-MIMO, and number of users in the MU-MIMO.
596*5113495bSYour Name 			0 - valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
597*5113495bSYour Name 			EHT_240/EHT_320
598*5113495bSYour Name 			1 - valid for HE_80/HE_160 (80+80)/ EHT_80/EHT_160/EHT_240/EHT_320
599*5113495bSYour Name 
600*5113495bSYour Name 			2 - valid for HE_160 (80+80)/ EHT_160/EHT_240/EHT_320
601*5113495bSYour Name 			3 - valid for HE_160 (80+80)/ EHT_160/EHT_240/EHT_320
602*5113495bSYour Name 
603*5113495bSYour Name 			The four bands are for HE_SIGB0 & B1 respectively or for
604*5113495bSYour Name 			 EHT_SIG0, EHT_SIG1, EHT_SIG2 & EHT_SIG3 respectively.
605*5113495bSYour Name 
606*5113495bSYour Name 			valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
607*5113495bSYour Name 			EHT_240/EHT_320 packets and denotes RU-map of the first
608*5113495bSYour Name 			20MHz band of HE_SIGB0 or EHT_SIG0
609*5113495bSYour Name 			<legal all>
610*5113495bSYour Name */
611*5113495bSYour Name 
612*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_0_OFFSET 0x0000000000000010
613*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_0_LSB 0
614*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_0_MSB 8
615*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_0_MASK 0x00000000000001ff
616*5113495bSYour Name 
617*5113495bSYour Name 
618*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_1
619*5113495bSYour Name 
620*5113495bSYour Name 			Field not used for MIMO
621*5113495bSYour Name 
622*5113495bSYour Name 			See description of ru_allocation_band0_0
623*5113495bSYour Name 
624*5113495bSYour Name 			valid for HE_80/HE_160/ EHT_80/EHT_160/EHT_240/EHT_320 packets
625*5113495bSYour Name 			 and denotes RU-map of the second 20MHz band of HE_SIGB0
626*5113495bSYour Name 			 or EHT_SIG0
627*5113495bSYour Name */
628*5113495bSYour Name 
629*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_1_OFFSET 0x0000000000000010
630*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_1_LSB 9
631*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_1_MSB 17
632*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_1_MASK 0x000000000003fe00
633*5113495bSYour Name 
634*5113495bSYour Name 
635*5113495bSYour Name /* Description		RESERVED_0A
636*5113495bSYour Name 
637*5113495bSYour Name 			<legal 0>
638*5113495bSYour Name */
639*5113495bSYour Name 
640*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_0A_OFFSET        0x0000000000000010
641*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_0A_LSB           18
642*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_0A_MSB           23
643*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_0A_MASK          0x0000000000fc0000
644*5113495bSYour Name 
645*5113495bSYour Name 
646*5113495bSYour Name /* Description		RU_ALLOCATIONS_01_SUBBAND80_MASK
647*5113495bSYour Name 
648*5113495bSYour Name 			Field not used for HE
649*5113495bSYour Name 
650*5113495bSYour Name 			Indicates what 80 MHz subbands 'ru_allocation_band{0, 1}_{0,
651*5113495bSYour Name 			1}' are valid for
652*5113495bSYour Name 			Bit 0: lowest 80 MHz
653*5113495bSYour Name 			Bit 1: 2nd lowest 80 MHz
654*5113495bSYour Name 			Bit 2: 2nd highest 80 MHz
655*5113495bSYour Name 			Bit 3: highest 80 MHz
656*5113495bSYour Name 
657*5113495bSYour Name 			In other 80 MHz subbands PHY microcode should override these
658*5113495bSYour Name 			 with 'zero-user RU996.'
659*5113495bSYour Name 			<legal all>
660*5113495bSYour Name */
661*5113495bSYour Name 
662*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_OFFSET 0x0000000000000010
663*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_LSB 24
664*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_MSB 27
665*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_MASK 0x000000000f000000
666*5113495bSYour Name 
667*5113495bSYour Name 
668*5113495bSYour Name /* Description		RU_ALLOCATIONS_23_SUBBAND80_MASK
669*5113495bSYour Name 
670*5113495bSYour Name 			Field not used for HE
671*5113495bSYour Name 
672*5113495bSYour Name 			Indicates what 80 MHz subbands 'ru_allocation_band{0, 1}_{2,
673*5113495bSYour Name 			3}' are valid for
674*5113495bSYour Name 			Bit 0: lowest 80 MHz
675*5113495bSYour Name 			Bit 1: 2nd lowest 80 MHz
676*5113495bSYour Name 			Bit 2: 2nd highest 80 MHz
677*5113495bSYour Name 			Bit 3: highest 80 MHz
678*5113495bSYour Name 
679*5113495bSYour Name 			In other 80 MHz subbands PHY microcode should override these
680*5113495bSYour Name 			 with 'zero-user RU996.'
681*5113495bSYour Name 			<legal all>
682*5113495bSYour Name */
683*5113495bSYour Name 
684*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_OFFSET 0x0000000000000010
685*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_LSB 28
686*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_MSB 31
687*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_MASK 0x00000000f0000000
688*5113495bSYour Name 
689*5113495bSYour Name 
690*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_2
691*5113495bSYour Name 
692*5113495bSYour Name 			Field not used for MIMO
693*5113495bSYour Name 
694*5113495bSYour Name 			See description of ru_allocation_band0_0
695*5113495bSYour Name 
696*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
697*5113495bSYour Name 			 RU-map of the third 20MHz band of HE_SIGB0 or EHT_SIG0
698*5113495bSYour Name */
699*5113495bSYour Name 
700*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_2_OFFSET 0x0000000000000010
701*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_2_LSB 32
702*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_2_MSB 40
703*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_2_MASK 0x000001ff00000000
704*5113495bSYour Name 
705*5113495bSYour Name 
706*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_3
707*5113495bSYour Name 
708*5113495bSYour Name 			Field not used for MIMO
709*5113495bSYour Name 
710*5113495bSYour Name 			See description of ru_allocation_band0_0
711*5113495bSYour Name 
712*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
713*5113495bSYour Name 			 RU-map of the fourth 20MHz band of HE_SIGB0 or EHT_SIG0
714*5113495bSYour Name 
715*5113495bSYour Name */
716*5113495bSYour Name 
717*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_3_OFFSET 0x0000000000000010
718*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_3_LSB 41
719*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_3_MSB 49
720*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND0_3_MASK 0x0003fe0000000000
721*5113495bSYour Name 
722*5113495bSYour Name 
723*5113495bSYour Name /* Description		RESERVED_1A
724*5113495bSYour Name 
725*5113495bSYour Name 			<legal 0>
726*5113495bSYour Name */
727*5113495bSYour Name 
728*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_1A_OFFSET        0x0000000000000010
729*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_1A_LSB           50
730*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_1A_MSB           63
731*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_1A_MASK          0xfffc000000000000
732*5113495bSYour Name 
733*5113495bSYour Name 
734*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_0
735*5113495bSYour Name 
736*5113495bSYour Name 			Field not used for MIMO
737*5113495bSYour Name 
738*5113495bSYour Name 			See description of ru_allocation_band0_0
739*5113495bSYour Name 
740*5113495bSYour Name 			valid for HE_40/HE_80/HE_160/ EHT_40/EHT_80/EHT_160/ EHT_240/EHT_320
741*5113495bSYour Name 			 packets and denotes RU-map of the first 20MHz band of HE_SIGB1
742*5113495bSYour Name 			 or EHT_SIG1
743*5113495bSYour Name */
744*5113495bSYour Name 
745*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_0_OFFSET 0x0000000000000018
746*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_0_LSB 0
747*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_0_MSB 8
748*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_0_MASK 0x00000000000001ff
749*5113495bSYour Name 
750*5113495bSYour Name 
751*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_1
752*5113495bSYour Name 
753*5113495bSYour Name 			Field not used for MIMO
754*5113495bSYour Name 
755*5113495bSYour Name 			See description of ru_allocation_band0_0
756*5113495bSYour Name 
757*5113495bSYour Name 			valid for HE_80/HE_160/ EHT_80/EHT_160/EHT_240/EHT_320 packets
758*5113495bSYour Name 			 and denotes RU-map of the second 20MHz band of HE_SIGB1
759*5113495bSYour Name 			 or EHT_SIG1
760*5113495bSYour Name */
761*5113495bSYour Name 
762*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_1_OFFSET 0x0000000000000018
763*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_1_LSB 9
764*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_1_MSB 17
765*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_1_MASK 0x000000000003fe00
766*5113495bSYour Name 
767*5113495bSYour Name 
768*5113495bSYour Name /* Description		RESERVED_2A
769*5113495bSYour Name 
770*5113495bSYour Name 			<legal 0>
771*5113495bSYour Name */
772*5113495bSYour Name 
773*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_2A_OFFSET        0x0000000000000018
774*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_2A_LSB           18
775*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_2A_MSB           31
776*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_2A_MASK          0x00000000fffc0000
777*5113495bSYour Name 
778*5113495bSYour Name 
779*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_2
780*5113495bSYour Name 
781*5113495bSYour Name 			Field not used for MIMO
782*5113495bSYour Name 
783*5113495bSYour Name 			See description of ru_allocation_band0_0
784*5113495bSYour Name 
785*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
786*5113495bSYour Name 			 RU-map of the third 20MHz band of HE_SIGB1 or EHT_SIG1
787*5113495bSYour Name */
788*5113495bSYour Name 
789*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_2_OFFSET 0x0000000000000018
790*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_2_LSB 32
791*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_2_MSB 40
792*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_2_MASK 0x000001ff00000000
793*5113495bSYour Name 
794*5113495bSYour Name 
795*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_3
796*5113495bSYour Name 
797*5113495bSYour Name 			Field not used for MIMO
798*5113495bSYour Name 
799*5113495bSYour Name 			See description of ru_allocation_band0_0
800*5113495bSYour Name 
801*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
802*5113495bSYour Name 			 RU-map of the fourth 20MHz band of HE_SIGB1 or EHT_SIG1
803*5113495bSYour Name 
804*5113495bSYour Name */
805*5113495bSYour Name 
806*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_3_OFFSET 0x0000000000000018
807*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_3_LSB 41
808*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_3_MSB 49
809*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RU_ALLOCATION_BAND1_3_MASK 0x0003fe0000000000
810*5113495bSYour Name 
811*5113495bSYour Name 
812*5113495bSYour Name /* Description		RESERVED_3A
813*5113495bSYour Name 
814*5113495bSYour Name 			<legal 0>
815*5113495bSYour Name */
816*5113495bSYour Name 
817*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_3A_OFFSET        0x0000000000000018
818*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_3A_LSB           50
819*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_3A_MSB           63
820*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_0123_DETAILS_RESERVED_3A_MASK          0xfffc000000000000
821*5113495bSYour Name 
822*5113495bSYour Name 
823*5113495bSYour Name /* Description		RU_ALLOCATION_4567_DETAILS
824*5113495bSYour Name 
825*5113495bSYour Name 			See detailed description of the STRUCT.
826*5113495bSYour Name 
827*5113495bSYour Name 			Valid for EHT_240/EHT_320 packets and denotes RU-map of
828*5113495bSYour Name 			the fifth/sixth/sevent/eighth 20MHz bands of EHT_SIG0/EHT_SIG1
829*5113495bSYour Name 
830*5113495bSYour Name */
831*5113495bSYour Name 
832*5113495bSYour Name 
833*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_0
834*5113495bSYour Name 
835*5113495bSYour Name 			Field not used for MIMO
836*5113495bSYour Name 
837*5113495bSYour Name 			Indicates RU arrangement in frequency domain. RU allocated
838*5113495bSYour Name 			 for MU-MIMO, and number of users in the MU-MIMO.
839*5113495bSYour Name 			0 - valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
840*5113495bSYour Name 			EHT_240/EHT_320
841*5113495bSYour Name 			1 - valid for HE_80/HE_160 (80+80)/ EHT_80/EHT_160/EHT_240/EHT_320
842*5113495bSYour Name 
843*5113495bSYour Name 			2 - valid for HE_160 (80+80)/ EHT_160/EHT_240/EHT_320
844*5113495bSYour Name 			3 - valid for HE_160 (80+80)/ EHT_160/EHT_240/EHT_320
845*5113495bSYour Name 
846*5113495bSYour Name 			The four bands are for HE_SIGB0 & B1 respectively or for
847*5113495bSYour Name 			 EHT_SIG0, EHT_SIG1, EHT_SIG2 & EHT_SIG3 respectively.
848*5113495bSYour Name 
849*5113495bSYour Name 			valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
850*5113495bSYour Name 			EHT_240/EHT_320 packets and denotes RU-map of the first
851*5113495bSYour Name 			20MHz band of HE_SIGB0 or EHT_SIG0
852*5113495bSYour Name 			<legal all>
853*5113495bSYour Name */
854*5113495bSYour Name 
855*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_0_OFFSET 0x0000000000000020
856*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_0_LSB 0
857*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_0_MSB 8
858*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_0_MASK 0x00000000000001ff
859*5113495bSYour Name 
860*5113495bSYour Name 
861*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_1
862*5113495bSYour Name 
863*5113495bSYour Name 			Field not used for MIMO
864*5113495bSYour Name 
865*5113495bSYour Name 			See description of ru_allocation_band0_0
866*5113495bSYour Name 
867*5113495bSYour Name 			valid for HE_80/HE_160/ EHT_80/EHT_160/EHT_240/EHT_320 packets
868*5113495bSYour Name 			 and denotes RU-map of the second 20MHz band of HE_SIGB0
869*5113495bSYour Name 			 or EHT_SIG0
870*5113495bSYour Name */
871*5113495bSYour Name 
872*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_1_OFFSET 0x0000000000000020
873*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_1_LSB 9
874*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_1_MSB 17
875*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_1_MASK 0x000000000003fe00
876*5113495bSYour Name 
877*5113495bSYour Name 
878*5113495bSYour Name /* Description		RESERVED_0A
879*5113495bSYour Name 
880*5113495bSYour Name 			<legal 0>
881*5113495bSYour Name */
882*5113495bSYour Name 
883*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_0A_OFFSET        0x0000000000000020
884*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_0A_LSB           18
885*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_0A_MSB           23
886*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_0A_MASK          0x0000000000fc0000
887*5113495bSYour Name 
888*5113495bSYour Name 
889*5113495bSYour Name /* Description		RU_ALLOCATIONS_01_SUBBAND80_MASK
890*5113495bSYour Name 
891*5113495bSYour Name 			Field not used for HE
892*5113495bSYour Name 
893*5113495bSYour Name 			Indicates what 80 MHz subbands 'ru_allocation_band{0, 1}_{0,
894*5113495bSYour Name 			1}' are valid for
895*5113495bSYour Name 			Bit 0: lowest 80 MHz
896*5113495bSYour Name 			Bit 1: 2nd lowest 80 MHz
897*5113495bSYour Name 			Bit 2: 2nd highest 80 MHz
898*5113495bSYour Name 			Bit 3: highest 80 MHz
899*5113495bSYour Name 
900*5113495bSYour Name 			In other 80 MHz subbands PHY microcode should override these
901*5113495bSYour Name 			 with 'zero-user RU996.'
902*5113495bSYour Name 			<legal all>
903*5113495bSYour Name */
904*5113495bSYour Name 
905*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_OFFSET 0x0000000000000020
906*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_LSB 24
907*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_MSB 27
908*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_01_SUBBAND80_MASK_MASK 0x000000000f000000
909*5113495bSYour Name 
910*5113495bSYour Name 
911*5113495bSYour Name /* Description		RU_ALLOCATIONS_23_SUBBAND80_MASK
912*5113495bSYour Name 
913*5113495bSYour Name 			Field not used for HE
914*5113495bSYour Name 
915*5113495bSYour Name 			Indicates what 80 MHz subbands 'ru_allocation_band{0, 1}_{2,
916*5113495bSYour Name 			3}' are valid for
917*5113495bSYour Name 			Bit 0: lowest 80 MHz
918*5113495bSYour Name 			Bit 1: 2nd lowest 80 MHz
919*5113495bSYour Name 			Bit 2: 2nd highest 80 MHz
920*5113495bSYour Name 			Bit 3: highest 80 MHz
921*5113495bSYour Name 
922*5113495bSYour Name 			In other 80 MHz subbands PHY microcode should override these
923*5113495bSYour Name 			 with 'zero-user RU996.'
924*5113495bSYour Name 			<legal all>
925*5113495bSYour Name */
926*5113495bSYour Name 
927*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_OFFSET 0x0000000000000020
928*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_LSB 28
929*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_MSB 31
930*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATIONS_23_SUBBAND80_MASK_MASK 0x00000000f0000000
931*5113495bSYour Name 
932*5113495bSYour Name 
933*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_2
934*5113495bSYour Name 
935*5113495bSYour Name 			Field not used for MIMO
936*5113495bSYour Name 
937*5113495bSYour Name 			See description of ru_allocation_band0_0
938*5113495bSYour Name 
939*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
940*5113495bSYour Name 			 RU-map of the third 20MHz band of HE_SIGB0 or EHT_SIG0
941*5113495bSYour Name */
942*5113495bSYour Name 
943*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_2_OFFSET 0x0000000000000020
944*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_2_LSB 32
945*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_2_MSB 40
946*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_2_MASK 0x000001ff00000000
947*5113495bSYour Name 
948*5113495bSYour Name 
949*5113495bSYour Name /* Description		RU_ALLOCATION_BAND0_3
950*5113495bSYour Name 
951*5113495bSYour Name 			Field not used for MIMO
952*5113495bSYour Name 
953*5113495bSYour Name 			See description of ru_allocation_band0_0
954*5113495bSYour Name 
955*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
956*5113495bSYour Name 			 RU-map of the fourth 20MHz band of HE_SIGB0 or EHT_SIG0
957*5113495bSYour Name 
958*5113495bSYour Name */
959*5113495bSYour Name 
960*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_3_OFFSET 0x0000000000000020
961*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_3_LSB 41
962*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_3_MSB 49
963*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND0_3_MASK 0x0003fe0000000000
964*5113495bSYour Name 
965*5113495bSYour Name 
966*5113495bSYour Name /* Description		RESERVED_1A
967*5113495bSYour Name 
968*5113495bSYour Name 			<legal 0>
969*5113495bSYour Name */
970*5113495bSYour Name 
971*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_1A_OFFSET        0x0000000000000020
972*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_1A_LSB           50
973*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_1A_MSB           63
974*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_1A_MASK          0xfffc000000000000
975*5113495bSYour Name 
976*5113495bSYour Name 
977*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_0
978*5113495bSYour Name 
979*5113495bSYour Name 			Field not used for MIMO
980*5113495bSYour Name 
981*5113495bSYour Name 			See description of ru_allocation_band0_0
982*5113495bSYour Name 
983*5113495bSYour Name 			valid for HE_40/HE_80/HE_160/ EHT_40/EHT_80/EHT_160/ EHT_240/EHT_320
984*5113495bSYour Name 			 packets and denotes RU-map of the first 20MHz band of HE_SIGB1
985*5113495bSYour Name 			 or EHT_SIG1
986*5113495bSYour Name */
987*5113495bSYour Name 
988*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_0_OFFSET 0x0000000000000028
989*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_0_LSB 0
990*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_0_MSB 8
991*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_0_MASK 0x00000000000001ff
992*5113495bSYour Name 
993*5113495bSYour Name 
994*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_1
995*5113495bSYour Name 
996*5113495bSYour Name 			Field not used for MIMO
997*5113495bSYour Name 
998*5113495bSYour Name 			See description of ru_allocation_band0_0
999*5113495bSYour Name 
1000*5113495bSYour Name 			valid for HE_80/HE_160/ EHT_80/EHT_160/EHT_240/EHT_320 packets
1001*5113495bSYour Name 			 and denotes RU-map of the second 20MHz band of HE_SIGB1
1002*5113495bSYour Name 			 or EHT_SIG1
1003*5113495bSYour Name */
1004*5113495bSYour Name 
1005*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_1_OFFSET 0x0000000000000028
1006*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_1_LSB 9
1007*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_1_MSB 17
1008*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_1_MASK 0x000000000003fe00
1009*5113495bSYour Name 
1010*5113495bSYour Name 
1011*5113495bSYour Name /* Description		RESERVED_2A
1012*5113495bSYour Name 
1013*5113495bSYour Name 			<legal 0>
1014*5113495bSYour Name */
1015*5113495bSYour Name 
1016*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_2A_OFFSET        0x0000000000000028
1017*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_2A_LSB           18
1018*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_2A_MSB           31
1019*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_2A_MASK          0x00000000fffc0000
1020*5113495bSYour Name 
1021*5113495bSYour Name 
1022*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_2
1023*5113495bSYour Name 
1024*5113495bSYour Name 			Field not used for MIMO
1025*5113495bSYour Name 
1026*5113495bSYour Name 			See description of ru_allocation_band0_0
1027*5113495bSYour Name 
1028*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
1029*5113495bSYour Name 			 RU-map of the third 20MHz band of HE_SIGB1 or EHT_SIG1
1030*5113495bSYour Name */
1031*5113495bSYour Name 
1032*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_2_OFFSET 0x0000000000000028
1033*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_2_LSB 32
1034*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_2_MSB 40
1035*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_2_MASK 0x000001ff00000000
1036*5113495bSYour Name 
1037*5113495bSYour Name 
1038*5113495bSYour Name /* Description		RU_ALLOCATION_BAND1_3
1039*5113495bSYour Name 
1040*5113495bSYour Name 			Field not used for MIMO
1041*5113495bSYour Name 
1042*5113495bSYour Name 			See description of ru_allocation_band0_0
1043*5113495bSYour Name 
1044*5113495bSYour Name 			valid for HE_160/ EHT_160/EHT_240/EHT_320 packets and denotes
1045*5113495bSYour Name 			 RU-map of the fourth 20MHz band of HE_SIGB1 or EHT_SIG1
1046*5113495bSYour Name 
1047*5113495bSYour Name */
1048*5113495bSYour Name 
1049*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_3_OFFSET 0x0000000000000028
1050*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_3_LSB 41
1051*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_3_MSB 49
1052*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RU_ALLOCATION_BAND1_3_MASK 0x0003fe0000000000
1053*5113495bSYour Name 
1054*5113495bSYour Name 
1055*5113495bSYour Name /* Description		RESERVED_3A
1056*5113495bSYour Name 
1057*5113495bSYour Name 			<legal 0>
1058*5113495bSYour Name */
1059*5113495bSYour Name 
1060*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_3A_OFFSET        0x0000000000000028
1061*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_3A_LSB           50
1062*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_3A_MSB           63
1063*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_4567_DETAILS_RESERVED_3A_MASK          0xfffc000000000000
1064*5113495bSYour Name 
1065*5113495bSYour Name 
1066*5113495bSYour Name /* Description		RU_ALLOCATION_160_0_DETAILS
1067*5113495bSYour Name 
1068*5113495bSYour Name 			See detailed description of the STRUCT.
1069*5113495bSYour Name */
1070*5113495bSYour Name 
1071*5113495bSYour Name 
1072*5113495bSYour Name /* Description		SUBBAND80_0_CC0
1073*5113495bSYour Name 
1074*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1075*5113495bSYour Name 			 should generate for content channel 0 (HE_SIGB0 or EHT_SIG0)
1076*5113495bSYour Name 			for the lower 80 MHz
1077*5113495bSYour Name 
1078*5113495bSYour Name 			Valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
1079*5113495bSYour Name 			EHT_240/EHT_320
1080*5113495bSYour Name 			<legal all>
1081*5113495bSYour Name */
1082*5113495bSYour Name 
1083*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC0_OFFSET   0x0000000000000030
1084*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC0_LSB      0
1085*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC0_MSB      7
1086*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC0_MASK     0x00000000000000ff
1087*5113495bSYour Name 
1088*5113495bSYour Name 
1089*5113495bSYour Name /* Description		SUBBAND80_0_CC1
1090*5113495bSYour Name 
1091*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1092*5113495bSYour Name 			 should generate for content channel 1 (HE_SIGB1 or EHT_SIG1)
1093*5113495bSYour Name 			for the lower 80 MHz
1094*5113495bSYour Name 
1095*5113495bSYour Name 			Valid for HE_40/HE_80/HE_160 (80+80)/ EHT_40/EHT_80/EHT_160/EHT_240/EHT_320
1096*5113495bSYour Name 
1097*5113495bSYour Name 			<legal all>
1098*5113495bSYour Name */
1099*5113495bSYour Name 
1100*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC1_OFFSET   0x0000000000000030
1101*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC1_LSB      8
1102*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC1_MSB      15
1103*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_0_CC1_MASK     0x000000000000ff00
1104*5113495bSYour Name 
1105*5113495bSYour Name 
1106*5113495bSYour Name /* Description		SUBBAND80_1_CC0
1107*5113495bSYour Name 
1108*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1109*5113495bSYour Name 			 should generate for content channel 0 (HE_SIGB0 or EHT_SIG0)
1110*5113495bSYour Name 			for the higher 80 MHz
1111*5113495bSYour Name 
1112*5113495bSYour Name 			Valid for EHT_160/EHT_240/EHT_320
1113*5113495bSYour Name 			All 80 MHz subbands are identical for HE_160 (80+80).
1114*5113495bSYour Name 			<legal all>
1115*5113495bSYour Name */
1116*5113495bSYour Name 
1117*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC0_OFFSET   0x0000000000000030
1118*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC0_LSB      16
1119*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC0_MSB      23
1120*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC0_MASK     0x0000000000ff0000
1121*5113495bSYour Name 
1122*5113495bSYour Name 
1123*5113495bSYour Name /* Description		SUBBAND80_1_CC1
1124*5113495bSYour Name 
1125*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1126*5113495bSYour Name 			 should generate for content channel 1 (HE_SIGB1 or EHT_SIG1)
1127*5113495bSYour Name 			for the higher 80 MHz
1128*5113495bSYour Name 
1129*5113495bSYour Name 			Valid for EHT_160/EHT_240/EHT_320
1130*5113495bSYour Name 			All 80 MHz subbands are identical for HE_160 (80+80).
1131*5113495bSYour Name 			<legal all>
1132*5113495bSYour Name */
1133*5113495bSYour Name 
1134*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC1_OFFSET   0x0000000000000030
1135*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC1_LSB      24
1136*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC1_MSB      31
1137*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_0_DETAILS_SUBBAND80_1_CC1_MASK     0x00000000ff000000
1138*5113495bSYour Name 
1139*5113495bSYour Name 
1140*5113495bSYour Name /* Description		RU_ALLOCATION_160_1_DETAILS
1141*5113495bSYour Name 
1142*5113495bSYour Name 			See detailed description of the STRUCT.
1143*5113495bSYour Name 
1144*5113495bSYour Name 			Valid for EHT_240/EHT_320
1145*5113495bSYour Name */
1146*5113495bSYour Name 
1147*5113495bSYour Name 
1148*5113495bSYour Name /* Description		SUBBAND80_0_CC0
1149*5113495bSYour Name 
1150*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1151*5113495bSYour Name 			 should generate for content channel 0 (HE_SIGB0 or EHT_SIG0)
1152*5113495bSYour Name 			for the lower 80 MHz
1153*5113495bSYour Name 
1154*5113495bSYour Name 			Valid for HE_20/HE_40/HE_80/HE_160/ EHT_20/EHT_40/EHT_80/EHT_160/
1155*5113495bSYour Name 			EHT_240/EHT_320
1156*5113495bSYour Name 			<legal all>
1157*5113495bSYour Name */
1158*5113495bSYour Name 
1159*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC0_OFFSET   0x0000000000000030
1160*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC0_LSB      32
1161*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC0_MSB      39
1162*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC0_MASK     0x000000ff00000000
1163*5113495bSYour Name 
1164*5113495bSYour Name 
1165*5113495bSYour Name /* Description		SUBBAND80_0_CC1
1166*5113495bSYour Name 
1167*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1168*5113495bSYour Name 			 should generate for content channel 1 (HE_SIGB1 or EHT_SIG1)
1169*5113495bSYour Name 			for the lower 80 MHz
1170*5113495bSYour Name 
1171*5113495bSYour Name 			Valid for HE_40/HE_80/HE_160 (80+80)/ EHT_40/EHT_80/EHT_160/EHT_240/EHT_320
1172*5113495bSYour Name 
1173*5113495bSYour Name 			<legal all>
1174*5113495bSYour Name */
1175*5113495bSYour Name 
1176*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC1_OFFSET   0x0000000000000030
1177*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC1_LSB      40
1178*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC1_MSB      47
1179*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_0_CC1_MASK     0x0000ff0000000000
1180*5113495bSYour Name 
1181*5113495bSYour Name 
1182*5113495bSYour Name /* Description		SUBBAND80_1_CC0
1183*5113495bSYour Name 
1184*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1185*5113495bSYour Name 			 should generate for content channel 0 (HE_SIGB0 or EHT_SIG0)
1186*5113495bSYour Name 			for the higher 80 MHz
1187*5113495bSYour Name 
1188*5113495bSYour Name 			Valid for EHT_160/EHT_240/EHT_320
1189*5113495bSYour Name 			All 80 MHz subbands are identical for HE_160 (80+80).
1190*5113495bSYour Name 			<legal all>
1191*5113495bSYour Name */
1192*5113495bSYour Name 
1193*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC0_OFFSET   0x0000000000000030
1194*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC0_LSB      48
1195*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC0_MSB      55
1196*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC0_MASK     0x00ff000000000000
1197*5113495bSYour Name 
1198*5113495bSYour Name 
1199*5113495bSYour Name /* Description		SUBBAND80_1_CC1
1200*5113495bSYour Name 
1201*5113495bSYour Name 			Number of STA_ID=2046 HE-SIG-B/EHT-SIG user fields microcode
1202*5113495bSYour Name 			 should generate for content channel 1 (HE_SIGB1 or EHT_SIG1)
1203*5113495bSYour Name 			for the higher 80 MHz
1204*5113495bSYour Name 
1205*5113495bSYour Name 			Valid for EHT_160/EHT_240/EHT_320
1206*5113495bSYour Name 			All 80 MHz subbands are identical for HE_160 (80+80).
1207*5113495bSYour Name 			<legal all>
1208*5113495bSYour Name */
1209*5113495bSYour Name 
1210*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC1_OFFSET   0x0000000000000030
1211*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC1_LSB      56
1212*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC1_MSB      63
1213*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RU_ALLOCATION_160_1_DETAILS_SUBBAND80_1_CC1_MASK     0xff00000000000000
1214*5113495bSYour Name 
1215*5113495bSYour Name 
1216*5113495bSYour Name /* Description		NUM_DATA_SYMBOLS
1217*5113495bSYour Name 
1218*5113495bSYour Name 			The number of data symbols in the upcoming transmission.
1219*5113495bSYour Name 
1220*5113495bSYour Name 
1221*5113495bSYour Name 			This does not include PE_LTF. Also for STBC packets this
1222*5113495bSYour Name 			 has to be an even number.
1223*5113495bSYour Name 
1224*5113495bSYour Name 			NOTE: Napier and Hastings80 MAC might not handle LDPC extra
1225*5113495bSYour Name 			 symbol and/or padding for STBC to make this an even number.
1226*5113495bSYour Name 
1227*5113495bSYour Name */
1228*5113495bSYour Name 
1229*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_DATA_SYMBOLS_OFFSET                              0x0000000000000038
1230*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_DATA_SYMBOLS_LSB                                 0
1231*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_DATA_SYMBOLS_MSB                                 15
1232*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NUM_DATA_SYMBOLS_MASK                                0x000000000000ffff
1233*5113495bSYour Name 
1234*5113495bSYour Name 
1235*5113495bSYour Name /* Description		NDP_RU_TONE_SET_INDEX
1236*5113495bSYour Name 
1237*5113495bSYour Name 			Determines the RU tone set (1 - 72) to use for Short-NDP
1238*5113495bSYour Name 			 feedback
1239*5113495bSYour Name 
1240*5113495bSYour Name 			Can be set to 0 for frames other than Short-NDP
1241*5113495bSYour Name 			<legal 0-72>
1242*5113495bSYour Name */
1243*5113495bSYour Name 
1244*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_RU_TONE_SET_INDEX_OFFSET                         0x0000000000000038
1245*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_RU_TONE_SET_INDEX_LSB                            16
1246*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_RU_TONE_SET_INDEX_MSB                            22
1247*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_RU_TONE_SET_INDEX_MASK                           0x00000000007f0000
1248*5113495bSYour Name 
1249*5113495bSYour Name 
1250*5113495bSYour Name /* Description		NDP_FEEDBACK_STATUS
1251*5113495bSYour Name 
1252*5113495bSYour Name 			Determines the feedback value for Short-NDP
1253*5113495bSYour Name 			<legal 0-1>
1254*5113495bSYour Name */
1255*5113495bSYour Name 
1256*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_FEEDBACK_STATUS_OFFSET                           0x0000000000000038
1257*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_FEEDBACK_STATUS_LSB                              23
1258*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_FEEDBACK_STATUS_MSB                              23
1259*5113495bSYour Name #define MACTX_USER_DESC_COMMON_NDP_FEEDBACK_STATUS_MASK                             0x0000000000800000
1260*5113495bSYour Name 
1261*5113495bSYour Name 
1262*5113495bSYour Name /* Description		DOPPLER_INDICATION
1263*5113495bSYour Name 
1264*5113495bSYour Name 			This field is valid only when (MACTX_PHY_DESC.pkt_type==11ax
1265*5113495bSYour Name 			 or MACTX_PHY_DESC.pkt_type == 11be).
1266*5113495bSYour Name 
1267*5113495bSYour Name 			<legal all>
1268*5113495bSYour Name */
1269*5113495bSYour Name 
1270*5113495bSYour Name #define MACTX_USER_DESC_COMMON_DOPPLER_INDICATION_OFFSET                            0x0000000000000038
1271*5113495bSYour Name #define MACTX_USER_DESC_COMMON_DOPPLER_INDICATION_LSB                               24
1272*5113495bSYour Name #define MACTX_USER_DESC_COMMON_DOPPLER_INDICATION_MSB                               24
1273*5113495bSYour Name #define MACTX_USER_DESC_COMMON_DOPPLER_INDICATION_MASK                              0x0000000001000000
1274*5113495bSYour Name 
1275*5113495bSYour Name 
1276*5113495bSYour Name /* Description		RESERVED_14A
1277*5113495bSYour Name 
1278*5113495bSYour Name 			<legal 0>
1279*5113495bSYour Name */
1280*5113495bSYour Name 
1281*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_14A_OFFSET                                  0x0000000000000038
1282*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_14A_LSB                                     25
1283*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_14A_MSB                                     31
1284*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_14A_MASK                                    0x00000000fe000000
1285*5113495bSYour Name 
1286*5113495bSYour Name 
1287*5113495bSYour Name /* Description		SPATIAL_REUSE
1288*5113495bSYour Name 
1289*5113495bSYour Name 			This field is valid only when (MACTX_PHY_DESC.pkt_type==11ax
1290*5113495bSYour Name 			 or MACTX_PHY_DESC.pkt_type == 11be)
1291*5113495bSYour Name 
1292*5113495bSYour Name 			For an HE TB PPDU all 16 bits are valid.
1293*5113495bSYour Name 			For an EHT TB PPDU LSB 8 bits are valid.
1294*5113495bSYour Name 			For any other HE/EHT PPDU LSB 4 bits are valid.
1295*5113495bSYour Name 
1296*5113495bSYour Name 			<legal all>
1297*5113495bSYour Name */
1298*5113495bSYour Name 
1299*5113495bSYour Name #define MACTX_USER_DESC_COMMON_SPATIAL_REUSE_OFFSET                                 0x0000000000000038
1300*5113495bSYour Name #define MACTX_USER_DESC_COMMON_SPATIAL_REUSE_LSB                                    32
1301*5113495bSYour Name #define MACTX_USER_DESC_COMMON_SPATIAL_REUSE_MSB                                    47
1302*5113495bSYour Name #define MACTX_USER_DESC_COMMON_SPATIAL_REUSE_MASK                                   0x0000ffff00000000
1303*5113495bSYour Name 
1304*5113495bSYour Name 
1305*5113495bSYour Name /* Description		RESERVED_15A
1306*5113495bSYour Name 
1307*5113495bSYour Name 			<legal 0>
1308*5113495bSYour Name */
1309*5113495bSYour Name 
1310*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_15A_OFFSET                                  0x0000000000000038
1311*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_15A_LSB                                     48
1312*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_15A_MSB                                     63
1313*5113495bSYour Name #define MACTX_USER_DESC_COMMON_RESERVED_15A_MASK                                    0xffff000000000000
1314*5113495bSYour Name 
1315*5113495bSYour Name 
1316*5113495bSYour Name 
1317*5113495bSYour Name #endif   // MACTX_USER_DESC_COMMON
1318