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