xref: /wlan-driver/fw-api/hw/qca5332/mactx_phy_desc.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_PHY_DESC_H_
27*5113495bSYour Name #define _MACTX_PHY_DESC_H_
28*5113495bSYour Name #if !defined(__ASSEMBLER__)
29*5113495bSYour Name #endif
30*5113495bSYour Name 
31*5113495bSYour Name #define NUM_OF_DWORDS_MACTX_PHY_DESC 4
32*5113495bSYour Name 
33*5113495bSYour Name #define NUM_OF_QWORDS_MACTX_PHY_DESC 2
34*5113495bSYour Name 
35*5113495bSYour Name 
36*5113495bSYour Name struct mactx_phy_desc {
37*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
38*5113495bSYour Name              uint32_t reserved_0a                                             : 16, // [15:0]
39*5113495bSYour Name                       bf_type                                                 :  2, // [17:16]
40*5113495bSYour Name                       wait_sifs                                               :  2, // [19:18]
41*5113495bSYour Name                       dot11b_preamble_type                                    :  1, // [20:20]
42*5113495bSYour Name                       pkt_type                                                :  4, // [24:21]
43*5113495bSYour Name                       su_or_mu                                                :  2, // [26:25]
44*5113495bSYour Name                       mu_type                                                 :  1, // [27:27]
45*5113495bSYour Name                       bandwidth                                               :  3, // [30:28]
46*5113495bSYour Name                       channel_capture                                         :  1; // [31:31]
47*5113495bSYour Name              uint32_t mcs                                                     :  4, // [3:0]
48*5113495bSYour Name                       global_ofdma_mimo_enable                                :  1, // [4:4]
49*5113495bSYour Name                       reserved_1a                                             :  1, // [5:5]
50*5113495bSYour Name                       stbc                                                    :  1, // [6:6]
51*5113495bSYour Name                       dot11ax_su_extended                                     :  1, // [7:7]
52*5113495bSYour Name                       dot11ax_trigger_frame_embedded                          :  1, // [8:8]
53*5113495bSYour Name                       tx_pwr_shared                                           :  8, // [16:9]
54*5113495bSYour Name                       tx_pwr_unshared                                         :  8, // [24:17]
55*5113495bSYour Name                       measure_power                                           :  1, // [25:25]
56*5113495bSYour Name                       tpc_glut_self_cal                                       :  1, // [26:26]
57*5113495bSYour Name                       back_to_back_transmission_expected                      :  1, // [27:27]
58*5113495bSYour Name                       heavy_clip_nss                                          :  3, // [30:28]
59*5113495bSYour Name                       txbf_per_packet_no_csd_no_walsh                         :  1; // [31:31]
60*5113495bSYour Name              uint32_t ndp                                                     :  2, // [1:0]
61*5113495bSYour Name                       ul_flag                                                 :  1, // [2:2]
62*5113495bSYour Name                       triggered                                               :  1, // [3:3]
63*5113495bSYour Name                       ap_pkt_bw                                               :  3, // [6:4]
64*5113495bSYour Name                       ru_position_start                                       :  8, // [14:7]
65*5113495bSYour Name                       pcu_ppdu_setup_start_reason                             :  3, // [17:15]
66*5113495bSYour Name                       tlv_source                                              :  1, // [18:18]
67*5113495bSYour Name                       reserved_2a                                             :  2, // [20:19]
68*5113495bSYour Name                       nss                                                     :  3, // [23:21]
69*5113495bSYour Name                       stream_offset                                           :  3, // [26:24]
70*5113495bSYour Name                       reserved_2b                                             :  2, // [28:27]
71*5113495bSYour Name                       clpc_enable                                             :  1, // [29:29]
72*5113495bSYour Name                       mu_ndp                                                  :  1, // [30:30]
73*5113495bSYour Name                       response_expected                                       :  1; // [31:31]
74*5113495bSYour Name              uint32_t rx_chain_mask                                           :  8, // [7:0]
75*5113495bSYour Name                       rx_chain_mask_valid                                     :  1, // [8:8]
76*5113495bSYour Name                       ant_sel_valid                                           :  1, // [9:9]
77*5113495bSYour Name                       ant_sel                                                 :  1, // [10:10]
78*5113495bSYour Name                       cp_setting                                              :  2, // [12:11]
79*5113495bSYour Name                       he_ppdu_subtype                                         :  2, // [14:13]
80*5113495bSYour Name                       active_channel                                          :  3, // [17:15]
81*5113495bSYour Name                       generate_phyrx_tx_start_timing                          :  1, // [18:18]
82*5113495bSYour Name                       ltf_size                                                :  2, // [20:19]
83*5113495bSYour Name                       ru_size_updated_v2                                      :  4, // [24:21]
84*5113495bSYour Name                       reserved_3c                                             :  1, // [25:25]
85*5113495bSYour Name                       u_sig_puncture_pattern_encoding                         :  6; // [31:26]
86*5113495bSYour Name #else
87*5113495bSYour Name              uint32_t channel_capture                                         :  1, // [31:31]
88*5113495bSYour Name                       bandwidth                                               :  3, // [30:28]
89*5113495bSYour Name                       mu_type                                                 :  1, // [27:27]
90*5113495bSYour Name                       su_or_mu                                                :  2, // [26:25]
91*5113495bSYour Name                       pkt_type                                                :  4, // [24:21]
92*5113495bSYour Name                       dot11b_preamble_type                                    :  1, // [20:20]
93*5113495bSYour Name                       wait_sifs                                               :  2, // [19:18]
94*5113495bSYour Name                       bf_type                                                 :  2, // [17:16]
95*5113495bSYour Name                       reserved_0a                                             : 16; // [15:0]
96*5113495bSYour Name              uint32_t txbf_per_packet_no_csd_no_walsh                         :  1, // [31:31]
97*5113495bSYour Name                       heavy_clip_nss                                          :  3, // [30:28]
98*5113495bSYour Name                       back_to_back_transmission_expected                      :  1, // [27:27]
99*5113495bSYour Name                       tpc_glut_self_cal                                       :  1, // [26:26]
100*5113495bSYour Name                       measure_power                                           :  1, // [25:25]
101*5113495bSYour Name                       tx_pwr_unshared                                         :  8, // [24:17]
102*5113495bSYour Name                       tx_pwr_shared                                           :  8, // [16:9]
103*5113495bSYour Name                       dot11ax_trigger_frame_embedded                          :  1, // [8:8]
104*5113495bSYour Name                       dot11ax_su_extended                                     :  1, // [7:7]
105*5113495bSYour Name                       stbc                                                    :  1, // [6:6]
106*5113495bSYour Name                       reserved_1a                                             :  1, // [5:5]
107*5113495bSYour Name                       global_ofdma_mimo_enable                                :  1, // [4:4]
108*5113495bSYour Name                       mcs                                                     :  4; // [3:0]
109*5113495bSYour Name              uint32_t response_expected                                       :  1, // [31:31]
110*5113495bSYour Name                       mu_ndp                                                  :  1, // [30:30]
111*5113495bSYour Name                       clpc_enable                                             :  1, // [29:29]
112*5113495bSYour Name                       reserved_2b                                             :  2, // [28:27]
113*5113495bSYour Name                       stream_offset                                           :  3, // [26:24]
114*5113495bSYour Name                       nss                                                     :  3, // [23:21]
115*5113495bSYour Name                       reserved_2a                                             :  2, // [20:19]
116*5113495bSYour Name                       tlv_source                                              :  1, // [18:18]
117*5113495bSYour Name                       pcu_ppdu_setup_start_reason                             :  3, // [17:15]
118*5113495bSYour Name                       ru_position_start                                       :  8, // [14:7]
119*5113495bSYour Name                       ap_pkt_bw                                               :  3, // [6:4]
120*5113495bSYour Name                       triggered                                               :  1, // [3:3]
121*5113495bSYour Name                       ul_flag                                                 :  1, // [2:2]
122*5113495bSYour Name                       ndp                                                     :  2; // [1:0]
123*5113495bSYour Name              uint32_t u_sig_puncture_pattern_encoding                         :  6, // [31:26]
124*5113495bSYour Name                       reserved_3c                                             :  1, // [25:25]
125*5113495bSYour Name                       ru_size_updated_v2                                      :  4, // [24:21]
126*5113495bSYour Name                       ltf_size                                                :  2, // [20:19]
127*5113495bSYour Name                       generate_phyrx_tx_start_timing                          :  1, // [18:18]
128*5113495bSYour Name                       active_channel                                          :  3, // [17:15]
129*5113495bSYour Name                       he_ppdu_subtype                                         :  2, // [14:13]
130*5113495bSYour Name                       cp_setting                                              :  2, // [12:11]
131*5113495bSYour Name                       ant_sel                                                 :  1, // [10:10]
132*5113495bSYour Name                       ant_sel_valid                                           :  1, // [9:9]
133*5113495bSYour Name                       rx_chain_mask_valid                                     :  1, // [8:8]
134*5113495bSYour Name                       rx_chain_mask                                           :  8; // [7:0]
135*5113495bSYour Name #endif
136*5113495bSYour Name };
137*5113495bSYour Name 
138*5113495bSYour Name 
139*5113495bSYour Name /* Description		RESERVED_0A
140*5113495bSYour Name 
141*5113495bSYour Name 			<legal 0>
142*5113495bSYour Name */
143*5113495bSYour Name 
144*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_0A_OFFSET                                           0x0000000000000000
145*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_0A_LSB                                              0
146*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_0A_MSB                                              15
147*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_0A_MASK                                             0x000000000000ffff
148*5113495bSYour Name 
149*5113495bSYour Name 
150*5113495bSYour Name /* Description		BF_TYPE
151*5113495bSYour Name 
152*5113495bSYour Name 			<enum 0     NO_BF> Transmit a non-beamformed packet. NOTE
153*5113495bSYour Name 			 that MAC might have send MACTX_BF_PARAMS... related TLVs
154*5113495bSYour Name 			 to the PHY for this upcoming transmission, but if this
155*5113495bSYour Name 			field indicates NO_BF, MAC_TX has for some reason decided
156*5113495bSYour Name 			 at the last moment that actual beamform transmission shall
157*5113495bSYour Name 			 not happen anymore...
158*5113495bSYour Name 			<enum 1     LEGACY_BF> Transmit a legacy beamformed packet.
159*5113495bSYour Name 			 This means beamforming starts at the L-STF.  The possible
160*5113495bSYour Name 			 preamble formats are 11a, 11n mixed mode and 11ac.  This
161*5113495bSYour Name 			 is used to support legacy implicit beamforming.
162*5113495bSYour Name 			<enum 2     SU_BF> Transmit a single-user beamformed packet
163*5113495bSYour Name 			 starting at the HT-STF or VHT-STF.
164*5113495bSYour Name 			<enum 3     MU_BF> Transmit a multi-user beamformed packet
165*5113495bSYour Name 			 starting at the VHT-STF. In case of an MU transmission,
166*5113495bSYour Name 			where maybe not all users are being transmitted in a 'beamformed'
167*5113495bSYour Name 			way, but at least one is, this e_num setting will be used
168*5113495bSYour Name 			 as well
169*5113495bSYour Name 			<legal all>
170*5113495bSYour Name */
171*5113495bSYour Name 
172*5113495bSYour Name #define MACTX_PHY_DESC_BF_TYPE_OFFSET                                               0x0000000000000000
173*5113495bSYour Name #define MACTX_PHY_DESC_BF_TYPE_LSB                                                  16
174*5113495bSYour Name #define MACTX_PHY_DESC_BF_TYPE_MSB                                                  17
175*5113495bSYour Name #define MACTX_PHY_DESC_BF_TYPE_MASK                                                 0x0000000000030000
176*5113495bSYour Name 
177*5113495bSYour Name 
178*5113495bSYour Name /* Description		WAIT_SIFS
179*5113495bSYour Name 
180*5113495bSYour Name 			This bit is evaluated by the PHY TX to determine if this
181*5113495bSYour Name 			 transmission start on the air needs to be exactly SIFS
182*5113495bSYour Name 			aligned compared to the end of the previous reception or
183*5113495bSYour Name 			 previous transmission.
184*5113495bSYour Name 
185*5113495bSYour Name 			This feature is typically required for Triggered UL response
186*5113495bSYour Name 			 transmissions, where SIFS accuracy is really required.
187*5113495bSYour Name 			For RTT this is also usefull, but not absolutely needed.
188*5113495bSYour Name 
189*5113495bSYour Name 
190*5113495bSYour Name 
191*5113495bSYour Name 			This field is filled in by TXPCU.
192*5113495bSYour Name 
193*5113495bSYour Name 			<enum 0 NO_SIFS_TIMING> Transmission shall start with the
194*5113495bSYour Name 			 normal delay in PHY after receiving this notification
195*5113495bSYour Name 			<enum 1 SIFS_TIMING_DESIRED> Transmission shall be made
196*5113495bSYour Name 			at the SIFS boundary. If shall never start before SIFS boundary,
197*5113495bSYour Name 			but if it a little later, it is not ideal and should be
198*5113495bSYour Name 			flagged, but transmission shall not be aborted.
199*5113495bSYour Name 			<enum 2 SIFS_TIMING_MANDATED> Transmission shall be made
200*5113495bSYour Name 			 at exactly SIFS boundary. If this notification is received
201*5113495bSYour Name 			 by the PHY after SIFS boundary already passed, the PHY
202*5113495bSYour Name 			shall abort the transmission
203*5113495bSYour Name 			<legal 0-2>
204*5113495bSYour Name */
205*5113495bSYour Name 
206*5113495bSYour Name #define MACTX_PHY_DESC_WAIT_SIFS_OFFSET                                             0x0000000000000000
207*5113495bSYour Name #define MACTX_PHY_DESC_WAIT_SIFS_LSB                                                18
208*5113495bSYour Name #define MACTX_PHY_DESC_WAIT_SIFS_MSB                                                19
209*5113495bSYour Name #define MACTX_PHY_DESC_WAIT_SIFS_MASK                                               0x00000000000c0000
210*5113495bSYour Name 
211*5113495bSYour Name 
212*5113495bSYour Name /* Description		DOT11B_PREAMBLE_TYPE
213*5113495bSYour Name 
214*5113495bSYour Name 			Valid for 802.11b packets only.
215*5113495bSYour Name 			<enum 0     short_preamble>
216*5113495bSYour Name 			<enum 1     long_preamble>
217*5113495bSYour Name 			<legal all>
218*5113495bSYour Name */
219*5113495bSYour Name 
220*5113495bSYour Name #define MACTX_PHY_DESC_DOT11B_PREAMBLE_TYPE_OFFSET                                  0x0000000000000000
221*5113495bSYour Name #define MACTX_PHY_DESC_DOT11B_PREAMBLE_TYPE_LSB                                     20
222*5113495bSYour Name #define MACTX_PHY_DESC_DOT11B_PREAMBLE_TYPE_MSB                                     20
223*5113495bSYour Name #define MACTX_PHY_DESC_DOT11B_PREAMBLE_TYPE_MASK                                    0x0000000000100000
224*5113495bSYour Name 
225*5113495bSYour Name 
226*5113495bSYour Name /* Description		PKT_TYPE
227*5113495bSYour Name 
228*5113495bSYour Name 			Packet type:
229*5113495bSYour Name 
230*5113495bSYour Name 			Note: in case of 11ax, see field he_ppdu_subtype for additional
231*5113495bSYour Name 			 info...
232*5113495bSYour Name 
233*5113495bSYour Name 			<enum 0 dot11a>802.11a PPDU type
234*5113495bSYour Name 			<enum 1 dot11b>802.11b PPDU type
235*5113495bSYour Name 			<enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
236*5113495bSYour Name 			<enum 3 dot11ac>802.11ac PPDU type
237*5113495bSYour Name 			<enum 4 dot11ax>802.11ax PPDU type
238*5113495bSYour Name 			<enum 5 dot11ba>802.11ba (WUR) PPDU type
239*5113495bSYour Name 			<enum 6 dot11be>802.11be PPDU type
240*5113495bSYour Name 			<enum 7 dot11az>802.11az (ranging) PPDU type
241*5113495bSYour Name 			<enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported
242*5113495bSYour Name 			 & aborted)
243*5113495bSYour Name */
244*5113495bSYour Name 
245*5113495bSYour Name #define MACTX_PHY_DESC_PKT_TYPE_OFFSET                                              0x0000000000000000
246*5113495bSYour Name #define MACTX_PHY_DESC_PKT_TYPE_LSB                                                 21
247*5113495bSYour Name #define MACTX_PHY_DESC_PKT_TYPE_MSB                                                 24
248*5113495bSYour Name #define MACTX_PHY_DESC_PKT_TYPE_MASK                                                0x0000000001e00000
249*5113495bSYour Name 
250*5113495bSYour Name 
251*5113495bSYour Name /* Description		SU_OR_MU
252*5113495bSYour Name 
253*5113495bSYour Name 			Type of transmission:
254*5113495bSYour Name 
255*5113495bSYour Name 			For 11ax:
256*5113495bSYour Name 			<enum 0 SU_transmission>
257*5113495bSYour Name 			11ax:
258*5113495bSYour Name 			This setting is used for the following preamble type of
259*5113495bSYour Name 			transmissions:
260*5113495bSYour Name 			11ax HE_SU PPDU
261*5113495bSYour Name 			11ax HE_EXT_SU PPDU
262*5113495bSYour Name 			11ax HE_TRIG PPDU
263*5113495bSYour Name 			Note that the above implies all single user transmissions
264*5113495bSYour Name 
265*5113495bSYour Name 
266*5113495bSYour Name 			11ac and other pkt_types:
267*5113495bSYour Name 			Single user transmission
268*5113495bSYour Name 
269*5113495bSYour Name 			<enum 1 MU_transmission>
270*5113495bSYour Name 			11ax:
271*5113495bSYour Name 			This setting is used for the following preamble type of
272*5113495bSYour Name 			transmissions:
273*5113495bSYour Name 			11ax HE_MU
274*5113495bSYour Name 			Note that this type of transmission implies multiple users
275*5113495bSYour Name 
276*5113495bSYour Name 
277*5113495bSYour Name 			For 11ac:
278*5113495bSYour Name 			Multi-user transmission
279*5113495bSYour Name 
280*5113495bSYour Name 			<enum 2 MU_SU_transmission>
281*5113495bSYour Name 			11ax:
282*5113495bSYour Name 			This setting is used for the following preamble type of
283*5113495bSYour Name 			transmissions:
284*5113495bSYour Name 			11ax HE_MU
285*5113495bSYour Name 			Note that this type of transmission implies a SINGLE user,
286*5113495bSYour Name 			but using HE_MU preamble type...
287*5113495bSYour Name 
288*5113495bSYour Name 			11ac and other pkt_types:
289*5113495bSYour Name 			Reserved
290*5113495bSYour Name 
291*5113495bSYour Name 			<legal 0-2>
292*5113495bSYour Name */
293*5113495bSYour Name 
294*5113495bSYour Name #define MACTX_PHY_DESC_SU_OR_MU_OFFSET                                              0x0000000000000000
295*5113495bSYour Name #define MACTX_PHY_DESC_SU_OR_MU_LSB                                                 25
296*5113495bSYour Name #define MACTX_PHY_DESC_SU_OR_MU_MSB                                                 26
297*5113495bSYour Name #define MACTX_PHY_DESC_SU_OR_MU_MASK                                                0x0000000006000000
298*5113495bSYour Name 
299*5113495bSYour Name 
300*5113495bSYour Name /* Description		MU_TYPE
301*5113495bSYour Name 
302*5113495bSYour Name 			Field only valid when
303*5113495bSYour Name 			SU_or_MU == MU_transmission or
304*5113495bSYour Name 			SU_or_MU == MU_SU_transmission
305*5113495bSYour Name 			<enum 0 MU_MIMO_Transmission>
306*5113495bSYour Name 			<enum 1 MU_OFDMA_Transmission> Note that within the RUs,
307*5113495bSYour Name 			there might still be MU-MIMO...
308*5113495bSYour Name 			<legal all>
309*5113495bSYour Name */
310*5113495bSYour Name 
311*5113495bSYour Name #define MACTX_PHY_DESC_MU_TYPE_OFFSET                                               0x0000000000000000
312*5113495bSYour Name #define MACTX_PHY_DESC_MU_TYPE_LSB                                                  27
313*5113495bSYour Name #define MACTX_PHY_DESC_MU_TYPE_MSB                                                  27
314*5113495bSYour Name #define MACTX_PHY_DESC_MU_TYPE_MASK                                                 0x0000000008000000
315*5113495bSYour Name 
316*5113495bSYour Name 
317*5113495bSYour Name /* Description		BANDWIDTH
318*5113495bSYour Name 
319*5113495bSYour Name 			Packet bandwidth:
320*5113495bSYour Name 
321*5113495bSYour Name 			The physical bandwidth that this device will be transmitting
322*5113495bSYour Name 			 in.
323*5113495bSYour Name 
324*5113495bSYour Name 			Note that for 11ax Trigger response transmissions (when
325*5113495bSYour Name 			Field triggered == is_triggered), this bandwith is min(AP_pkt_bw,
326*5113495bSYour Name 			STA_ch_bw)
327*5113495bSYour Name 
328*5113495bSYour Name 			<enum 0 20_mhz>20 Mhz BW
329*5113495bSYour Name 			<enum 1 40_mhz>40 Mhz BW
330*5113495bSYour Name 			<enum 2 80_mhz>80 Mhz BW
331*5113495bSYour Name 			<enum 3 160_mhz>160 Mhz BW
332*5113495bSYour Name 			<enum 4 320_mhz>320 Mhz BW
333*5113495bSYour Name 			<enum 5 240_mhz>240 Mhz BW
334*5113495bSYour Name */
335*5113495bSYour Name 
336*5113495bSYour Name #define MACTX_PHY_DESC_BANDWIDTH_OFFSET                                             0x0000000000000000
337*5113495bSYour Name #define MACTX_PHY_DESC_BANDWIDTH_LSB                                                28
338*5113495bSYour Name #define MACTX_PHY_DESC_BANDWIDTH_MSB                                                30
339*5113495bSYour Name #define MACTX_PHY_DESC_BANDWIDTH_MASK                                               0x0000000070000000
340*5113495bSYour Name 
341*5113495bSYour Name 
342*5113495bSYour Name /* Description		CHANNEL_CAPTURE
343*5113495bSYour Name 
344*5113495bSYour Name 			Indicates that the PHY should be armed to capture the channel
345*5113495bSYour Name 			 on the next received packet. This channel estimate is passed
346*5113495bSYour Name 			 to the MAC if the packet is successfully received.
347*5113495bSYour Name 			<legal 0-1>
348*5113495bSYour Name 			This field is not applicable for 11ah  since implicit beamforming
349*5113495bSYour Name 			 is not supported
350*5113495bSYour Name */
351*5113495bSYour Name 
352*5113495bSYour Name #define MACTX_PHY_DESC_CHANNEL_CAPTURE_OFFSET                                       0x0000000000000000
353*5113495bSYour Name #define MACTX_PHY_DESC_CHANNEL_CAPTURE_LSB                                          31
354*5113495bSYour Name #define MACTX_PHY_DESC_CHANNEL_CAPTURE_MSB                                          31
355*5113495bSYour Name #define MACTX_PHY_DESC_CHANNEL_CAPTURE_MASK                                         0x0000000080000000
356*5113495bSYour Name 
357*5113495bSYour Name 
358*5113495bSYour Name /* Description		MCS
359*5113495bSYour Name 
360*5113495bSYour Name 			In case of  SU_or_MU == SU_transmission
361*5113495bSYour Name 
362*5113495bSYour Name 			Note that this includes trigger response transmission
363*5113495bSYour Name 
364*5113495bSYour Name 			The MCS to be used for the upcoming transmission. It must
365*5113495bSYour Name 			 match the 4-bit MCS value that is sent in the appropriate
366*5113495bSYour Name 			 signal field for the given packet type, except that EHT
367*5113495bSYour Name 			 BPSK with DCM and/or duplicate is encoded as '0.'
368*5113495bSYour Name 
369*5113495bSYour Name 			In case of .11ba (WUR), this field is filled according to
370*5113495bSYour Name 			 what is on the MAC side defined as "MCS_TYPE".
371*5113495bSYour Name 
372*5113495bSYour Name 			In case of  SU_or_MU == MU_transmission
373*5113495bSYour Name 			.11ac: highest MCS of all users
374*5113495bSYour Name 			.11ax or .11be: highest 4-bit MCS field in all the HE_SIG_B
375*5113495bSYour Name 			 or EHT_SIG TLVs that MAC S/W informs to MAC H/W. Actual
376*5113495bSYour Name 			 highest 4-bit MCS to be sent to PHY might be lower after
377*5113495bSYour Name 			 MAC H/W computation.
378*5113495bSYour Name 
379*5113495bSYour Name 			For details, refer to  the SIG field, related to this pkt_type.
380*5113495bSYour Name 
381*5113495bSYour Name 			(Note that this is slightly different then what is on the
382*5113495bSYour Name 			 MAC side defined as "MCS_TYPE". For this reason, the 'legal
383*5113495bSYour Name 			 values' here are NOT defined as MCS_TYPE)
384*5113495bSYour Name 			<legal all>
385*5113495bSYour Name */
386*5113495bSYour Name 
387*5113495bSYour Name #define MACTX_PHY_DESC_MCS_OFFSET                                                   0x0000000000000000
388*5113495bSYour Name #define MACTX_PHY_DESC_MCS_LSB                                                      32
389*5113495bSYour Name #define MACTX_PHY_DESC_MCS_MSB                                                      35
390*5113495bSYour Name #define MACTX_PHY_DESC_MCS_MASK                                                     0x0000000f00000000
391*5113495bSYour Name 
392*5113495bSYour Name 
393*5113495bSYour Name /* Description		GLOBAL_OFDMA_MIMO_ENABLE
394*5113495bSYour Name 
395*5113495bSYour Name 			When set, this transmission contains at least 1 user for
396*5113495bSYour Name 			 which MU-MIMO is enabled in its RU.
397*5113495bSYour Name 			After per-BW/puncture pattern user disabling, in case of
398*5113495bSYour Name 			 pure OFDMA, PDG will clear this bit, but full BW MU-MIMO
399*5113495bSYour Name 			 is still possible with this bit set.
400*5113495bSYour Name 			<legal all>
401*5113495bSYour Name */
402*5113495bSYour Name 
403*5113495bSYour Name #define MACTX_PHY_DESC_GLOBAL_OFDMA_MIMO_ENABLE_OFFSET                              0x0000000000000000
404*5113495bSYour Name #define MACTX_PHY_DESC_GLOBAL_OFDMA_MIMO_ENABLE_LSB                                 36
405*5113495bSYour Name #define MACTX_PHY_DESC_GLOBAL_OFDMA_MIMO_ENABLE_MSB                                 36
406*5113495bSYour Name #define MACTX_PHY_DESC_GLOBAL_OFDMA_MIMO_ENABLE_MASK                                0x0000001000000000
407*5113495bSYour Name 
408*5113495bSYour Name 
409*5113495bSYour Name /* Description		RESERVED_1A
410*5113495bSYour Name 
411*5113495bSYour Name */
412*5113495bSYour Name 
413*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_1A_OFFSET                                           0x0000000000000000
414*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_1A_LSB                                              37
415*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_1A_MSB                                              37
416*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_1A_MASK                                             0x0000002000000000
417*5113495bSYour Name 
418*5113495bSYour Name 
419*5113495bSYour Name /* Description		STBC
420*5113495bSYour Name 
421*5113495bSYour Name 			When set, this transmission is based on stbc rates.
422*5113495bSYour Name */
423*5113495bSYour Name 
424*5113495bSYour Name #define MACTX_PHY_DESC_STBC_OFFSET                                                  0x0000000000000000
425*5113495bSYour Name #define MACTX_PHY_DESC_STBC_LSB                                                     38
426*5113495bSYour Name #define MACTX_PHY_DESC_STBC_MSB                                                     38
427*5113495bSYour Name #define MACTX_PHY_DESC_STBC_MASK                                                    0x0000004000000000
428*5113495bSYour Name 
429*5113495bSYour Name 
430*5113495bSYour Name /* Description		DOT11AX_SU_EXTENDED
431*5113495bSYour Name 
432*5113495bSYour Name 			This field is only valid for pkt_type == 11ax OR pkt_type
433*5113495bSYour Name 			 == 11be
434*5113495bSYour Name 
435*5113495bSYour Name 			When set, the 11ax or 11be transmission is extended range
436*5113495bSYour Name 			 SU
437*5113495bSYour Name */
438*5113495bSYour Name 
439*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_SU_EXTENDED_OFFSET                                   0x0000000000000000
440*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_SU_EXTENDED_LSB                                      39
441*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_SU_EXTENDED_MSB                                      39
442*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_SU_EXTENDED_MASK                                     0x0000008000000000
443*5113495bSYour Name 
444*5113495bSYour Name 
445*5113495bSYour Name /* Description		DOT11AX_TRIGGER_FRAME_EMBEDDED
446*5113495bSYour Name 
447*5113495bSYour Name 			When set, there is an 11ax trigger frame OR 11be trigger
448*5113495bSYour Name 			 frame embedded in this transmission. PHY shall latch the
449*5113495bSYour Name 			 transmit BW of this transmission and use it to select the
450*5113495bSYour Name 			 'MACTX_UPLINK_COMMON/USER...' TLVs parameters belonging
451*5113495bSYour Name 			 to this BW. Note that these 'MACTX_UPLINK_COMMON/USER...'
452*5113495bSYour Name 			might already have been received by the PHY, or will come
453*5113495bSYour Name 			 in later.
454*5113495bSYour Name 			<legal all>
455*5113495bSYour Name */
456*5113495bSYour Name 
457*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_TRIGGER_FRAME_EMBEDDED_OFFSET                        0x0000000000000000
458*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_TRIGGER_FRAME_EMBEDDED_LSB                           40
459*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_TRIGGER_FRAME_EMBEDDED_MSB                           40
460*5113495bSYour Name #define MACTX_PHY_DESC_DOT11AX_TRIGGER_FRAME_EMBEDDED_MASK                          0x0000010000000000
461*5113495bSYour Name 
462*5113495bSYour Name 
463*5113495bSYour Name /* Description		TX_PWR_SHARED
464*5113495bSYour Name 
465*5113495bSYour Name 			Transmit Power (signed value) in units of 0.25 dBm
466*5113495bSYour Name 			<legal all>
467*5113495bSYour Name */
468*5113495bSYour Name 
469*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_SHARED_OFFSET                                         0x0000000000000000
470*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_SHARED_LSB                                            41
471*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_SHARED_MSB                                            48
472*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_SHARED_MASK                                           0x0001fe0000000000
473*5113495bSYour Name 
474*5113495bSYour Name 
475*5113495bSYour Name /* Description		TX_PWR_UNSHARED
476*5113495bSYour Name 
477*5113495bSYour Name 			Transmit Power (signed value) in units of 0.25 dBm <legal
478*5113495bSYour Name 			 all>
479*5113495bSYour Name */
480*5113495bSYour Name 
481*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_UNSHARED_OFFSET                                       0x0000000000000000
482*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_UNSHARED_LSB                                          49
483*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_UNSHARED_MSB                                          56
484*5113495bSYour Name #define MACTX_PHY_DESC_TX_PWR_UNSHARED_MASK                                         0x01fe000000000000
485*5113495bSYour Name 
486*5113495bSYour Name 
487*5113495bSYour Name /* Description		MEASURE_POWER
488*5113495bSYour Name 
489*5113495bSYour Name 			This field enables the TPC to use power measurement for
490*5113495bSYour Name 			current packet in CLPC updates.
491*5113495bSYour Name 			<enum 0     measure_dis> TPC will not latch power measurement
492*5113495bSYour Name 			 result for current packet
493*5113495bSYour Name 			<enum 1     measure_en> TPC will latch power measurement
494*5113495bSYour Name 			 result for current packet
495*5113495bSYour Name 			 <legal all>
496*5113495bSYour Name */
497*5113495bSYour Name 
498*5113495bSYour Name #define MACTX_PHY_DESC_MEASURE_POWER_OFFSET                                         0x0000000000000000
499*5113495bSYour Name #define MACTX_PHY_DESC_MEASURE_POWER_LSB                                            57
500*5113495bSYour Name #define MACTX_PHY_DESC_MEASURE_POWER_MSB                                            57
501*5113495bSYour Name #define MACTX_PHY_DESC_MEASURE_POWER_MASK                                           0x0200000000000000
502*5113495bSYour Name 
503*5113495bSYour Name 
504*5113495bSYour Name /* Description		TPC_GLUT_SELF_CAL
505*5113495bSYour Name 
506*5113495bSYour Name 			Setting related to transmit power control calibration.
507*5113495bSYour Name 			<legal all>
508*5113495bSYour Name */
509*5113495bSYour Name 
510*5113495bSYour Name #define MACTX_PHY_DESC_TPC_GLUT_SELF_CAL_OFFSET                                     0x0000000000000000
511*5113495bSYour Name #define MACTX_PHY_DESC_TPC_GLUT_SELF_CAL_LSB                                        58
512*5113495bSYour Name #define MACTX_PHY_DESC_TPC_GLUT_SELF_CAL_MSB                                        58
513*5113495bSYour Name #define MACTX_PHY_DESC_TPC_GLUT_SELF_CAL_MASK                                       0x0400000000000000
514*5113495bSYour Name 
515*5113495bSYour Name 
516*5113495bSYour Name /* Description		BACK_TO_BACK_TRANSMISSION_EXPECTED
517*5113495bSYour Name 
518*5113495bSYour Name 			When set, the next transmission is expected to follow this
519*5113495bSYour Name 			 one in SIFS time (without any response reception in between).
520*5113495bSYour Name 
521*5113495bSYour Name 
522*5113495bSYour Name 			For example used when transmitting beacons followed by the
523*5113495bSYour Name 			 broadcast or multicast frames
524*5113495bSYour Name 			<legal all>
525*5113495bSYour Name */
526*5113495bSYour Name 
527*5113495bSYour Name #define MACTX_PHY_DESC_BACK_TO_BACK_TRANSMISSION_EXPECTED_OFFSET                    0x0000000000000000
528*5113495bSYour Name #define MACTX_PHY_DESC_BACK_TO_BACK_TRANSMISSION_EXPECTED_LSB                       59
529*5113495bSYour Name #define MACTX_PHY_DESC_BACK_TO_BACK_TRANSMISSION_EXPECTED_MSB                       59
530*5113495bSYour Name #define MACTX_PHY_DESC_BACK_TO_BACK_TRANSMISSION_EXPECTED_MASK                      0x0800000000000000
531*5113495bSYour Name 
532*5113495bSYour Name 
533*5113495bSYour Name /* Description		HEAVY_CLIP_NSS
534*5113495bSYour Name 
535*5113495bSYour Name 			Number of active spatial streams in current packet. This
536*5113495bSYour Name 			 parameter is used by the heavy clip function in the transmitter.
537*5113495bSYour Name 			In case of MU PPDU, this is total Nss of all users.
538*5113495bSYour Name 
539*5113495bSYour Name 			<enum 0 1_spatial_stream>Single spatial stream
540*5113495bSYour Name 			<enum 1 2_spatial_streams>2 spatial streams
541*5113495bSYour Name 			<enum 2 3_spatial_streams>3 spatial streams
542*5113495bSYour Name 			<enum 3 4_spatial_streams>4 spatial streams
543*5113495bSYour Name 			<enum 4 5_spatial_streams>5 spatial streams
544*5113495bSYour Name 			<enum 5 6_spatial_streams>6 spatial streams
545*5113495bSYour Name 			<enum 6 7_spatial_streams>7 spatial streams
546*5113495bSYour Name 			<enum 7 8_spatial_streams>8 spatial streams
547*5113495bSYour Name */
548*5113495bSYour Name 
549*5113495bSYour Name #define MACTX_PHY_DESC_HEAVY_CLIP_NSS_OFFSET                                        0x0000000000000000
550*5113495bSYour Name #define MACTX_PHY_DESC_HEAVY_CLIP_NSS_LSB                                           60
551*5113495bSYour Name #define MACTX_PHY_DESC_HEAVY_CLIP_NSS_MSB                                           62
552*5113495bSYour Name #define MACTX_PHY_DESC_HEAVY_CLIP_NSS_MASK                                          0x7000000000000000
553*5113495bSYour Name 
554*5113495bSYour Name 
555*5113495bSYour Name /* Description		TXBF_PER_PACKET_NO_CSD_NO_WALSH
556*5113495bSYour Name 
557*5113495bSYour Name 			This is a global switch that is applied to beamformed packets
558*5113495bSYour Name 
559*5113495bSYour Name 
560*5113495bSYour Name 			If set, no_csd and no_walsh is applied to steering packet.
561*5113495bSYour Name 
562*5113495bSYour Name */
563*5113495bSYour Name 
564*5113495bSYour Name #define MACTX_PHY_DESC_TXBF_PER_PACKET_NO_CSD_NO_WALSH_OFFSET                       0x0000000000000000
565*5113495bSYour Name #define MACTX_PHY_DESC_TXBF_PER_PACKET_NO_CSD_NO_WALSH_LSB                          63
566*5113495bSYour Name #define MACTX_PHY_DESC_TXBF_PER_PACKET_NO_CSD_NO_WALSH_MSB                          63
567*5113495bSYour Name #define MACTX_PHY_DESC_TXBF_PER_PACKET_NO_CSD_NO_WALSH_MASK                         0x8000000000000000
568*5113495bSYour Name 
569*5113495bSYour Name 
570*5113495bSYour Name /* Description		NDP
571*5113495bSYour Name 
572*5113495bSYour Name 			When not "0", upcoming transmission is one of the indicated
573*5113495bSYour Name 			 NDP types.
574*5113495bSYour Name 
575*5113495bSYour Name 			<enum 0 no_ndp>No NDP transmission
576*5113495bSYour Name 			<enum 1 beamforming_ndp>Beamforming NDP
577*5113495bSYour Name 			<enum 2 he_ranging_ndp>11az NDP (HE Ranging NDP)
578*5113495bSYour Name 			<enum 3 he_feedback_ndp>Short TB (HE Feedback NDP)
579*5113495bSYour Name */
580*5113495bSYour Name 
581*5113495bSYour Name #define MACTX_PHY_DESC_NDP_OFFSET                                                   0x0000000000000008
582*5113495bSYour Name #define MACTX_PHY_DESC_NDP_LSB                                                      0
583*5113495bSYour Name #define MACTX_PHY_DESC_NDP_MSB                                                      1
584*5113495bSYour Name #define MACTX_PHY_DESC_NDP_MASK                                                     0x0000000000000003
585*5113495bSYour Name 
586*5113495bSYour Name 
587*5113495bSYour Name /* Description		UL_FLAG
588*5113495bSYour Name 
589*5113495bSYour Name 			This field is only valid for pkt_type == 11ax OR pkt_type
590*5113495bSYour Name 			 == 11be
591*5113495bSYour Name 
592*5113495bSYour Name 
593*5113495bSYour Name 			Used for HE_SIGB
594*5113495bSYour Name 			<enum 1     uplink>
595*5113495bSYour Name 			<enum 0     downlink>
596*5113495bSYour Name 			<legal all>
597*5113495bSYour Name */
598*5113495bSYour Name 
599*5113495bSYour Name #define MACTX_PHY_DESC_UL_FLAG_OFFSET                                               0x0000000000000008
600*5113495bSYour Name #define MACTX_PHY_DESC_UL_FLAG_LSB                                                  2
601*5113495bSYour Name #define MACTX_PHY_DESC_UL_FLAG_MSB                                                  2
602*5113495bSYour Name #define MACTX_PHY_DESC_UL_FLAG_MASK                                                 0x0000000000000004
603*5113495bSYour Name 
604*5113495bSYour Name 
605*5113495bSYour Name /* Description		TRIGGERED
606*5113495bSYour Name 
607*5113495bSYour Name 			This field is only valid for pkt_type == 11ax OR pkt_type
608*5113495bSYour Name 			 == 11be
609*5113495bSYour Name 
610*5113495bSYour Name 
611*5113495bSYour Name 			Denotes whether it's a triggered uplink transmission
612*5113495bSYour Name 
613*5113495bSYour Name 			Must be set for HE-TB NDPs used in Secure Ranging NDPs (11az)
614*5113495bSYour Name 			and Short-NDP (HE TB Feedback NDP).
615*5113495bSYour Name 
616*5113495bSYour Name 			<enum 0     non_trigerred>
617*5113495bSYour Name 			<enum 1     is_triggered>
618*5113495bSYour Name 			<legal all>
619*5113495bSYour Name */
620*5113495bSYour Name 
621*5113495bSYour Name #define MACTX_PHY_DESC_TRIGGERED_OFFSET                                             0x0000000000000008
622*5113495bSYour Name #define MACTX_PHY_DESC_TRIGGERED_LSB                                                3
623*5113495bSYour Name #define MACTX_PHY_DESC_TRIGGERED_MSB                                                3
624*5113495bSYour Name #define MACTX_PHY_DESC_TRIGGERED_MASK                                               0x0000000000000008
625*5113495bSYour Name 
626*5113495bSYour Name 
627*5113495bSYour Name /* Description		AP_PKT_BW
628*5113495bSYour Name 
629*5113495bSYour Name 			Field only valid when triggered == is_triggered
630*5113495bSYour Name 
631*5113495bSYour Name 			This indicates the total bandwidth of the UL_TRIG packet
632*5113495bSYour Name 			 as indicated in the Trigger Frame.
633*5113495bSYour Name 
634*5113495bSYour Name 			<enum 0 20_mhz>20 Mhz BW
635*5113495bSYour Name 			<enum 1 40_mhz>40 Mhz BW
636*5113495bSYour Name 			<enum 2 80_mhz>80 Mhz BW
637*5113495bSYour Name 			<enum 3 160_mhz>160 Mhz BW
638*5113495bSYour Name 			<enum 4 320_mhz>320 Mhz BW
639*5113495bSYour Name 			<enum 5 240_mhz>240 Mhz BW
640*5113495bSYour Name */
641*5113495bSYour Name 
642*5113495bSYour Name #define MACTX_PHY_DESC_AP_PKT_BW_OFFSET                                             0x0000000000000008
643*5113495bSYour Name #define MACTX_PHY_DESC_AP_PKT_BW_LSB                                                4
644*5113495bSYour Name #define MACTX_PHY_DESC_AP_PKT_BW_MSB                                                6
645*5113495bSYour Name #define MACTX_PHY_DESC_AP_PKT_BW_MASK                                               0x0000000000000070
646*5113495bSYour Name 
647*5113495bSYour Name 
648*5113495bSYour Name /* Description		RU_POSITION_START
649*5113495bSYour Name 
650*5113495bSYour Name 			Field only valid when triggered == is_triggered
651*5113495bSYour Name 
652*5113495bSYour Name 
653*5113495bSYour Name 			This field indicates the start basic (26 tone) RU number
654*5113495bSYour Name 			 assigned to this user
655*5113495bSYour Name 
656*5113495bSYour Name 			RU Numbering is based only on the order in which the RUs
657*5113495bSYour Name 			 are allocated over the available BW, starting from 0 and
658*5113495bSYour Name 			 in increasing frequency order and not primary-secondary
659*5113495bSYour Name 			 order.
660*5113495bSYour Name 
661*5113495bSYour Name 			The RU number within 80 MHz is available from the RU allocation
662*5113495bSYour Name 			 information in the trigger. For 160 MHz transmissions,
663*5113495bSYour Name 			the trigger RU allocation only mentions primary/secondary
664*5113495bSYour Name 			 80 MHz. PDG needs to convert this to lower/higher 80 MHz.
665*5113495bSYour Name 
666*5113495bSYour Name 
667*5113495bSYour Name 			If in 'PCU_PPDU_SETUP_START'/'MACTX_PRE_PHY_DESC,' CCA_Subband_channel_bonding_mask
668*5113495bSYour Name 			 bit 0 is mapped to any of bits 4 - 7 of Freq_Subband_channel_bonding_mask,
669*5113495bSYour Name 			then the primary 80 MHz is the higher 80 MHz and the secondary
670*5113495bSYour Name 			 80 MHz is the lower one.
671*5113495bSYour Name 			Otherwise (if CCA_Subband_channel_bonding_mask bit 0 is
672*5113495bSYour Name 			mapped to any of bits 0 - 3 of Freq_Subband_channel_bonding_mask,
673*5113495bSYour Name 			then the primary 80 MHz is the lower 80 MHz and the secondary
674*5113495bSYour Name 			 80 MHz is the higher one.
675*5113495bSYour Name 
676*5113495bSYour Name 			Note: this type of encoding decouples the formatting of
677*5113495bSYour Name 			the trigger from from how info between MAC-PHY is exchanged
678*5113495bSYour Name 
679*5113495bSYour Name 			<legal 0- 147>
680*5113495bSYour Name */
681*5113495bSYour Name 
682*5113495bSYour Name #define MACTX_PHY_DESC_RU_POSITION_START_OFFSET                                     0x0000000000000008
683*5113495bSYour Name #define MACTX_PHY_DESC_RU_POSITION_START_LSB                                        7
684*5113495bSYour Name #define MACTX_PHY_DESC_RU_POSITION_START_MSB                                        14
685*5113495bSYour Name #define MACTX_PHY_DESC_RU_POSITION_START_MASK                                       0x0000000000007f80
686*5113495bSYour Name 
687*5113495bSYour Name 
688*5113495bSYour Name /* Description		PCU_PPDU_SETUP_START_REASON
689*5113495bSYour Name 
690*5113495bSYour Name 			PDG shall fill this with the value it fills in the setup_start_reason
691*5113495bSYour Name 			 in 'PCU_PPDU_SETUP_START.' It indicates what triggered
692*5113495bSYour Name 			the PDG to start Tx setup.
693*5113495bSYour Name 			Used for debugging purposes.
694*5113495bSYour Name 
695*5113495bSYour Name 			<enum 0     fes_protection_frame>  RTS or CTS-to-self transmission
696*5113495bSYour Name 			 preceding the regular PPDU portion of the coming FES. The
697*5113495bSYour Name 			 transmit is initiated by PDG_TX_REQ TLV from TXPCU
698*5113495bSYour Name 			<enum 1     fes_after_protection >  Regular PPDU transmission
699*5113495bSYour Name 			 that follows the transmission of medium protection: Either
700*5113495bSYour Name 			 RTS - CTS exchanges or CTS to self. The transmit is initiated
701*5113495bSYour Name 			 by PDG_TX_REQ TLV from TXPCU
702*5113495bSYour Name 			<enum 2     fes_only>  Regular PPDU transmission without
703*5113495bSYour Name 			 preceding medium protection frame exchanges. The transmit
704*5113495bSYour Name 			 is initiated by PDG_TX_REQ TLV from TXPCU
705*5113495bSYour Name 			<enum 3     response_frame>  response frame transmission.
706*5113495bSYour Name 			The transmit is initiated by PDG_RESPONSE TLV from TXPCU
707*5113495bSYour Name 
708*5113495bSYour Name 			<enum 4     trig_response_frame>  11ax triggered response
709*5113495bSYour Name 			 frame transmission. The transmit is initiated by PDG_TRIG_RESPONSE
710*5113495bSYour Name 			 TLV from TXPCU
711*5113495bSYour Name 			<enum 5     dynamic_protection_fes_only> Regular PPDU transmission
712*5113495bSYour Name 			 without preceding medium protection frame exchanges, because
713*5113495bSYour Name 			 the dynamic medium protection constraints were not satisfied.
714*5113495bSYour Name 			The transmit is initiated by PDG_TX_REQ TLV from TXPCU.
715*5113495bSYour Name 
716*5113495bSYour Name 			<legal 0-5>
717*5113495bSYour Name */
718*5113495bSYour Name 
719*5113495bSYour Name #define MACTX_PHY_DESC_PCU_PPDU_SETUP_START_REASON_OFFSET                           0x0000000000000008
720*5113495bSYour Name #define MACTX_PHY_DESC_PCU_PPDU_SETUP_START_REASON_LSB                              15
721*5113495bSYour Name #define MACTX_PHY_DESC_PCU_PPDU_SETUP_START_REASON_MSB                              17
722*5113495bSYour Name #define MACTX_PHY_DESC_PCU_PPDU_SETUP_START_REASON_MASK                             0x0000000000038000
723*5113495bSYour Name 
724*5113495bSYour Name 
725*5113495bSYour Name /* Description		TLV_SOURCE
726*5113495bSYour Name 
727*5113495bSYour Name 			<enum 1 phy_desc_from_pdg> This MACTX_PHY_DESC TLV is generated
728*5113495bSYour Name 			 by PDG.
729*5113495bSYour Name 			<enum 0 phy_desc_from_fw> PDG is in bypass mode and this
730*5113495bSYour Name 			 MACTX_PHY_DESC TLV is queued by firmware.
731*5113495bSYour Name 			<legal all>
732*5113495bSYour Name */
733*5113495bSYour Name 
734*5113495bSYour Name #define MACTX_PHY_DESC_TLV_SOURCE_OFFSET                                            0x0000000000000008
735*5113495bSYour Name #define MACTX_PHY_DESC_TLV_SOURCE_LSB                                               18
736*5113495bSYour Name #define MACTX_PHY_DESC_TLV_SOURCE_MSB                                               18
737*5113495bSYour Name #define MACTX_PHY_DESC_TLV_SOURCE_MASK                                              0x0000000000040000
738*5113495bSYour Name 
739*5113495bSYour Name 
740*5113495bSYour Name /* Description		RESERVED_2A
741*5113495bSYour Name 
742*5113495bSYour Name 			<legal 0>
743*5113495bSYour Name */
744*5113495bSYour Name 
745*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2A_OFFSET                                           0x0000000000000008
746*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2A_LSB                                              19
747*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2A_MSB                                              20
748*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2A_MASK                                             0x0000000000180000
749*5113495bSYour Name 
750*5113495bSYour Name 
751*5113495bSYour Name /* Description		NSS
752*5113495bSYour Name 
753*5113495bSYour Name 			Field only valid when triggered == is_triggered
754*5113495bSYour Name 
755*5113495bSYour Name 			Number of Spatial Streams occupied by the User
756*5113495bSYour Name 
757*5113495bSYour Name 			<enum 0 1_spatial_stream>Single spatial stream
758*5113495bSYour Name 			<enum 1 2_spatial_streams>2 spatial streams
759*5113495bSYour Name 			<enum 2 3_spatial_streams>3 spatial streams
760*5113495bSYour Name 			<enum 3 4_spatial_streams>4 spatial streams
761*5113495bSYour Name 			<enum 4 5_spatial_streams>5 spatial streams
762*5113495bSYour Name 			<enum 5 6_spatial_streams>6 spatial streams
763*5113495bSYour Name 			<enum 6 7_spatial_streams>7 spatial streams
764*5113495bSYour Name 			<enum 7 8_spatial_streams>8 spatial streams
765*5113495bSYour Name */
766*5113495bSYour Name 
767*5113495bSYour Name #define MACTX_PHY_DESC_NSS_OFFSET                                                   0x0000000000000008
768*5113495bSYour Name #define MACTX_PHY_DESC_NSS_LSB                                                      21
769*5113495bSYour Name #define MACTX_PHY_DESC_NSS_MSB                                                      23
770*5113495bSYour Name #define MACTX_PHY_DESC_NSS_MASK                                                     0x0000000000e00000
771*5113495bSYour Name 
772*5113495bSYour Name 
773*5113495bSYour Name /* Description		STREAM_OFFSET
774*5113495bSYour Name 
775*5113495bSYour Name 			Field only valid when triggered == is_triggered
776*5113495bSYour Name 
777*5113495bSYour Name 			Specify Stream-offset of the user for HE_TB Ranging NDP
778*5113495bSYour Name 			or Short-NDP
779*5113495bSYour Name 
780*5113495bSYour Name 			Stream Offset from which the User occupies the Streams
781*5113495bSYour Name */
782*5113495bSYour Name 
783*5113495bSYour Name #define MACTX_PHY_DESC_STREAM_OFFSET_OFFSET                                         0x0000000000000008
784*5113495bSYour Name #define MACTX_PHY_DESC_STREAM_OFFSET_LSB                                            24
785*5113495bSYour Name #define MACTX_PHY_DESC_STREAM_OFFSET_MSB                                            26
786*5113495bSYour Name #define MACTX_PHY_DESC_STREAM_OFFSET_MASK                                           0x0000000007000000
787*5113495bSYour Name 
788*5113495bSYour Name 
789*5113495bSYour Name /* Description		RESERVED_2B
790*5113495bSYour Name 
791*5113495bSYour Name 			<legal 0>
792*5113495bSYour Name */
793*5113495bSYour Name 
794*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2B_OFFSET                                           0x0000000000000008
795*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2B_LSB                                              27
796*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2B_MSB                                              28
797*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_2B_MASK                                             0x0000000018000000
798*5113495bSYour Name 
799*5113495bSYour Name 
800*5113495bSYour Name /* Description		CLPC_ENABLE
801*5113495bSYour Name 
802*5113495bSYour Name 			This field enables closed-loop TPC operation by enabling
803*5113495bSYour Name 			 CLPC adjustment of DAC gain for the next packet.
804*5113495bSYour Name 			<enum 0     clpc_off> TPC error update disabled
805*5113495bSYour Name 			<enum 1     clpc_on> TPC error will be applied to DAC gain
806*5113495bSYour Name 			 setting for the next packet
807*5113495bSYour Name 			<legal 0-1>
808*5113495bSYour Name */
809*5113495bSYour Name 
810*5113495bSYour Name #define MACTX_PHY_DESC_CLPC_ENABLE_OFFSET                                           0x0000000000000008
811*5113495bSYour Name #define MACTX_PHY_DESC_CLPC_ENABLE_LSB                                              29
812*5113495bSYour Name #define MACTX_PHY_DESC_CLPC_ENABLE_MSB                                              29
813*5113495bSYour Name #define MACTX_PHY_DESC_CLPC_ENABLE_MASK                                             0x0000000020000000
814*5113495bSYour Name 
815*5113495bSYour Name 
816*5113495bSYour Name /* Description		MU_NDP
817*5113495bSYour Name 
818*5113495bSYour Name 			If set indicates that this packet is an NDP used for MU
819*5113495bSYour Name 			channel estimation.  This bit will be used by the TPC to
820*5113495bSYour Name 			 signal that the analog gain settings can be updated. The
821*5113495bSYour Name 			 analog gain settings will not change for subsequent MU
822*5113495bSYour Name 			data packets.
823*5113495bSYour Name */
824*5113495bSYour Name 
825*5113495bSYour Name #define MACTX_PHY_DESC_MU_NDP_OFFSET                                                0x0000000000000008
826*5113495bSYour Name #define MACTX_PHY_DESC_MU_NDP_LSB                                                   30
827*5113495bSYour Name #define MACTX_PHY_DESC_MU_NDP_MSB                                                   30
828*5113495bSYour Name #define MACTX_PHY_DESC_MU_NDP_MASK                                                  0x0000000040000000
829*5113495bSYour Name 
830*5113495bSYour Name 
831*5113495bSYour Name /* Description		RESPONSE_EXPECTED
832*5113495bSYour Name 
833*5113495bSYour Name 			When set, a response frame in SIFS time is expected after
834*5113495bSYour Name 			 this transmission.
835*5113495bSYour Name 			<legal all>
836*5113495bSYour Name */
837*5113495bSYour Name 
838*5113495bSYour Name #define MACTX_PHY_DESC_RESPONSE_EXPECTED_OFFSET                                     0x0000000000000008
839*5113495bSYour Name #define MACTX_PHY_DESC_RESPONSE_EXPECTED_LSB                                        31
840*5113495bSYour Name #define MACTX_PHY_DESC_RESPONSE_EXPECTED_MSB                                        31
841*5113495bSYour Name #define MACTX_PHY_DESC_RESPONSE_EXPECTED_MASK                                       0x0000000080000000
842*5113495bSYour Name 
843*5113495bSYour Name 
844*5113495bSYour Name /* Description		RX_CHAIN_MASK
845*5113495bSYour Name 
846*5113495bSYour Name 			Chain mask to support up to 8 antennas.
847*5113495bSYour Name 			<legal 1-255>
848*5113495bSYour Name */
849*5113495bSYour Name 
850*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_OFFSET                                         0x0000000000000008
851*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_LSB                                            32
852*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_MSB                                            39
853*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_MASK                                           0x000000ff00000000
854*5113495bSYour Name 
855*5113495bSYour Name 
856*5113495bSYour Name /* Description		RX_CHAIN_MASK_VALID
857*5113495bSYour Name 
858*5113495bSYour Name 			Indicates rx_chain_mask field is valid.
859*5113495bSYour Name 			<enum 0 RX_CHAIN_MASK_IS_NOT_VALID>
860*5113495bSYour Name 			<enum 1 RX_CHAIN_MASK_IS_VALID>
861*5113495bSYour Name 			<legal all>
862*5113495bSYour Name */
863*5113495bSYour Name 
864*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_VALID_OFFSET                                   0x0000000000000008
865*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_VALID_LSB                                      40
866*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_VALID_MSB                                      40
867*5113495bSYour Name #define MACTX_PHY_DESC_RX_CHAIN_MASK_VALID_MASK                                     0x0000010000000000
868*5113495bSYour Name 
869*5113495bSYour Name 
870*5113495bSYour Name /* Description		ANT_SEL_VALID
871*5113495bSYour Name 
872*5113495bSYour Name 			Field only valid when ant_sel_valid is set.
873*5113495bSYour Name 
874*5113495bSYour Name 			TX Antenna select valid
875*5113495bSYour Name 			<enum 0 ANT_SEL_IS_NOT_VALID>
876*5113495bSYour Name 			<enum 1 ANT_SEL_IS_VALID>
877*5113495bSYour Name 			<legal all>
878*5113495bSYour Name */
879*5113495bSYour Name 
880*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_VALID_OFFSET                                         0x0000000000000008
881*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_VALID_LSB                                            41
882*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_VALID_MSB                                            41
883*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_VALID_MASK                                           0x0000020000000000
884*5113495bSYour Name 
885*5113495bSYour Name 
886*5113495bSYour Name /* Description		ANT_SEL
887*5113495bSYour Name 
888*5113495bSYour Name 			Field only valid when ant_sel_valid is set.
889*5113495bSYour Name 
890*5113495bSYour Name 			Antenna select for TX antenna diversity.
891*5113495bSYour Name 			<enum 0 ANTENNA_0>
892*5113495bSYour Name 			<enum 1 ANTENNA_1>
893*5113495bSYour Name 			<legal all>
894*5113495bSYour Name */
895*5113495bSYour Name 
896*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_OFFSET                                               0x0000000000000008
897*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_LSB                                                  42
898*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_MSB                                                  42
899*5113495bSYour Name #define MACTX_PHY_DESC_ANT_SEL_MASK                                                 0x0000040000000000
900*5113495bSYour Name 
901*5113495bSYour Name 
902*5113495bSYour Name /* Description		CP_SETTING
903*5113495bSYour Name 
904*5113495bSYour Name 			Field only valid when pkt type is HT, VHT or HE.
905*5113495bSYour Name 
906*5113495bSYour Name 			Specify the right CP for HE-Ranging NDPs (11az)/Short NDP
907*5113495bSYour Name 
908*5113495bSYour Name 
909*5113495bSYour Name 			<enum 0     gi_0_8_us > Legacy normal GI
910*5113495bSYour Name 			<enum 1     gi_0_4_us > Legacy short GI
911*5113495bSYour Name 			<enum 2     gi_1_6_us > HE related GI
912*5113495bSYour Name 			<enum 3     gi_3_2_us > HE related GI
913*5113495bSYour Name 			<legal 0 - 3>
914*5113495bSYour Name */
915*5113495bSYour Name 
916*5113495bSYour Name #define MACTX_PHY_DESC_CP_SETTING_OFFSET                                            0x0000000000000008
917*5113495bSYour Name #define MACTX_PHY_DESC_CP_SETTING_LSB                                               43
918*5113495bSYour Name #define MACTX_PHY_DESC_CP_SETTING_MSB                                               44
919*5113495bSYour Name #define MACTX_PHY_DESC_CP_SETTING_MASK                                              0x0000180000000000
920*5113495bSYour Name 
921*5113495bSYour Name 
922*5113495bSYour Name /* Description		HE_PPDU_SUBTYPE
923*5113495bSYour Name 
924*5113495bSYour Name 			The subtype of HE transmission:
925*5113495bSYour Name 
926*5113495bSYour Name 			Specify as HE-SU for HE-SU Ranging NDP in 11az ;
927*5113495bSYour Name 			Specify as HE-TB for HE-TB Ranging NDP in 11az ;
928*5113495bSYour Name 			Specify as HE-TB for Short -NDP
929*5113495bSYour Name 			Re-use the same for EHT PPDU types also
930*5113495bSYour Name 			<enum 0 he_subtype_SU>
931*5113495bSYour Name 			<enum 1 he_subtype_TRIG>
932*5113495bSYour Name 			<enum 2 he_subtype_MU>
933*5113495bSYour Name 			<enum 3 he_subtype_EXT_SU>
934*5113495bSYour Name 
935*5113495bSYour Name 			<legal all>
936*5113495bSYour Name */
937*5113495bSYour Name 
938*5113495bSYour Name #define MACTX_PHY_DESC_HE_PPDU_SUBTYPE_OFFSET                                       0x0000000000000008
939*5113495bSYour Name #define MACTX_PHY_DESC_HE_PPDU_SUBTYPE_LSB                                          45
940*5113495bSYour Name #define MACTX_PHY_DESC_HE_PPDU_SUBTYPE_MSB                                          46
941*5113495bSYour Name #define MACTX_PHY_DESC_HE_PPDU_SUBTYPE_MASK                                         0x0000600000000000
942*5113495bSYour Name 
943*5113495bSYour Name 
944*5113495bSYour Name /* Description		ACTIVE_CHANNEL
945*5113495bSYour Name 
946*5113495bSYour Name 			Field only valid when triggered == non_trigerred
947*5113495bSYour Name 			In case of a triggered response transmission, this field
948*5113495bSYour Name 			 will always be set to 0
949*5113495bSYour Name 
950*5113495bSYour Name 			This field indicates the active frequency band when the
951*5113495bSYour Name 			packet bandwidth is less than the channel bandwidth. For
952*5113495bSYour Name 			 non 11ax packets this is same as the primary channel
953*5113495bSYour Name 			<legal all>
954*5113495bSYour Name */
955*5113495bSYour Name 
956*5113495bSYour Name #define MACTX_PHY_DESC_ACTIVE_CHANNEL_OFFSET                                        0x0000000000000008
957*5113495bSYour Name #define MACTX_PHY_DESC_ACTIVE_CHANNEL_LSB                                           47
958*5113495bSYour Name #define MACTX_PHY_DESC_ACTIVE_CHANNEL_MSB                                           49
959*5113495bSYour Name #define MACTX_PHY_DESC_ACTIVE_CHANNEL_MASK                                          0x0003800000000000
960*5113495bSYour Name 
961*5113495bSYour Name 
962*5113495bSYour Name /* Description		GENERATE_PHYRX_TX_START_TIMING
963*5113495bSYour Name 
964*5113495bSYour Name 			When set, PHY shall generate the PHYRX_TX_START_TIMING TLV
965*5113495bSYour Name 			 at the earliest opportunity during the preamble transmission
966*5113495bSYour Name 
967*5113495bSYour Name 			<legal all>
968*5113495bSYour Name */
969*5113495bSYour Name 
970*5113495bSYour Name #define MACTX_PHY_DESC_GENERATE_PHYRX_TX_START_TIMING_OFFSET                        0x0000000000000008
971*5113495bSYour Name #define MACTX_PHY_DESC_GENERATE_PHYRX_TX_START_TIMING_LSB                           50
972*5113495bSYour Name #define MACTX_PHY_DESC_GENERATE_PHYRX_TX_START_TIMING_MSB                           50
973*5113495bSYour Name #define MACTX_PHY_DESC_GENERATE_PHYRX_TX_START_TIMING_MASK                          0x0004000000000000
974*5113495bSYour Name 
975*5113495bSYour Name 
976*5113495bSYour Name /* Description		LTF_SIZE
977*5113495bSYour Name 
978*5113495bSYour Name 			Field only valid when pkt type is HE.
979*5113495bSYour Name 
980*5113495bSYour Name 			Ltf size
981*5113495bSYour Name 
982*5113495bSYour Name 			Specify right LTF-size for HE-Ranging NDPs (11az)/Short-NDP
983*5113495bSYour Name 
984*5113495bSYour Name 
985*5113495bSYour Name 			<enum 0     ltf_1x >
986*5113495bSYour Name 			<enum 1     ltf_2x >
987*5113495bSYour Name 			<enum 2     ltf_4x >
988*5113495bSYour Name 			<legal 0 - 2>
989*5113495bSYour Name */
990*5113495bSYour Name 
991*5113495bSYour Name #define MACTX_PHY_DESC_LTF_SIZE_OFFSET                                              0x0000000000000008
992*5113495bSYour Name #define MACTX_PHY_DESC_LTF_SIZE_LSB                                                 51
993*5113495bSYour Name #define MACTX_PHY_DESC_LTF_SIZE_MSB                                                 52
994*5113495bSYour Name #define MACTX_PHY_DESC_LTF_SIZE_MASK                                                0x0018000000000000
995*5113495bSYour Name 
996*5113495bSYour Name 
997*5113495bSYour Name /* Description		RU_SIZE_UPDATED_V2
998*5113495bSYour Name 
999*5113495bSYour Name 			Field only valid for pkt_type == 11ax or 11be and
1000*5113495bSYour Name 			SU_or_MU == SU_transmission or
1001*5113495bSYour Name 			SU_or_MU == MU_SU_transmission
1002*5113495bSYour Name 
1003*5113495bSYour Name 			The RU size of the upcoming transmission.
1004*5113495bSYour Name 
1005*5113495bSYour Name 			PHY uses this info to apply different min/max BO if payload
1006*5113495bSYour Name 			 bandwidth is less than 10MHz
1007*5113495bSYour Name 
1008*5113495bSYour Name 			In case of HE extended range transmission, e-num 2 (10MHz)
1009*5113495bSYour Name 			or e-num 7 (20MHz) are used.
1010*5113495bSYour Name 
1011*5113495bSYour Name 			In case of trig transmission or OFDMA single user or MU-MIMO
1012*5113495bSYour Name 			 single user transmission, if the ru_size allocated to the
1013*5113495bSYour Name 			 user is the fullBW (with respect to AP_bw) ru size then
1014*5113495bSYour Name 			 the e-num 7 is used.
1015*5113495bSYour Name 			For all other cases, e-nums corresponding to the ru size
1016*5113495bSYour Name 			 allocated to the user is used.
1017*5113495bSYour Name 
1018*5113495bSYour Name 			In case of EHT duplicate transmissions, this field indicates
1019*5113495bSYour Name 			 the width of the actual content before duplication, e.g.
1020*5113495bSYour Name 			a 40 MHz PPDU duplicated to 160 MHz will have the bandwidth
1021*5113495bSYour Name 			 fields indicating 160 MHz and this field set to e-num 4
1022*5113495bSYour Name 			 (RU_484).
1023*5113495bSYour Name 
1024*5113495bSYour Name 			<enum 0 RU_26>
1025*5113495bSYour Name 			<enum 1 RU_52>
1026*5113495bSYour Name 			<enum 2 RU_106>
1027*5113495bSYour Name 			<enum 3 RU_242><enum 4 RU_484><enum 5 RU_996><enum 6 RU_1992>
1028*5113495bSYour Name 
1029*5113495bSYour Name 			<enum 7 RU_FULLBW> Set when the RU occupies the full packet
1030*5113495bSYour Name 			 bandwidth
1031*5113495bSYour Name 			Note that for an MU-RTS trigger, the response will also
1032*5113495bSYour Name 			go out in legacy CTS rate... and thus e-num 7 will be used.
1033*5113495bSYour Name 
1034*5113495bSYour Name 			<enum 8 RU_FULLBW_240> Set when the RU occupies the full
1035*5113495bSYour Name 			 packet bandwidth
1036*5113495bSYour Name 			<enum 9 RU_FULLBW_320> Set when the RU occupies the full
1037*5113495bSYour Name 			 packet bandwidth
1038*5113495bSYour Name 
1039*5113495bSYour Name 			<enum 10 RU_MULTI_LARGE> HW will use per-user sub-band-mask
1040*5113495bSYour Name 			 to infer the actual RU-size for Multi-large-RU/SU-Puncturing
1041*5113495bSYour Name 
1042*5113495bSYour Name 
1043*5113495bSYour Name 			<enum 11 RU_78> multi small RU
1044*5113495bSYour Name 			<enum 12 RU_132> multi small RU
1045*5113495bSYour Name 
1046*5113495bSYour Name 
1047*5113495bSYour Name 
1048*5113495bSYour Name 			NOTE: See the table following this TLV definition that explains
1049*5113495bSYour Name 			 the relationship between this field and the RU size allocated
1050*5113495bSYour Name 			 to users.
1051*5113495bSYour Name 
1052*5113495bSYour Name 			<legal all>
1053*5113495bSYour Name */
1054*5113495bSYour Name 
1055*5113495bSYour Name #define MACTX_PHY_DESC_RU_SIZE_UPDATED_V2_OFFSET                                    0x0000000000000008
1056*5113495bSYour Name #define MACTX_PHY_DESC_RU_SIZE_UPDATED_V2_LSB                                       53
1057*5113495bSYour Name #define MACTX_PHY_DESC_RU_SIZE_UPDATED_V2_MSB                                       56
1058*5113495bSYour Name #define MACTX_PHY_DESC_RU_SIZE_UPDATED_V2_MASK                                      0x01e0000000000000
1059*5113495bSYour Name 
1060*5113495bSYour Name 
1061*5113495bSYour Name /* Description		RESERVED_3C
1062*5113495bSYour Name 
1063*5113495bSYour Name 			<legal 0>
1064*5113495bSYour Name */
1065*5113495bSYour Name 
1066*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_3C_OFFSET                                           0x0000000000000008
1067*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_3C_LSB                                              57
1068*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_3C_MSB                                              57
1069*5113495bSYour Name #define MACTX_PHY_DESC_RESERVED_3C_MASK                                             0x0200000000000000
1070*5113495bSYour Name 
1071*5113495bSYour Name 
1072*5113495bSYour Name /* Description		U_SIG_PUNCTURE_PATTERN_ENCODING
1073*5113495bSYour Name 
1074*5113495bSYour Name 			Field only valid for pkt_type == 11be
1075*5113495bSYour Name 
1076*5113495bSYour Name 			The 6-bit value to be used in U-SIG and/or EHT-SIG Common
1077*5113495bSYour Name 			 field for the puncture pattern
1078*5113495bSYour Name 			<legal 0-29>
1079*5113495bSYour Name */
1080*5113495bSYour Name 
1081*5113495bSYour Name #define MACTX_PHY_DESC_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET                       0x0000000000000008
1082*5113495bSYour Name #define MACTX_PHY_DESC_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB                          58
1083*5113495bSYour Name #define MACTX_PHY_DESC_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB                          63
1084*5113495bSYour Name #define MACTX_PHY_DESC_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK                         0xfc00000000000000
1085*5113495bSYour Name 
1086*5113495bSYour Name 
1087*5113495bSYour Name 
1088*5113495bSYour Name #endif   // MACTX_PHY_DESC
1089