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