xref: /wlan-driver/fw-api/hw/qca5332/pdg_response.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 _PDG_RESPONSE_H_
27*5113495bSYour Name #define _PDG_RESPONSE_H_
28*5113495bSYour Name #if !defined(__ASSEMBLER__)
29*5113495bSYour Name #endif
30*5113495bSYour Name 
31*5113495bSYour Name #include "pdg_response_rate_setting.h"
32*5113495bSYour Name #define NUM_OF_DWORDS_PDG_RESPONSE 12
33*5113495bSYour Name 
34*5113495bSYour Name #define NUM_OF_QWORDS_PDG_RESPONSE 6
35*5113495bSYour Name 
36*5113495bSYour Name 
37*5113495bSYour Name struct pdg_response {
38*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
39*5113495bSYour Name              struct   pdg_response_rate_setting                                 hw_response_rate_info;
40*5113495bSYour Name              uint32_t hw_response_tx_duration                                 : 16, // [15:0]
41*5113495bSYour Name                       rx_duration_field                                       : 16; // [31:16]
42*5113495bSYour Name              uint32_t punctured_response_transmission                         :  1, // [0:0]
43*5113495bSYour Name                       cca_subband_channel_bonding_mask                        : 16, // [16:1]
44*5113495bSYour Name                       scrambler_seed_override                                 :  2, // [18:17]
45*5113495bSYour Name                       response_density_valid                                  :  1, // [19:19]
46*5113495bSYour Name                       response_density                                        :  5, // [24:20]
47*5113495bSYour Name                       more_data                                               :  1, // [25:25]
48*5113495bSYour Name                       duration_indication                                     :  1, // [26:26]
49*5113495bSYour Name                       relayed_frame                                           :  1, // [27:27]
50*5113495bSYour Name                       address_indicator                                       :  1, // [28:28]
51*5113495bSYour Name                       bandwidth                                               :  3; // [31:29]
52*5113495bSYour Name              uint32_t ack_id                                                  : 16, // [15:0]
53*5113495bSYour Name                       block_ack_bitmap                                        : 16; // [31:16]
54*5113495bSYour Name              uint32_t response_frame_type                                     :  4, // [3:0]
55*5113495bSYour Name                       ack_id_ext                                              : 10, // [13:4]
56*5113495bSYour Name                       ftm_en                                                  :  1, // [14:14]
57*5113495bSYour Name                       group_id                                                :  6, // [20:15]
58*5113495bSYour Name                       sta_partial_aid                                         : 11; // [31:21]
59*5113495bSYour Name              uint32_t ndp_ba_start_seq_ctrl                                   : 12, // [11:0]
60*5113495bSYour Name                       active_channel                                          :  3, // [14:12]
61*5113495bSYour Name                       txop_duration_all_ones                                  :  1, // [15:15]
62*5113495bSYour Name                       frame_length                                            : 16; // [31:16]
63*5113495bSYour Name #else
64*5113495bSYour Name              struct   pdg_response_rate_setting                                 hw_response_rate_info;
65*5113495bSYour Name              uint32_t rx_duration_field                                       : 16, // [31:16]
66*5113495bSYour Name                       hw_response_tx_duration                                 : 16; // [15:0]
67*5113495bSYour Name              uint32_t bandwidth                                               :  3, // [31:29]
68*5113495bSYour Name                       address_indicator                                       :  1, // [28:28]
69*5113495bSYour Name                       relayed_frame                                           :  1, // [27:27]
70*5113495bSYour Name                       duration_indication                                     :  1, // [26:26]
71*5113495bSYour Name                       more_data                                               :  1, // [25:25]
72*5113495bSYour Name                       response_density                                        :  5, // [24:20]
73*5113495bSYour Name                       response_density_valid                                  :  1, // [19:19]
74*5113495bSYour Name                       scrambler_seed_override                                 :  2, // [18:17]
75*5113495bSYour Name                       cca_subband_channel_bonding_mask                        : 16, // [16:1]
76*5113495bSYour Name                       punctured_response_transmission                         :  1; // [0:0]
77*5113495bSYour Name              uint32_t block_ack_bitmap                                        : 16, // [31:16]
78*5113495bSYour Name                       ack_id                                                  : 16; // [15:0]
79*5113495bSYour Name              uint32_t sta_partial_aid                                         : 11, // [31:21]
80*5113495bSYour Name                       group_id                                                :  6, // [20:15]
81*5113495bSYour Name                       ftm_en                                                  :  1, // [14:14]
82*5113495bSYour Name                       ack_id_ext                                              : 10, // [13:4]
83*5113495bSYour Name                       response_frame_type                                     :  4; // [3:0]
84*5113495bSYour Name              uint32_t frame_length                                            : 16, // [31:16]
85*5113495bSYour Name                       txop_duration_all_ones                                  :  1, // [15:15]
86*5113495bSYour Name                       active_channel                                          :  3, // [14:12]
87*5113495bSYour Name                       ndp_ba_start_seq_ctrl                                   : 12; // [11:0]
88*5113495bSYour Name #endif
89*5113495bSYour Name };
90*5113495bSYour Name 
91*5113495bSYour Name 
92*5113495bSYour Name /* Description		HW_RESPONSE_RATE_INFO
93*5113495bSYour Name 
94*5113495bSYour Name 			All transmit rate related parameters
95*5113495bSYour Name */
96*5113495bSYour Name 
97*5113495bSYour Name 
98*5113495bSYour Name /* Description		RESERVED_0A
99*5113495bSYour Name 
100*5113495bSYour Name 
101*5113495bSYour Name 			<legal 0>
102*5113495bSYour Name */
103*5113495bSYour Name 
104*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_OFFSET                       0x0000000000000000
105*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_LSB                          0
106*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_MSB                          0
107*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_0A_MASK                         0x0000000000000001
108*5113495bSYour Name 
109*5113495bSYour Name 
110*5113495bSYour Name /* Description		TX_ANTENNA_SECTOR_CTRL
111*5113495bSYour Name 
112*5113495bSYour Name 			Sectored transmit antenna
113*5113495bSYour Name 			<legal all>
114*5113495bSYour Name */
115*5113495bSYour Name 
116*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_OFFSET            0x0000000000000000
117*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_LSB               1
118*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_MSB               24
119*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_ANTENNA_SECTOR_CTRL_MASK              0x0000000001fffffe
120*5113495bSYour Name 
121*5113495bSYour Name 
122*5113495bSYour Name /* Description		PKT_TYPE
123*5113495bSYour Name 
124*5113495bSYour Name 			Packet type:
125*5113495bSYour Name 			<enum 0 dot11a>802.11a PPDU type
126*5113495bSYour Name 			<enum 1 dot11b>802.11b PPDU type
127*5113495bSYour Name 			<enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
128*5113495bSYour Name 			<enum 3 dot11ac>802.11ac PPDU type
129*5113495bSYour Name 			<enum 4 dot11ax>802.11ax PPDU type
130*5113495bSYour Name 			<enum 5 dot11ba>802.11ba (WUR) PPDU type
131*5113495bSYour Name 			<enum 6 dot11be>802.11be PPDU type
132*5113495bSYour Name 			<enum 7 dot11az>802.11az (ranging) PPDU type
133*5113495bSYour Name 			<enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported
134*5113495bSYour Name 			 & aborted)
135*5113495bSYour Name */
136*5113495bSYour Name 
137*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_OFFSET                          0x0000000000000000
138*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_LSB                             25
139*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_MSB                             28
140*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_PKT_TYPE_MASK                            0x000000001e000000
141*5113495bSYour Name 
142*5113495bSYour Name 
143*5113495bSYour Name /* Description		SMOOTHING
144*5113495bSYour Name 
145*5113495bSYour Name 			This field is used by PDG to populate the SMOOTHING filed
146*5113495bSYour Name 			 in the SIG Preamble of the PPDU
147*5113495bSYour Name 			<legal 0-1>
148*5113495bSYour Name */
149*5113495bSYour Name 
150*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_OFFSET                         0x0000000000000000
151*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_LSB                            29
152*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_MSB                            29
153*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SMOOTHING_MASK                           0x0000000020000000
154*5113495bSYour Name 
155*5113495bSYour Name 
156*5113495bSYour Name /* Description		LDPC
157*5113495bSYour Name 
158*5113495bSYour Name 			When set, use LDPC transmission rates
159*5113495bSYour Name */
160*5113495bSYour Name 
161*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_OFFSET                              0x0000000000000000
162*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_LSB                                 30
163*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_MSB                                 30
164*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_LDPC_MASK                                0x0000000040000000
165*5113495bSYour Name 
166*5113495bSYour Name 
167*5113495bSYour Name /* Description		STBC
168*5113495bSYour Name 
169*5113495bSYour Name 			When set, use STBC transmission rates
170*5113495bSYour Name */
171*5113495bSYour Name 
172*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_OFFSET                              0x0000000000000000
173*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_LSB                                 31
174*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_MSB                                 31
175*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STBC_MASK                                0x0000000080000000
176*5113495bSYour Name 
177*5113495bSYour Name 
178*5113495bSYour Name /* Description		ALT_TX_PWR
179*5113495bSYour Name 
180*5113495bSYour Name 			Coex related AlternativeTransmit parameter
181*5113495bSYour Name 
182*5113495bSYour Name 			Transmit Power in s6.2 format.
183*5113495bSYour Name 			In units of 0.25 dBm
184*5113495bSYour Name 			<legal all>
185*5113495bSYour Name */
186*5113495bSYour Name 
187*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_OFFSET                        0x0000000000000000
188*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_LSB                           32
189*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_MSB                           39
190*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_MASK                          0x000000ff00000000
191*5113495bSYour Name 
192*5113495bSYour Name 
193*5113495bSYour Name /* Description		ALT_MIN_TX_PWR
194*5113495bSYour Name 
195*5113495bSYour Name 			Coex related Alternative Transmit parameter
196*5113495bSYour Name 
197*5113495bSYour Name 			Minimum allowed Transmit Power in s6.2 format.
198*5113495bSYour Name 			In units of 0.25 dBm
199*5113495bSYour Name 			<legal all>
200*5113495bSYour Name */
201*5113495bSYour Name 
202*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_OFFSET                    0x0000000000000000
203*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_LSB                       40
204*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_MSB                       47
205*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_MIN_TX_PWR_MASK                      0x0000ff0000000000
206*5113495bSYour Name 
207*5113495bSYour Name 
208*5113495bSYour Name /* Description		ALT_NSS
209*5113495bSYour Name 
210*5113495bSYour Name 			Coex related Alternative Transmit parameter
211*5113495bSYour Name 
212*5113495bSYour Name 			Number of spatial streams.
213*5113495bSYour Name 
214*5113495bSYour Name 			<enum 0 1_spatial_stream>Single spatial stream
215*5113495bSYour Name 			<enum 1 2_spatial_streams>2 spatial streams
216*5113495bSYour Name 			<enum 2 3_spatial_streams>3 spatial streams
217*5113495bSYour Name 			<enum 3 4_spatial_streams>4 spatial streams
218*5113495bSYour Name 			<enum 4 5_spatial_streams>5 spatial streams
219*5113495bSYour Name 			<enum 5 6_spatial_streams>6 spatial streams
220*5113495bSYour Name 			<enum 6 7_spatial_streams>7 spatial streams
221*5113495bSYour Name 			<enum 7 8_spatial_streams>8 spatial streams
222*5113495bSYour Name */
223*5113495bSYour Name 
224*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_OFFSET                           0x0000000000000000
225*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_LSB                              48
226*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_MSB                              50
227*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_NSS_MASK                             0x0007000000000000
228*5113495bSYour Name 
229*5113495bSYour Name 
230*5113495bSYour Name /* Description		ALT_TX_CHAIN_MASK
231*5113495bSYour Name 
232*5113495bSYour Name 			Coex related Alternative Transmit parameter
233*5113495bSYour Name 
234*5113495bSYour Name 			Chain mask to support up to 8 antennas.
235*5113495bSYour Name 			<legal 1-255>
236*5113495bSYour Name */
237*5113495bSYour Name 
238*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_OFFSET                 0x0000000000000000
239*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_LSB                    51
240*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_MSB                    58
241*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_CHAIN_MASK_MASK                   0x07f8000000000000
242*5113495bSYour Name 
243*5113495bSYour Name 
244*5113495bSYour Name /* Description		ALT_BW
245*5113495bSYour Name 
246*5113495bSYour Name 			Coex related Alternative Transmit parameter
247*5113495bSYour Name 
248*5113495bSYour Name 			The BW of the upcoming transmission.
249*5113495bSYour Name 
250*5113495bSYour Name 			<enum 0 20_mhz>20 Mhz BW
251*5113495bSYour Name 			<enum 1 40_mhz>40 Mhz BW
252*5113495bSYour Name 			<enum 2 80_mhz>80 Mhz BW
253*5113495bSYour Name 			<enum 3 160_mhz>160 Mhz BW
254*5113495bSYour Name 			<enum 4 320_mhz>320 Mhz BW
255*5113495bSYour Name 			<enum 5 240_mhz>240 Mhz BW
256*5113495bSYour Name */
257*5113495bSYour Name 
258*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_OFFSET                            0x0000000000000000
259*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_LSB                               59
260*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_MSB                               61
261*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_BW_MASK                              0x3800000000000000
262*5113495bSYour Name 
263*5113495bSYour Name 
264*5113495bSYour Name /* Description		STF_LTF_3DB_BOOST
265*5113495bSYour Name 
266*5113495bSYour Name 			Boost the STF and LTF power by 3dB in 11a/n/ac packets.
267*5113495bSYour Name 			This includes both the legacy preambles and the HT/VHT preambles.0:
268*5113495bSYour Name 			disable power boost1: enable power boost
269*5113495bSYour Name 			<legal all>
270*5113495bSYour Name */
271*5113495bSYour Name 
272*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_OFFSET                 0x0000000000000000
273*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_LSB                    62
274*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_MSB                    62
275*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_STF_LTF_3DB_BOOST_MASK                   0x4000000000000000
276*5113495bSYour Name 
277*5113495bSYour Name 
278*5113495bSYour Name /* Description		FORCE_EXTRA_SYMBOL
279*5113495bSYour Name 
280*5113495bSYour Name 			Set to 1 to force an extra OFDM symbol (or symbols) even
281*5113495bSYour Name 			 if the PPDU encoding process does not result in an extra
282*5113495bSYour Name 			 OFDM symbol (or symbols)
283*5113495bSYour Name */
284*5113495bSYour Name 
285*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_OFFSET                0x0000000000000000
286*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_LSB                   63
287*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_MSB                   63
288*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_FORCE_EXTRA_SYMBOL_MASK                  0x8000000000000000
289*5113495bSYour Name 
290*5113495bSYour Name 
291*5113495bSYour Name /* Description		ALT_RATE_MCS
292*5113495bSYour Name 
293*5113495bSYour Name 			Coex related Alternative Transmit parameter
294*5113495bSYour Name 
295*5113495bSYour Name 			For details, refer to  MCS_TYPE
296*5113495bSYour Name 			Note: This is "rate" in case of 11a/11b
297*5113495bSYour Name 			description
298*5113495bSYour Name 			<legal all>
299*5113495bSYour Name */
300*5113495bSYour Name 
301*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_OFFSET                      0x0000000000000008
302*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_LSB                         0
303*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_MSB                         3
304*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_RATE_MCS_MASK                        0x000000000000000f
305*5113495bSYour Name 
306*5113495bSYour Name 
307*5113495bSYour Name /* Description		NSS
308*5113495bSYour Name 
309*5113495bSYour Name 			Number of spatial streams.
310*5113495bSYour Name 
311*5113495bSYour Name 			<enum 0 1_spatial_stream>Single spatial stream
312*5113495bSYour Name 			<enum 1 2_spatial_streams>2 spatial streams
313*5113495bSYour Name 			<enum 2 3_spatial_streams>3 spatial streams
314*5113495bSYour Name 			<enum 3 4_spatial_streams>4 spatial streams
315*5113495bSYour Name 			<enum 4 5_spatial_streams>5 spatial streams
316*5113495bSYour Name 			<enum 5 6_spatial_streams>6 spatial streams
317*5113495bSYour Name 			<enum 6 7_spatial_streams>7 spatial streams
318*5113495bSYour Name 			<enum 7 8_spatial_streams>8 spatial streams
319*5113495bSYour Name */
320*5113495bSYour Name 
321*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_OFFSET                               0x0000000000000008
322*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_LSB                                  4
323*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_MSB                                  6
324*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NSS_MASK                                 0x0000000000000070
325*5113495bSYour Name 
326*5113495bSYour Name 
327*5113495bSYour Name /* Description		DPD_ENABLE
328*5113495bSYour Name 
329*5113495bSYour Name 			DPD enable control
330*5113495bSYour Name 
331*5113495bSYour Name 			This is needed on a per packet basis
332*5113495bSYour Name 			<enum 0     dpd_off> DPD profile not applied to current
333*5113495bSYour Name 			packet
334*5113495bSYour Name 			<enum 1     dpd_on> DPD profile applied to current packet
335*5113495bSYour Name 			 if available
336*5113495bSYour Name 			<legal 0-1>
337*5113495bSYour Name 
338*5113495bSYour Name 			This field is not applicable in11ah mode of operation and
339*5113495bSYour Name 			 is ignored by the HW
340*5113495bSYour Name */
341*5113495bSYour Name 
342*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_OFFSET                        0x0000000000000008
343*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_LSB                           7
344*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_MSB                           7
345*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DPD_ENABLE_MASK                          0x0000000000000080
346*5113495bSYour Name 
347*5113495bSYour Name 
348*5113495bSYour Name /* Description		TX_PWR
349*5113495bSYour Name 
350*5113495bSYour Name 			Transmit Power in s6.2 format.
351*5113495bSYour Name 			In units of 0.25 dBm
352*5113495bSYour Name 			<legal all>
353*5113495bSYour Name */
354*5113495bSYour Name 
355*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_OFFSET                            0x0000000000000008
356*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_LSB                               8
357*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_MSB                               15
358*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_MASK                              0x000000000000ff00
359*5113495bSYour Name 
360*5113495bSYour Name 
361*5113495bSYour Name /* Description		MIN_TX_PWR
362*5113495bSYour Name 
363*5113495bSYour Name 			Coex related field:
364*5113495bSYour Name 
365*5113495bSYour Name 			Minimum allowed Transmit Power in s6.2 format.
366*5113495bSYour Name 			In units of 0.25 dBm
367*5113495bSYour Name 			<legal all>
368*5113495bSYour Name */
369*5113495bSYour Name 
370*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_OFFSET                        0x0000000000000008
371*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_LSB                           16
372*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_MSB                           23
373*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MIN_TX_PWR_MASK                          0x0000000000ff0000
374*5113495bSYour Name 
375*5113495bSYour Name 
376*5113495bSYour Name /* Description		TX_CHAIN_MASK
377*5113495bSYour Name 
378*5113495bSYour Name 			Chain mask to support up to 8 antennas.
379*5113495bSYour Name 			<legal 1-255>
380*5113495bSYour Name */
381*5113495bSYour Name 
382*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_OFFSET                     0x0000000000000008
383*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_LSB                        24
384*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_MSB                        31
385*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_CHAIN_MASK_MASK                       0x00000000ff000000
386*5113495bSYour Name 
387*5113495bSYour Name 
388*5113495bSYour Name /* Description		RESERVED_3A
389*5113495bSYour Name 
390*5113495bSYour Name 			 <legal 0>
391*5113495bSYour Name */
392*5113495bSYour Name 
393*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_OFFSET                       0x0000000000000008
394*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_LSB                          32
395*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_MSB                          39
396*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3A_MASK                         0x000000ff00000000
397*5113495bSYour Name 
398*5113495bSYour Name 
399*5113495bSYour Name /* Description		SGI
400*5113495bSYour Name 
401*5113495bSYour Name 			Field only valid when pkt type is HT or VHT.For 11ax see
402*5113495bSYour Name 			 field Dot11ax_CP_LTF_size
403*5113495bSYour Name 
404*5113495bSYour Name 			<enum 0     0_8_us_sgi > Legacy normal GI. Can also be used
405*5113495bSYour Name 			 for HE
406*5113495bSYour Name 			<enum 1     0_4_us_sgi > Legacy short GI. Can also be used
407*5113495bSYour Name 			 for HE
408*5113495bSYour Name 			<enum 2     1_6_us_sgi > Not used for pre 11ax pkt_types.
409*5113495bSYour Name 
410*5113495bSYour Name 			<enum 3     3_2_us_sgi > Not used for pre 11ax pkt_types
411*5113495bSYour Name 
412*5113495bSYour Name 
413*5113495bSYour Name 			<legal 0 - 3>
414*5113495bSYour Name */
415*5113495bSYour Name 
416*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_OFFSET                               0x0000000000000008
417*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_LSB                                  40
418*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_MSB                                  41
419*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_SGI_MASK                                 0x0000030000000000
420*5113495bSYour Name 
421*5113495bSYour Name 
422*5113495bSYour Name /* Description		RATE_MCS
423*5113495bSYour Name 
424*5113495bSYour Name 			For details, refer to  MCS_TYPE description
425*5113495bSYour Name 			Note: This is "rate" in case of 11a/11b
426*5113495bSYour Name 
427*5113495bSYour Name 			<legal all>
428*5113495bSYour Name */
429*5113495bSYour Name 
430*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_OFFSET                          0x0000000000000008
431*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_LSB                             42
432*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_MSB                             45
433*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RATE_MCS_MASK                            0x00003c0000000000
434*5113495bSYour Name 
435*5113495bSYour Name 
436*5113495bSYour Name /* Description		RESERVED_3B
437*5113495bSYour Name 
438*5113495bSYour Name 			 <legal 0>
439*5113495bSYour Name */
440*5113495bSYour Name 
441*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_OFFSET                       0x0000000000000008
442*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_LSB                          46
443*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_MSB                          47
444*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_3B_MASK                         0x0000c00000000000
445*5113495bSYour Name 
446*5113495bSYour Name 
447*5113495bSYour Name /* Description		TX_PWR_1
448*5113495bSYour Name 
449*5113495bSYour Name 			Default (desired) transmit parameter for the second chain
450*5113495bSYour Name 
451*5113495bSYour Name 
452*5113495bSYour Name 			Transmit Power in s6.2 format.
453*5113495bSYour Name 			In units of 0.25 dBm
454*5113495bSYour Name 
455*5113495bSYour Name 			Note that there is no Min value for this
456*5113495bSYour Name 			<legal all>
457*5113495bSYour Name */
458*5113495bSYour Name 
459*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_OFFSET                          0x0000000000000008
460*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_LSB                             48
461*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_MSB                             55
462*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_TX_PWR_1_MASK                            0x00ff000000000000
463*5113495bSYour Name 
464*5113495bSYour Name 
465*5113495bSYour Name /* Description		ALT_TX_PWR_1
466*5113495bSYour Name 
467*5113495bSYour Name 			Alternate (desired) transmit parameter for the second chain
468*5113495bSYour Name 
469*5113495bSYour Name 
470*5113495bSYour Name 			Transmit Power in s6.2 format.
471*5113495bSYour Name 			In units of 0.25 dBm
472*5113495bSYour Name 
473*5113495bSYour Name 			Note that there is no Min value for this
474*5113495bSYour Name 			<legal all>
475*5113495bSYour Name */
476*5113495bSYour Name 
477*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_OFFSET                      0x0000000000000008
478*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_LSB                         56
479*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_MSB                         63
480*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_ALT_TX_PWR_1_MASK                        0xff00000000000000
481*5113495bSYour Name 
482*5113495bSYour Name 
483*5113495bSYour Name /* Description		AGGREGATION
484*5113495bSYour Name 
485*5113495bSYour Name 			Field only valid in case of pkt_type == 11n
486*5113495bSYour Name 
487*5113495bSYour Name 			<enum 0     mpdu> Indicates MPDU format. TXPCU will select
488*5113495bSYour Name 			 this setting if the CBF response only contains a single
489*5113495bSYour Name 			 segment
490*5113495bSYour Name 			<enum 1     a_mpdu> Indicates A-MPDU format. TXPCU will
491*5113495bSYour Name 			select this setting if the CBF response will contain two
492*5113495bSYour Name 			 or more segments
493*5113495bSYour Name 			<legal 0-1>
494*5113495bSYour Name */
495*5113495bSYour Name 
496*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_OFFSET                       0x0000000000000010
497*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_LSB                          0
498*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_MSB                          0
499*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_AGGREGATION_MASK                         0x0000000000000001
500*5113495bSYour Name 
501*5113495bSYour Name 
502*5113495bSYour Name /* Description		DOT11AX_BSS_COLOR_ID
503*5113495bSYour Name 
504*5113495bSYour Name 			BSS color of the nextwork to which this STA belongs.
505*5113495bSYour Name 			When generated by TXPCU, this field is set equal to: Dot11ax_received_Bss_color_id
506*5113495bSYour Name 
507*5113495bSYour Name 
508*5113495bSYour Name 			<legal all>
509*5113495bSYour Name */
510*5113495bSYour Name 
511*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_OFFSET              0x0000000000000010
512*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_LSB                 1
513*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_MSB                 6
514*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_BSS_COLOR_ID_MASK                0x000000000000007e
515*5113495bSYour Name 
516*5113495bSYour Name 
517*5113495bSYour Name /* Description		DOT11AX_SPATIAL_REUSE
518*5113495bSYour Name 
519*5113495bSYour Name 			This field is only valid for pkt_type == 11ax
520*5113495bSYour Name 
521*5113495bSYour Name 			Spatial re-use
522*5113495bSYour Name 			<legal all>
523*5113495bSYour Name */
524*5113495bSYour Name 
525*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_OFFSET             0x0000000000000010
526*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_LSB                7
527*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_MSB                10
528*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SPATIAL_REUSE_MASK               0x0000000000000780
529*5113495bSYour Name 
530*5113495bSYour Name 
531*5113495bSYour Name /* Description		DOT11AX_CP_LTF_SIZE
532*5113495bSYour Name 
533*5113495bSYour Name 			field is only valid for pkt_type == 11ax
534*5113495bSYour Name 
535*5113495bSYour Name 			Indicates the CP and HE-LTF type
536*5113495bSYour Name 
537*5113495bSYour Name 			<enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP
538*5113495bSYour Name 			<enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP
539*5113495bSYour Name 			<enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP
540*5113495bSYour Name 			<enum 3 FourX_LTF_0_8CP_3_2CP>
541*5113495bSYour Name 			When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
542*5113495bSYour Name 			When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
543*5113495bSYour Name 			In this scenario, Neither DCM nor STBC is applied to HE
544*5113495bSYour Name 			data field.
545*5113495bSYour Name 
546*5113495bSYour Name 			If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
547*5113495bSYour Name 			0      = 1xLTF + 0.4 usec
548*5113495bSYour Name 			1      = 2xLTF + 0.4 usec
549*5113495bSYour Name 			2~3 = Reserved
550*5113495bSYour Name 
551*5113495bSYour Name 			<legal all>
552*5113495bSYour Name */
553*5113495bSYour Name 
554*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_OFFSET               0x0000000000000010
555*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_LSB                  11
556*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_MSB                  12
557*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CP_LTF_SIZE_MASK                 0x0000000000001800
558*5113495bSYour Name 
559*5113495bSYour Name 
560*5113495bSYour Name /* Description		DOT11AX_DCM
561*5113495bSYour Name 
562*5113495bSYour Name 			field is only valid for pkt_type == 11ax
563*5113495bSYour Name 
564*5113495bSYour Name 			Indicates whether dual sub-carrier modulation is applied
565*5113495bSYour Name 
566*5113495bSYour Name 			0: No DCM
567*5113495bSYour Name 			1:DCM
568*5113495bSYour Name 			<legal all>
569*5113495bSYour Name */
570*5113495bSYour Name 
571*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_OFFSET                       0x0000000000000010
572*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_LSB                          13
573*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_MSB                          13
574*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DCM_MASK                         0x0000000000002000
575*5113495bSYour Name 
576*5113495bSYour Name 
577*5113495bSYour Name /* Description		DOT11AX_DOPPLER_INDICATION
578*5113495bSYour Name 
579*5113495bSYour Name 			field is only valid for pkt_type == 11ax
580*5113495bSYour Name 
581*5113495bSYour Name 			0: No Doppler support
582*5113495bSYour Name 			1: Doppler support
583*5113495bSYour Name 			<legal all>
584*5113495bSYour Name */
585*5113495bSYour Name 
586*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_OFFSET        0x0000000000000010
587*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_LSB           14
588*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_MSB           14
589*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DOPPLER_INDICATION_MASK          0x0000000000004000
590*5113495bSYour Name 
591*5113495bSYour Name 
592*5113495bSYour Name /* Description		DOT11AX_SU_EXTENDED
593*5113495bSYour Name 
594*5113495bSYour Name 			field is only valid for pkt_type == 11ax OR pkt_type ==
595*5113495bSYour Name 			11be
596*5113495bSYour Name 
597*5113495bSYour Name 			When set, the 11ax or 11be frame is of the extended range
598*5113495bSYour Name 			 format
599*5113495bSYour Name 			<legal all>
600*5113495bSYour Name */
601*5113495bSYour Name 
602*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_OFFSET               0x0000000000000010
603*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_LSB                  15
604*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_MSB                  15
605*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_SU_EXTENDED_MASK                 0x0000000000008000
606*5113495bSYour Name 
607*5113495bSYour Name 
608*5113495bSYour Name /* Description		DOT11AX_MIN_PACKET_EXTENSION
609*5113495bSYour Name 
610*5113495bSYour Name 			field is only valid for pkt_type == 11ax OR pkt_type ==
611*5113495bSYour Name 			11be
612*5113495bSYour Name 
613*5113495bSYour Name 			The min packet extension duration for this user.
614*5113495bSYour Name 			0: no extension
615*5113495bSYour Name 			1: 8us
616*5113495bSYour Name 			2: 16 us
617*5113495bSYour Name 			3: 20 us (only for .11be)
618*5113495bSYour Name 			<legal 0-3>
619*5113495bSYour Name */
620*5113495bSYour Name 
621*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_OFFSET      0x0000000000000010
622*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_LSB         16
623*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_MSB         17
624*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_MIN_PACKET_EXTENSION_MASK        0x0000000000030000
625*5113495bSYour Name 
626*5113495bSYour Name 
627*5113495bSYour Name /* Description		DOT11AX_PE_NSS
628*5113495bSYour Name 
629*5113495bSYour Name 			Number of active spatial streams during packet extension.
630*5113495bSYour Name 
631*5113495bSYour Name 
632*5113495bSYour Name 			<enum 0 1_spatial_stream>Single spatial stream
633*5113495bSYour Name 			<enum 1 2_spatial_streams>2 spatial streams
634*5113495bSYour Name 			<enum 2 3_spatial_streams>3 spatial streams
635*5113495bSYour Name 			<enum 3 4_spatial_streams>4 spatial streams
636*5113495bSYour Name 			<enum 4 5_spatial_streams>5 spatial streams
637*5113495bSYour Name 			<enum 5 6_spatial_streams>6 spatial streams
638*5113495bSYour Name 			<enum 6 7_spatial_streams>7 spatial streams
639*5113495bSYour Name 			<enum 7 8_spatial_streams>8 spatial streams
640*5113495bSYour Name */
641*5113495bSYour Name 
642*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_OFFSET                    0x0000000000000010
643*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_LSB                       18
644*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_MSB                       20
645*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_NSS_MASK                      0x00000000001c0000
646*5113495bSYour Name 
647*5113495bSYour Name 
648*5113495bSYour Name /* Description		DOT11AX_PE_CONTENT
649*5113495bSYour Name 
650*5113495bSYour Name 			Content of packet extension. Valid for all 11ax packets
651*5113495bSYour Name 			having packet extension
652*5113495bSYour Name 
653*5113495bSYour Name 			0-he_ltf, 1-last_data_symbol
654*5113495bSYour Name 			<legal all>
655*5113495bSYour Name */
656*5113495bSYour Name 
657*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_OFFSET                0x0000000000000010
658*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_LSB                   21
659*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_MSB                   21
660*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CONTENT_MASK                  0x0000000000200000
661*5113495bSYour Name 
662*5113495bSYour Name 
663*5113495bSYour Name /* Description		DOT11AX_PE_LTF_SIZE
664*5113495bSYour Name 
665*5113495bSYour Name 			LTF size to be used during packet extention. . This field
666*5113495bSYour Name 			 is valid for both FTM and non-FTM packets.
667*5113495bSYour Name 			0-1x
668*5113495bSYour Name 			1-2x (unsupported un HWK-1)
669*5113495bSYour Name 			2-4x (unsupported un HWK-1)
670*5113495bSYour Name 			<legal all>
671*5113495bSYour Name */
672*5113495bSYour Name 
673*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_OFFSET               0x0000000000000010
674*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_LSB                  22
675*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_MSB                  23
676*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_LTF_SIZE_MASK                 0x0000000000c00000
677*5113495bSYour Name 
678*5113495bSYour Name 
679*5113495bSYour Name /* Description		DOT11AX_CHAIN_CSD_EN
680*5113495bSYour Name 
681*5113495bSYour Name 			This field denotes whether to apply CSD on the preamble
682*5113495bSYour Name 			and data portion of the packet. This field is valid for
683*5113495bSYour Name 			all transmit packets
684*5113495bSYour Name 			0: disable per-chain csd
685*5113495bSYour Name 			1: enable per-chain csd
686*5113495bSYour Name 			<legal all>
687*5113495bSYour Name */
688*5113495bSYour Name 
689*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_OFFSET              0x0000000000000010
690*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_LSB                 24
691*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_MSB                 24
692*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_CHAIN_CSD_EN_MASK                0x0000000001000000
693*5113495bSYour Name 
694*5113495bSYour Name 
695*5113495bSYour Name /* Description		DOT11AX_PE_CHAIN_CSD_EN
696*5113495bSYour Name 
697*5113495bSYour Name 			This field denotes whether to apply CSD on the packet extension
698*5113495bSYour Name 			 portion of the packet. This field is valid for all 11ax
699*5113495bSYour Name 			 packets.
700*5113495bSYour Name 			0: disable per-chain csd
701*5113495bSYour Name 			1: enable per-chain csd
702*5113495bSYour Name 			<legal all>
703*5113495bSYour Name */
704*5113495bSYour Name 
705*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_OFFSET           0x0000000000000010
706*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_LSB              25
707*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_MSB              25
708*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_PE_CHAIN_CSD_EN_MASK             0x0000000002000000
709*5113495bSYour Name 
710*5113495bSYour Name 
711*5113495bSYour Name /* Description		DOT11AX_DL_UL_FLAG
712*5113495bSYour Name 
713*5113495bSYour Name 			field is only valid for pkt_type == 11ax
714*5113495bSYour Name 
715*5113495bSYour Name 			<enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
716*5113495bSYour Name 			<enum 1 DL_UL_FLAG_IS_UL>
717*5113495bSYour Name 
718*5113495bSYour Name 			<legal all>
719*5113495bSYour Name */
720*5113495bSYour Name 
721*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_OFFSET                0x0000000000000010
722*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_LSB                   26
723*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_MSB                   26
724*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_DL_UL_FLAG_MASK                  0x0000000004000000
725*5113495bSYour Name 
726*5113495bSYour Name 
727*5113495bSYour Name /* Description		RESERVED_4A
728*5113495bSYour Name 
729*5113495bSYour Name 			 <legal 0>
730*5113495bSYour Name */
731*5113495bSYour Name 
732*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_OFFSET                       0x0000000000000010
733*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_LSB                          27
734*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_MSB                          31
735*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_4A_MASK                         0x00000000f8000000
736*5113495bSYour Name 
737*5113495bSYour Name 
738*5113495bSYour Name /* Description		DOT11AX_EXT_RU_START_INDEX
739*5113495bSYour Name 
740*5113495bSYour Name 			field is only valid for pkt_type == 11ax and  Dot11ax_su_extended
741*5113495bSYour Name 			 == 1
742*5113495bSYour Name 
743*5113495bSYour Name 			RU Number to which User is assigned
744*5113495bSYour Name 
745*5113495bSYour Name 			The RU numbering bitwidth  is only enough to cover the 20MHz
746*5113495bSYour Name 			 BW that extended range allows
747*5113495bSYour Name 			<legal 0-8>
748*5113495bSYour Name */
749*5113495bSYour Name 
750*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_OFFSET        0x0000000000000010
751*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_LSB           32
752*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_MSB           35
753*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_START_INDEX_MASK          0x0000000f00000000
754*5113495bSYour Name 
755*5113495bSYour Name 
756*5113495bSYour Name /* Description		DOT11AX_EXT_RU_SIZE
757*5113495bSYour Name 
758*5113495bSYour Name 			field is only valid for pkt_type == 11ax and  Dot11ax_su_extended
759*5113495bSYour Name 			 == 1 or pkt_type == 11be and EHT_duplicate_mode == 1
760*5113495bSYour Name 
761*5113495bSYour Name 			The size of the RU for this user.
762*5113495bSYour Name 
763*5113495bSYour Name 			In case of EHT duplicate transmissions, this field indicates
764*5113495bSYour Name 			 the width of the actual content before duplication, e.g.
765*5113495bSYour Name 			a 40 MHz PPDU duplicated to 160 MHz will have the bandwidth
766*5113495bSYour Name 			 fields indicating 160 MHz and this field set to e-num 4
767*5113495bSYour Name 			 (RU_484).
768*5113495bSYour Name 
769*5113495bSYour Name 			<enum 0 RU_26>
770*5113495bSYour Name 			<enum 1 RU_52>
771*5113495bSYour Name 			<enum 2 RU_106>
772*5113495bSYour Name 			<enum 3 RU_242>
773*5113495bSYour Name 			<enum 4 RU_484>
774*5113495bSYour Name 			<enum 5 RU_996>
775*5113495bSYour Name 			<enum 6 RU_1992>
776*5113495bSYour Name 			<enum 7 RU_FULLBW> Set when the RU occupies the full packet
777*5113495bSYour Name 			 bandwidth
778*5113495bSYour Name 			<enum 8 RU_FULLBW_240> Set when the RU occupies the full
779*5113495bSYour Name 			 packet bandwidth
780*5113495bSYour Name 			<enum 9 RU_FULLBW_320> Set when the RU occupies the full
781*5113495bSYour Name 			 packet bandwidth
782*5113495bSYour Name 			<enum 10 RU_MULTI_LARGE> DO NOT USE
783*5113495bSYour Name 			<enum 11 RU_78> DO NOT USE
784*5113495bSYour Name 			<enum 12 RU_132> DO NOT USE
785*5113495bSYour Name 			<legal 0-12>
786*5113495bSYour Name */
787*5113495bSYour Name 
788*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_OFFSET               0x0000000000000010
789*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_LSB                  36
790*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_MSB                  39
791*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11AX_EXT_RU_SIZE_MASK                 0x000000f000000000
792*5113495bSYour Name 
793*5113495bSYour Name 
794*5113495bSYour Name /* Description		EHT_DUPLICATE_MODE
795*5113495bSYour Name 
796*5113495bSYour Name 			Field only valid for pkt_type == 11be
797*5113495bSYour Name 
798*5113495bSYour Name 			Indicates EHT duplicate modulation
799*5113495bSYour Name 
800*5113495bSYour Name 			<enum 0 eht_no_duplicate>
801*5113495bSYour Name 			<enum 1 eht_2x_duplicate>
802*5113495bSYour Name 			<enum 2 eht_4x_duplicate>
803*5113495bSYour Name 
804*5113495bSYour Name 			<legal 0-2>
805*5113495bSYour Name */
806*5113495bSYour Name 
807*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_OFFSET                0x0000000000000010
808*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_LSB                   40
809*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_MSB                   41
810*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_EHT_DUPLICATE_MODE_MASK                  0x0000030000000000
811*5113495bSYour Name 
812*5113495bSYour Name 
813*5113495bSYour Name /* Description		HE_SIGB_DCM
814*5113495bSYour Name 
815*5113495bSYour Name 			Indicates whether dual sub-carrier modulation is applied
816*5113495bSYour Name 			 to EHT-SIG
817*5113495bSYour Name 			<legal all>
818*5113495bSYour Name */
819*5113495bSYour Name 
820*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_OFFSET                       0x0000000000000010
821*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_LSB                          42
822*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_MSB                          42
823*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_DCM_MASK                         0x0000040000000000
824*5113495bSYour Name 
825*5113495bSYour Name 
826*5113495bSYour Name /* Description		HE_SIGB_0_MCS
827*5113495bSYour Name 
828*5113495bSYour Name 			Indicates the MCS of EHT-SIG
829*5113495bSYour Name 
830*5113495bSYour Name 			For details, refer to  MCS_TYPE description
831*5113495bSYour Name 			<legal all>
832*5113495bSYour Name */
833*5113495bSYour Name 
834*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_OFFSET                     0x0000000000000010
835*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_LSB                        43
836*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_MSB                        45
837*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_HE_SIGB_0_MCS_MASK                       0x0000380000000000
838*5113495bSYour Name 
839*5113495bSYour Name 
840*5113495bSYour Name /* Description		NUM_HE_SIGB_SYM
841*5113495bSYour Name 
842*5113495bSYour Name 			Indicates the number of EHT-SIG symbols
843*5113495bSYour Name 
844*5113495bSYour Name 			This field is 0-based with 0 indicating that 1 eht_sig symbol
845*5113495bSYour Name 			 needs to be transmitted.
846*5113495bSYour Name 			<legal all>
847*5113495bSYour Name */
848*5113495bSYour Name 
849*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_OFFSET                   0x0000000000000010
850*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_LSB                      46
851*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_MSB                      50
852*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_NUM_HE_SIGB_SYM_MASK                     0x0007c00000000000
853*5113495bSYour Name 
854*5113495bSYour Name 
855*5113495bSYour Name /* Description		REQUIRED_RESPONSE_TIME_SOURCE
856*5113495bSYour Name 
857*5113495bSYour Name 			<enum 0 reqd_resp_time_src_is_RXPCU> Typically from received
858*5113495bSYour Name 			 HT Control for sync MLO response
859*5113495bSYour Name 			<enum 1 reqd_resp_time_src_is_FW>
860*5113495bSYour Name 			Typically from 'PCU_PPDU_SETUP_INIT' for sync MLO response
861*5113495bSYour Name 			 to response
862*5113495bSYour Name 			<legal all>
863*5113495bSYour Name */
864*5113495bSYour Name 
865*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_OFFSET     0x0000000000000010
866*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_LSB        51
867*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_MSB        51
868*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_SOURCE_MASK       0x0008000000000000
869*5113495bSYour Name 
870*5113495bSYour Name 
871*5113495bSYour Name /* Description		RESERVED_5A
872*5113495bSYour Name 
873*5113495bSYour Name 			 <legal 0>
874*5113495bSYour Name */
875*5113495bSYour Name 
876*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_OFFSET                       0x0000000000000010
877*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_LSB                          52
878*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_MSB                          57
879*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_RESERVED_5A_MASK                         0x03f0000000000000
880*5113495bSYour Name 
881*5113495bSYour Name 
882*5113495bSYour Name /* Description		U_SIG_PUNCTURE_PATTERN_ENCODING
883*5113495bSYour Name 
884*5113495bSYour Name 			6-bit value copied from 'RX_RESPONSE_REQUIRED_INFO' and 'TX_CBF_INFO'
885*5113495bSYour Name 			to pass on to PDG
886*5113495bSYour Name 			<legal 0-29>
887*5113495bSYour Name */
888*5113495bSYour Name 
889*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET   0x0000000000000010
890*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB      58
891*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB      63
892*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK     0xfc00000000000000
893*5113495bSYour Name 
894*5113495bSYour Name 
895*5113495bSYour Name /* Description		MLO_STA_ID_DETAILS_RX
896*5113495bSYour Name 
897*5113495bSYour Name 			16-bi value copied from 'RX_RESPONSE_REQUIRED_INFO' to pass
898*5113495bSYour Name 			 on to PDG
899*5113495bSYour Name 
900*5113495bSYour Name 			Bits 10 and 11 are not valid, bits [9:0] reflect 'NSTR_MLO_STA_ID'
901*5113495bSYour Name 			from address search.
902*5113495bSYour Name 
903*5113495bSYour Name 			See definition of mlo_sta_id_details.
904*5113495bSYour Name */
905*5113495bSYour Name 
906*5113495bSYour Name 
907*5113495bSYour Name /* Description		NSTR_MLO_STA_ID
908*5113495bSYour Name 
909*5113495bSYour Name 			ID of peer participating in non-STR MLO
910*5113495bSYour Name */
911*5113495bSYour Name 
912*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_OFFSET 0x0000000000000018
913*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_LSB 0
914*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MSB 9
915*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MASK 0x00000000000003ff
916*5113495bSYour Name 
917*5113495bSYour Name 
918*5113495bSYour Name /* Description		BLOCK_SELF_ML_SYNC
919*5113495bSYour Name 
920*5113495bSYour Name 			Only valid for TX
921*5113495bSYour Name 
922*5113495bSYour Name 			When set, this provides an indication to block the peer
923*5113495bSYour Name 			for self-link.
924*5113495bSYour Name */
925*5113495bSYour Name 
926*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_OFFSET 0x0000000000000018
927*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_LSB 10
928*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MSB 10
929*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MASK 0x0000000000000400
930*5113495bSYour Name 
931*5113495bSYour Name 
932*5113495bSYour Name /* Description		BLOCK_PARTNER_ML_SYNC
933*5113495bSYour Name 
934*5113495bSYour Name 			Only valid for TX
935*5113495bSYour Name 
936*5113495bSYour Name 			When set, this provides an indication to block the peer
937*5113495bSYour Name 			for partner links.
938*5113495bSYour Name */
939*5113495bSYour Name 
940*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_OFFSET 0x0000000000000018
941*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_LSB 11
942*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MSB 11
943*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MASK 0x0000000000000800
944*5113495bSYour Name 
945*5113495bSYour Name 
946*5113495bSYour Name /* Description		NSTR_MLO_STA_ID_VALID
947*5113495bSYour Name 
948*5113495bSYour Name 			All the fields in this TLV are valid only if this bit is
949*5113495bSYour Name 			 set.
950*5113495bSYour Name */
951*5113495bSYour Name 
952*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_OFFSET 0x0000000000000018
953*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_LSB 12
954*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MSB 12
955*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MASK 0x0000000000001000
956*5113495bSYour Name 
957*5113495bSYour Name 
958*5113495bSYour Name /* Description		RESERVED_0A
959*5113495bSYour Name 
960*5113495bSYour Name 			<legal 0>
961*5113495bSYour Name */
962*5113495bSYour Name 
963*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_OFFSET 0x0000000000000018
964*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_LSB    13
965*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MSB    15
966*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MASK   0x000000000000e000
967*5113495bSYour Name 
968*5113495bSYour Name 
969*5113495bSYour Name /* Description		REQUIRED_RESPONSE_TIME
970*5113495bSYour Name 
971*5113495bSYour Name 			When non-zero, indicates that PDG shall pad the response
972*5113495bSYour Name 			 transmission to the indicated duration (in us)
973*5113495bSYour Name */
974*5113495bSYour Name 
975*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_OFFSET            0x0000000000000018
976*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_LSB               16
977*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_MSB               27
978*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_REQUIRED_RESPONSE_TIME_MASK              0x000000000fff0000
979*5113495bSYour Name 
980*5113495bSYour Name 
981*5113495bSYour Name /* Description		DOT11BE_PARAMS_PLACEHOLDER
982*5113495bSYour Name 
983*5113495bSYour Name 			4 bytes for use as placeholders for 'Dot11be_*' parameters
984*5113495bSYour Name 
985*5113495bSYour Name */
986*5113495bSYour Name 
987*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_OFFSET        0x0000000000000018
988*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_LSB           28
989*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_MSB           31
990*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_RATE_INFO_DOT11BE_PARAMS_PLACEHOLDER_MASK          0x00000000f0000000
991*5113495bSYour Name 
992*5113495bSYour Name 
993*5113495bSYour Name /* Description		HW_RESPONSE_TX_DURATION
994*5113495bSYour Name 
995*5113495bSYour Name 			The amount of time the transmission of the HW response will
996*5113495bSYour Name 			 take (in us)
997*5113495bSYour Name 
998*5113495bSYour Name 			Used for coex.....
999*5113495bSYour Name 
1000*5113495bSYour Name 			This field also represents the 'alt_hw_response_tx_duration'.
1001*5113495bSYour Name 			Note that this implies that no different duration can be
1002*5113495bSYour Name 			 programmed for the default and alt setting. SW should program
1003*5113495bSYour Name 			 the worst case value in the RXPCU table in case they are
1004*5113495bSYour Name 			 different.
1005*5113495bSYour Name 			<legal all>
1006*5113495bSYour Name */
1007*5113495bSYour Name 
1008*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_OFFSET                                 0x0000000000000018
1009*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_LSB                                    32
1010*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_MSB                                    47
1011*5113495bSYour Name #define PDG_RESPONSE_HW_RESPONSE_TX_DURATION_MASK                                   0x0000ffff00000000
1012*5113495bSYour Name 
1013*5113495bSYour Name 
1014*5113495bSYour Name /* Description		RX_DURATION_FIELD
1015*5113495bSYour Name 
1016*5113495bSYour Name 			The duration field in the received frame.
1017*5113495bSYour Name 			PDG uses this field to calculate what the duration field
1018*5113495bSYour Name 			 value should be in the response frame.
1019*5113495bSYour Name 			This is returned to the TX PCU
1020*5113495bSYour Name 
1021*5113495bSYour Name 			This field is used in 11ah mode as well
1022*5113495bSYour Name 			<legal all>
1023*5113495bSYour Name */
1024*5113495bSYour Name 
1025*5113495bSYour Name #define PDG_RESPONSE_RX_DURATION_FIELD_OFFSET                                       0x0000000000000018
1026*5113495bSYour Name #define PDG_RESPONSE_RX_DURATION_FIELD_LSB                                          48
1027*5113495bSYour Name #define PDG_RESPONSE_RX_DURATION_FIELD_MSB                                          63
1028*5113495bSYour Name #define PDG_RESPONSE_RX_DURATION_FIELD_MASK                                         0xffff000000000000
1029*5113495bSYour Name 
1030*5113495bSYour Name 
1031*5113495bSYour Name /* Description		PUNCTURED_RESPONSE_TRANSMISSION
1032*5113495bSYour Name 
1033*5113495bSYour Name 			When set, this response frame will be transmitted using
1034*5113495bSYour Name 			a puncture transmit pattern that is indicated in the cca_subband_channel_bonding_mask
1035*5113495bSYour Name 			 field.
1036*5113495bSYour Name 
1037*5113495bSYour Name 			Typically used in the Response to response transmissions.
1038*5113495bSYour Name 
1039*5113495bSYour Name 			<legal all>
1040*5113495bSYour Name */
1041*5113495bSYour Name 
1042*5113495bSYour Name #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_OFFSET                         0x0000000000000020
1043*5113495bSYour Name #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_LSB                            0
1044*5113495bSYour Name #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_MSB                            0
1045*5113495bSYour Name #define PDG_RESPONSE_PUNCTURED_RESPONSE_TRANSMISSION_MASK                           0x0000000000000001
1046*5113495bSYour Name 
1047*5113495bSYour Name 
1048*5113495bSYour Name /* Description		CCA_SUBBAND_CHANNEL_BONDING_MASK
1049*5113495bSYour Name 
1050*5113495bSYour Name 			Field only valid when 'Punctured_response_transmission'
1051*5113495bSYour Name 			is set
1052*5113495bSYour Name 
1053*5113495bSYour Name 			Indicates which 20 Mhz channels will be used for the transmission.
1054*5113495bSYour Name 
1055*5113495bSYour Name 
1056*5113495bSYour Name 			Bit 0: primary 20 Mhz
1057*5113495bSYour Name 			Bit 1: secondary 20 MHz.
1058*5113495bSYour Name 			Etc.
1059*5113495bSYour Name 
1060*5113495bSYour Name 			<legal 1-65535>
1061*5113495bSYour Name */
1062*5113495bSYour Name 
1063*5113495bSYour Name #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_OFFSET                        0x0000000000000020
1064*5113495bSYour Name #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_LSB                           1
1065*5113495bSYour Name #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_MSB                           16
1066*5113495bSYour Name #define PDG_RESPONSE_CCA_SUBBAND_CHANNEL_BONDING_MASK_MASK                          0x000000000001fffe
1067*5113495bSYour Name 
1068*5113495bSYour Name 
1069*5113495bSYour Name /* Description		SCRAMBLER_SEED_OVERRIDE
1070*5113495bSYour Name 
1071*5113495bSYour Name 			Used in dynamic BW RTS-CTS, BAR -BA, etc. kind of exchanges.
1072*5113495bSYour Name 
1073*5113495bSYour Name 
1074*5113495bSYour Name 			0: PDG will use all 7 bits of the scrambler seed.
1075*5113495bSYour Name 			1: PDG will override bits [6:5] of the  scrambler_seed
1076*5113495bSYour Name 			with BW information.
1077*5113495bSYour Name 			2: PDG will override bits [6:5] and bit [3] of the  scrambler_seed
1078*5113495bSYour Name 			  with BW information for .11be dynamic BW procedure.
1079*5113495bSYour Name 
1080*5113495bSYour Name 			<legal 0-2>
1081*5113495bSYour Name */
1082*5113495bSYour Name 
1083*5113495bSYour Name #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_OFFSET                                 0x0000000000000020
1084*5113495bSYour Name #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_LSB                                    17
1085*5113495bSYour Name #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_MSB                                    18
1086*5113495bSYour Name #define PDG_RESPONSE_SCRAMBLER_SEED_OVERRIDE_MASK                                   0x0000000000060000
1087*5113495bSYour Name 
1088*5113495bSYour Name 
1089*5113495bSYour Name /* Description		RESPONSE_DENSITY_VALID
1090*5113495bSYour Name 
1091*5113495bSYour Name 			When set, field Response_density has valid info. TXPCU sets
1092*5113495bSYour Name 			 this for multi segment CBF response generation.
1093*5113495bSYour Name 			<legal all>
1094*5113495bSYour Name */
1095*5113495bSYour Name 
1096*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_OFFSET                                  0x0000000000000020
1097*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_LSB                                     19
1098*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_MSB                                     19
1099*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_VALID_MASK                                    0x0000000000080000
1100*5113495bSYour Name 
1101*5113495bSYour Name 
1102*5113495bSYour Name /* Description		RESPONSE_DENSITY
1103*5113495bSYour Name 
1104*5113495bSYour Name 			Field only valid when Response_density_valid is set.
1105*5113495bSYour Name 			When Response_density_valid is NOT set, this field is set
1106*5113495bSYour Name 			 to 0
1107*5113495bSYour Name 
1108*5113495bSYour Name 			The MPDU density is required for the response frame (in
1109*5113495bSYour Name 			us). PDG will translate this value into minimum number of
1110*5113495bSYour Name 			 words per MPDU and give this back to TXPCU in TLV PCU_PPDU_SETUP_USER
1111*5113495bSYour Name 			 field min_mpdu_spacing
1112*5113495bSYour Name 
1113*5113495bSYour Name 			TXPCU gets this value from a register.
1114*5113495bSYour Name 			<legal all>
1115*5113495bSYour Name */
1116*5113495bSYour Name 
1117*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_OFFSET                                        0x0000000000000020
1118*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_LSB                                           20
1119*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_MSB                                           24
1120*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_DENSITY_MASK                                          0x0000000001f00000
1121*5113495bSYour Name 
1122*5113495bSYour Name 
1123*5113495bSYour Name /* Description		MORE_DATA
1124*5113495bSYour Name 
1125*5113495bSYour Name 			This setting is used for
1126*5113495bSYour Name 			NDP ACK response frames
1127*5113495bSYour Name 			NDP Modified ACK response frames
1128*5113495bSYour Name 			The value of this field comes from a register programming.
1129*5113495bSYour Name 			The register resides in TxPCU and is programmed by SW within
1130*5113495bSYour Name 			 SIFS response time when responding with NDP ACK or NDP
1131*5113495bSYour Name 			Modified ACK.
1132*5113495bSYour Name 			<legal all>
1133*5113495bSYour Name */
1134*5113495bSYour Name 
1135*5113495bSYour Name #define PDG_RESPONSE_MORE_DATA_OFFSET                                               0x0000000000000020
1136*5113495bSYour Name #define PDG_RESPONSE_MORE_DATA_LSB                                                  25
1137*5113495bSYour Name #define PDG_RESPONSE_MORE_DATA_MSB                                                  25
1138*5113495bSYour Name #define PDG_RESPONSE_MORE_DATA_MASK                                                 0x0000000002000000
1139*5113495bSYour Name 
1140*5113495bSYour Name 
1141*5113495bSYour Name /* Description		DURATION_INDICATION
1142*5113495bSYour Name 
1143*5113495bSYour Name 			This setting is used for
1144*5113495bSYour Name 			NDP ACK response frames
1145*5113495bSYour Name 			NDP Modified ACK response frames
1146*5113495bSYour Name 			The value of this field comes from a register programming.
1147*5113495bSYour Name 			The register resides in TxPCU and is programmed by SW within
1148*5113495bSYour Name 			 SIFS response time when responding with NDP ACK or NDP
1149*5113495bSYour Name 			Modified ACK.
1150*5113495bSYour Name 			<legal all>
1151*5113495bSYour Name */
1152*5113495bSYour Name 
1153*5113495bSYour Name #define PDG_RESPONSE_DURATION_INDICATION_OFFSET                                     0x0000000000000020
1154*5113495bSYour Name #define PDG_RESPONSE_DURATION_INDICATION_LSB                                        26
1155*5113495bSYour Name #define PDG_RESPONSE_DURATION_INDICATION_MSB                                        26
1156*5113495bSYour Name #define PDG_RESPONSE_DURATION_INDICATION_MASK                                       0x0000000004000000
1157*5113495bSYour Name 
1158*5113495bSYour Name 
1159*5113495bSYour Name /* Description		RELAYED_FRAME
1160*5113495bSYour Name 
1161*5113495bSYour Name 			This setting is used to fill the field in the SIG preamble
1162*5113495bSYour Name 			 for
1163*5113495bSYour Name 			NDP ACK response frame
1164*5113495bSYour Name 			This feature is not supported and TxPCU should program this
1165*5113495bSYour Name 			 field to Zero. PDG will ignore this field.
1166*5113495bSYour Name 			<legal all>
1167*5113495bSYour Name */
1168*5113495bSYour Name 
1169*5113495bSYour Name #define PDG_RESPONSE_RELAYED_FRAME_OFFSET                                           0x0000000000000020
1170*5113495bSYour Name #define PDG_RESPONSE_RELAYED_FRAME_LSB                                              27
1171*5113495bSYour Name #define PDG_RESPONSE_RELAYED_FRAME_MSB                                              27
1172*5113495bSYour Name #define PDG_RESPONSE_RELAYED_FRAME_MASK                                             0x0000000008000000
1173*5113495bSYour Name 
1174*5113495bSYour Name 
1175*5113495bSYour Name /* Description		ADDRESS_INDICATOR
1176*5113495bSYour Name 
1177*5113495bSYour Name 			This bit is used to fill the address_indicator field in
1178*5113495bSYour Name 			the SIG preamble of NDP CTS response frame.
1179*5113495bSYour Name 
1180*5113495bSYour Name 			This feature is not supported and TxPCU should program this
1181*5113495bSYour Name 			 field to Zero. PDG will use this field to populate the
1182*5113495bSYour Name 			NDP response frame
1183*5113495bSYour Name 			<legal all>
1184*5113495bSYour Name */
1185*5113495bSYour Name 
1186*5113495bSYour Name #define PDG_RESPONSE_ADDRESS_INDICATOR_OFFSET                                       0x0000000000000020
1187*5113495bSYour Name #define PDG_RESPONSE_ADDRESS_INDICATOR_LSB                                          28
1188*5113495bSYour Name #define PDG_RESPONSE_ADDRESS_INDICATOR_MSB                                          28
1189*5113495bSYour Name #define PDG_RESPONSE_ADDRESS_INDICATOR_MASK                                         0x0000000010000000
1190*5113495bSYour Name 
1191*5113495bSYour Name 
1192*5113495bSYour Name /* Description		BANDWIDTH
1193*5113495bSYour Name 
1194*5113495bSYour Name 			Packet bandwidth:
1195*5113495bSYour Name 
1196*5113495bSYour Name 			<enum 0 20_mhz>20 Mhz BW
1197*5113495bSYour Name 			<enum 1 40_mhz>40 Mhz BW
1198*5113495bSYour Name 			<enum 2 80_mhz>80 Mhz BW
1199*5113495bSYour Name 			<enum 3 160_mhz>160 Mhz BW
1200*5113495bSYour Name 			<enum 4 320_mhz>320 Mhz BW
1201*5113495bSYour Name 			<enum 5 240_mhz>240 Mhz BW
1202*5113495bSYour Name */
1203*5113495bSYour Name 
1204*5113495bSYour Name #define PDG_RESPONSE_BANDWIDTH_OFFSET                                               0x0000000000000020
1205*5113495bSYour Name #define PDG_RESPONSE_BANDWIDTH_LSB                                                  29
1206*5113495bSYour Name #define PDG_RESPONSE_BANDWIDTH_MSB                                                  31
1207*5113495bSYour Name #define PDG_RESPONSE_BANDWIDTH_MASK                                                 0x00000000e0000000
1208*5113495bSYour Name 
1209*5113495bSYour Name 
1210*5113495bSYour Name /* Description		ACK_ID
1211*5113495bSYour Name 
1212*5113495bSYour Name 			ACK_ID in NDP_ACK frames, NDP Modified ACK frames
1213*5113495bSYour Name 
1214*5113495bSYour Name 			For BW > 1MHz
1215*5113495bSYour Name 			      [15:0] = ack_id
1216*5113495bSYour Name 
1217*5113495bSYour Name 			For BW = 1MHz
1218*5113495bSYour Name 
1219*5113495bSYour Name 			     [8:0] = ack_id
1220*5113495bSYour Name 			     [15:9] = Reserved
1221*5113495bSYour Name 			For NDP BA
1222*5113495bSYour Name 			If BW=1MHz
1223*5113495bSYour Name 			     [1:0] = Block ACK ID
1224*5113495bSYour Name 			     [15:2] = Reserved
1225*5113495bSYour Name 
1226*5113495bSYour Name 			If BW>1MHz
1227*5113495bSYour Name 			     [5:0] = Block ACK ID
1228*5113495bSYour Name 			     [15:2] = Reserved
1229*5113495bSYour Name 			<legal all>
1230*5113495bSYour Name */
1231*5113495bSYour Name 
1232*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_OFFSET                                                  0x0000000000000020
1233*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_LSB                                                     32
1234*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_MSB                                                     47
1235*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_MASK                                                    0x0000ffff00000000
1236*5113495bSYour Name 
1237*5113495bSYour Name 
1238*5113495bSYour Name /* Description		BLOCK_ACK_BITMAP
1239*5113495bSYour Name 
1240*5113495bSYour Name 			Block Ack bitmap field for generating the NDP BA frames
1241*5113495bSYour Name 			in 1MHz and >= 2MHz
1242*5113495bSYour Name 			<legal all>
1243*5113495bSYour Name */
1244*5113495bSYour Name 
1245*5113495bSYour Name #define PDG_RESPONSE_BLOCK_ACK_BITMAP_OFFSET                                        0x0000000000000020
1246*5113495bSYour Name #define PDG_RESPONSE_BLOCK_ACK_BITMAP_LSB                                           48
1247*5113495bSYour Name #define PDG_RESPONSE_BLOCK_ACK_BITMAP_MSB                                           63
1248*5113495bSYour Name #define PDG_RESPONSE_BLOCK_ACK_BITMAP_MASK                                          0xffff000000000000
1249*5113495bSYour Name 
1250*5113495bSYour Name 
1251*5113495bSYour Name /* Description		RESPONSE_FRAME_TYPE
1252*5113495bSYour Name 
1253*5113495bSYour Name 			Coex related field
1254*5113495bSYour Name 			<enum 0 Non_11ah_ACK >
1255*5113495bSYour Name 			<enum 1 Non_11ah_BA >  also used for M-BA
1256*5113495bSYour Name 			<enum 2 Non_11ah_CTS >
1257*5113495bSYour Name 			<enum 3 AH_NDP_CTS>
1258*5113495bSYour Name 			<enum 4 AH_NDP_ACK>
1259*5113495bSYour Name 			<enum 5 AH_NDP_BA>
1260*5113495bSYour Name 			<enum 6 AH_NDP_MOD_ACK>
1261*5113495bSYour Name 			<enum 7 AH_Normal_ACK>
1262*5113495bSYour Name 			<enum 8 AH_Normal_BA>
1263*5113495bSYour Name 			<enum 9  RTT_ACK>
1264*5113495bSYour Name 			<enum 10 CBF_RESPONSE>
1265*5113495bSYour Name 			<enum 11 MBA> This can be a multi STA BA or multi TID BA
1266*5113495bSYour Name 
1267*5113495bSYour Name 			<enum 12 Ranging_NDP>
1268*5113495bSYour Name 			<enum 13 LMR_RESPONSE> Ranging NDP response followed by
1269*5113495bSYour Name 			LMR response for Rx ranging NDPA followed by NDP
1270*5113495bSYour Name 
1271*5113495bSYour Name 			<legal 0-13>
1272*5113495bSYour Name */
1273*5113495bSYour Name 
1274*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_OFFSET                                     0x0000000000000028
1275*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_LSB                                        0
1276*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_MSB                                        3
1277*5113495bSYour Name #define PDG_RESPONSE_RESPONSE_FRAME_TYPE_MASK                                       0x000000000000000f
1278*5113495bSYour Name 
1279*5113495bSYour Name 
1280*5113495bSYour Name /* Description		ACK_ID_EXT
1281*5113495bSYour Name 
1282*5113495bSYour Name 			This is populated by TxPCU from the RX_RESPONSE_REQUIRED_INFO.ack_id_ext.
1283*5113495bSYour Name 
1284*5113495bSYour Name */
1285*5113495bSYour Name 
1286*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_EXT_OFFSET                                              0x0000000000000028
1287*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_EXT_LSB                                                 4
1288*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_EXT_MSB                                                 13
1289*5113495bSYour Name #define PDG_RESPONSE_ACK_ID_EXT_MASK                                                0x0000000000003ff0
1290*5113495bSYour Name 
1291*5113495bSYour Name 
1292*5113495bSYour Name /* Description		FTM_EN
1293*5113495bSYour Name 
1294*5113495bSYour Name 			This field is set to 1 if the response packet is either
1295*5113495bSYour Name 			an FTM_1 or an FTM_2 packet or an HE-Ranging NDP (11az).
1296*5113495bSYour Name 
1297*5113495bSYour Name 
1298*5113495bSYour Name 			0: non-FTM frame
1299*5113495bSYour Name 			1: FTM or HE-Randing NDP Frame
1300*5113495bSYour Name 			<legal all>
1301*5113495bSYour Name */
1302*5113495bSYour Name 
1303*5113495bSYour Name #define PDG_RESPONSE_FTM_EN_OFFSET                                                  0x0000000000000028
1304*5113495bSYour Name #define PDG_RESPONSE_FTM_EN_LSB                                                     14
1305*5113495bSYour Name #define PDG_RESPONSE_FTM_EN_MSB                                                     14
1306*5113495bSYour Name #define PDG_RESPONSE_FTM_EN_MASK                                                    0x0000000000004000
1307*5113495bSYour Name 
1308*5113495bSYour Name 
1309*5113495bSYour Name /* Description		GROUP_ID
1310*5113495bSYour Name 
1311*5113495bSYour Name 			Specifies the Group ID of response frames transmitted at
1312*5113495bSYour Name 			 VHT rates for MU transmissions. This filed applies to both
1313*5113495bSYour Name 			 non-11ah and 11ah modes.
1314*5113495bSYour Name */
1315*5113495bSYour Name 
1316*5113495bSYour Name #define PDG_RESPONSE_GROUP_ID_OFFSET                                                0x0000000000000028
1317*5113495bSYour Name #define PDG_RESPONSE_GROUP_ID_LSB                                                   15
1318*5113495bSYour Name #define PDG_RESPONSE_GROUP_ID_MSB                                                   20
1319*5113495bSYour Name #define PDG_RESPONSE_GROUP_ID_MASK                                                  0x00000000001f8000
1320*5113495bSYour Name 
1321*5113495bSYour Name 
1322*5113495bSYour Name /* Description		STA_PARTIAL_AID
1323*5113495bSYour Name 
1324*5113495bSYour Name 			In 11AH mode of Operation:
1325*5113495bSYour Name 
1326*5113495bSYour Name 			This field is used to populate the ID field in the SIG PPDUs
1327*5113495bSYour Name 			 of BW>1MHz and non-NDP frames.  For example, the use case
1328*5113495bSYour Name 			 would be in a Speed Frame Exchange, we may be generating
1329*5113495bSYour Name 			 the SIG PPDU in response and this field is needed to populate
1330*5113495bSYour Name 			 the ID field in the SIGA preamble . This value is based
1331*5113495bSYour Name 			 on the Table provided by 9.17b section of the Draft P802.11ah_D1.1
1332*5113495bSYour Name 			 Specification
1333*5113495bSYour Name 
1334*5113495bSYour Name 			In 11AH mode of Operation:
1335*5113495bSYour Name 
1336*5113495bSYour Name 			This field is also used to populate the field of RA/Parial_BSSID
1337*5113495bSYour Name 			 in the NDP CTS response frames In non-11AH mode:
1338*5113495bSYour Name 
1339*5113495bSYour Name 			In non-11AH mode of Operation:
1340*5113495bSYour Name 
1341*5113495bSYour Name 			Specifies the partial AID of response frames transmitted
1342*5113495bSYour Name 			 at VHT rates.
1343*5113495bSYour Name 			<legal all>
1344*5113495bSYour Name */
1345*5113495bSYour Name 
1346*5113495bSYour Name #define PDG_RESPONSE_STA_PARTIAL_AID_OFFSET                                         0x0000000000000028
1347*5113495bSYour Name #define PDG_RESPONSE_STA_PARTIAL_AID_LSB                                            21
1348*5113495bSYour Name #define PDG_RESPONSE_STA_PARTIAL_AID_MSB                                            31
1349*5113495bSYour Name #define PDG_RESPONSE_STA_PARTIAL_AID_MASK                                           0x00000000ffe00000
1350*5113495bSYour Name 
1351*5113495bSYour Name 
1352*5113495bSYour Name /* Description		NDP_BA_START_SEQ_CTRL
1353*5113495bSYour Name 
1354*5113495bSYour Name 			Starting Sequence Control  - Sequence number of the first
1355*5113495bSYour Name 			 MPDU in the frame soliciting the Block Ack.
1356*5113495bSYour Name */
1357*5113495bSYour Name 
1358*5113495bSYour Name #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_OFFSET                                   0x0000000000000028
1359*5113495bSYour Name #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_LSB                                      32
1360*5113495bSYour Name #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_MSB                                      43
1361*5113495bSYour Name #define PDG_RESPONSE_NDP_BA_START_SEQ_CTRL_MASK                                     0x00000fff00000000
1362*5113495bSYour Name 
1363*5113495bSYour Name 
1364*5113495bSYour Name /* Description		ACTIVE_CHANNEL
1365*5113495bSYour Name 
1366*5113495bSYour Name 			This field indicates the active frequency band when the
1367*5113495bSYour Name 			packet bandwidth is less than the channel bandwidth. For
1368*5113495bSYour Name 			 non 11ax packets this is same as the primary channel
1369*5113495bSYour Name 			<legal all>
1370*5113495bSYour Name */
1371*5113495bSYour Name 
1372*5113495bSYour Name #define PDG_RESPONSE_ACTIVE_CHANNEL_OFFSET                                          0x0000000000000028
1373*5113495bSYour Name #define PDG_RESPONSE_ACTIVE_CHANNEL_LSB                                             44
1374*5113495bSYour Name #define PDG_RESPONSE_ACTIVE_CHANNEL_MSB                                             46
1375*5113495bSYour Name #define PDG_RESPONSE_ACTIVE_CHANNEL_MASK                                            0x0000700000000000
1376*5113495bSYour Name 
1377*5113495bSYour Name 
1378*5113495bSYour Name /* Description		TXOP_DURATION_ALL_ONES
1379*5113495bSYour Name 
1380*5113495bSYour Name 			When set, either the TXOP_DURATION of the received frame
1381*5113495bSYour Name 			 was set to all 1s or there is a BSS color collision. The
1382*5113495bSYour Name 			 TXOP_DURATION of the transmit response should be forced
1383*5113495bSYour Name 			 to all 1s.
1384*5113495bSYour Name 
1385*5113495bSYour Name 			<legal all>
1386*5113495bSYour Name */
1387*5113495bSYour Name 
1388*5113495bSYour Name #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_OFFSET                                  0x0000000000000028
1389*5113495bSYour Name #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_LSB                                     47
1390*5113495bSYour Name #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_MSB                                     47
1391*5113495bSYour Name #define PDG_RESPONSE_TXOP_DURATION_ALL_ONES_MASK                                    0x0000800000000000
1392*5113495bSYour Name 
1393*5113495bSYour Name 
1394*5113495bSYour Name /* Description		FRAME_LENGTH
1395*5113495bSYour Name 
1396*5113495bSYour Name 			The response frame length in bytes
1397*5113495bSYour Name 			(This includes the FCS field)
1398*5113495bSYour Name 			<legal all>
1399*5113495bSYour Name */
1400*5113495bSYour Name 
1401*5113495bSYour Name #define PDG_RESPONSE_FRAME_LENGTH_OFFSET                                            0x0000000000000028
1402*5113495bSYour Name #define PDG_RESPONSE_FRAME_LENGTH_LSB                                               48
1403*5113495bSYour Name #define PDG_RESPONSE_FRAME_LENGTH_MSB                                               63
1404*5113495bSYour Name #define PDG_RESPONSE_FRAME_LENGTH_MASK                                              0xffff000000000000
1405*5113495bSYour Name 
1406*5113495bSYour Name 
1407*5113495bSYour Name 
1408*5113495bSYour Name #endif   // PDG_RESPONSE
1409