xref: /wlan-driver/fw-api/hw/qcn6432/tx_cbf_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef _TX_CBF_INFO_H_
18 #define _TX_CBF_INFO_H_
19 #if !defined(__ASSEMBLER__)
20 #endif
21 
22 #define NUM_OF_DWORDS_TX_CBF_INFO 16
23 
24 #define NUM_OF_QWORDS_TX_CBF_INFO 8
25 
26 
27 struct tx_cbf_info {
28 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
29              uint32_t sw_peer_id                                              : 16, // [15:0]
30                       pre_cbf_duration                                        : 16; // [31:16]
31              uint32_t brpoll_info_valid                                       :  1, // [0:0]
32                       trigger_brpoll_info_valid                               :  1, // [1:1]
33                       npda_info_11ac_valid                                    :  1, // [2:2]
34                       npda_info_11ax_valid                                    :  1, // [3:3]
35                       dot11ax_su_extended                                     :  1, // [4:4]
36                       bandwidth                                               :  3, // [7:5]
37                       brpoll_info                                             :  8, // [15:8]
38                       cbf_response_table_base_index                           :  8, // [23:16]
39                       peer_index                                              :  3, // [26:24]
40                       pkt_type                                                :  4, // [30:27]
41                       txop_duration_all_ones                                  :  1; // [31:31]
42              uint32_t trigger_brpoll_common_info_15_0                         : 16, // [15:0]
43                       trigger_brpoll_common_info_31_16                        : 16; // [31:16]
44              uint32_t trigger_brpoll_user_info_15_0                           : 16, // [15:0]
45                       trigger_brpoll_user_info_31_16                          : 16; // [31:16]
46              uint32_t addr1_31_0                                              : 32; // [31:0]
47              uint32_t addr1_47_32                                             : 16, // [15:0]
48                       addr2_15_0                                              : 16; // [31:16]
49              uint32_t addr2_47_16                                             : 32; // [31:0]
50              uint32_t addr3_31_0                                              : 32; // [31:0]
51              uint32_t addr3_47_32                                             : 16, // [15:0]
52                       sta_partial_aid                                         : 11, // [26:16]
53                       reserved_8a                                             :  4, // [30:27]
54                       cbf_resp_pwr_mgmt                                       :  1; // [31:31]
55              uint32_t group_id                                                :  6, // [5:0]
56                       rssi_comb                                               :  8, // [13:6]
57                       reserved_9a                                             :  2, // [15:14]
58                       vht_ndpa_sta_info                                       : 16; // [31:16]
59              uint32_t he_eht_sta_info_15_0                                    : 16, // [15:0]
60                       he_eht_sta_info_31_16                                   : 16; // [31:16]
61              uint32_t dot11ax_received_format_indication                      :  1, // [0:0]
62                       dot11ax_received_dl_ul_flag                             :  1, // [1:1]
63                       dot11ax_received_bss_color_id                           :  6, // [7:2]
64                       dot11ax_received_spatial_reuse                          :  4, // [11:8]
65                       dot11ax_received_cp_size                                :  2, // [13:12]
66                       dot11ax_received_ltf_size                               :  2, // [15:14]
67                       dot11ax_received_coding                                 :  1, // [16:16]
68                       dot11ax_received_dcm                                    :  1, // [17:17]
69                       dot11ax_received_doppler_indication                     :  1, // [18:18]
70                       dot11ax_received_ext_ru_size                            :  4, // [22:19]
71                       dot11ax_dl_ul_flag                                      :  1, // [23:23]
72                       reserved_11a                                            :  8; // [31:24]
73              uint32_t sw_response_frame_length                                : 16, // [15:0]
74                       sw_response_tlv_from_crypto                             :  1, // [16:16]
75                       wait_sifs_config_valid                                  :  1, // [17:17]
76                       wait_sifs                                               :  2, // [19:18]
77                       ranging                                                 :  1, // [20:20]
78                       secure                                                  :  1, // [21:21]
79                       tb_ranging_response_required                            :  2, // [23:22]
80                       reserved_12a                                            :  2, // [25:24]
81                       u_sig_puncture_pattern_encoding                         :  6; // [31:26]
82              uint32_t dot11be_puncture_bitmap                                 : 16, // [15:0]
83                       dot11be_response                                        :  1, // [16:16]
84                       punctured_response                                      :  1, // [17:17]
85                       npda_info_11be_valid                                    :  1, // [18:18]
86                       eht_duplicate_mode                                      :  2, // [20:19]
87                       reserved_13a                                            : 11; // [31:21]
88              uint32_t eht_sta_info_39_32                                      :  8, // [7:0]
89                       reserved_14a                                            : 24; // [31:8]
90              uint32_t tlv64_padding                                           : 32; // [31:0]
91 #else
92              uint32_t pre_cbf_duration                                        : 16, // [31:16]
93                       sw_peer_id                                              : 16; // [15:0]
94              uint32_t txop_duration_all_ones                                  :  1, // [31:31]
95                       pkt_type                                                :  4, // [30:27]
96                       peer_index                                              :  3, // [26:24]
97                       cbf_response_table_base_index                           :  8, // [23:16]
98                       brpoll_info                                             :  8, // [15:8]
99                       bandwidth                                               :  3, // [7:5]
100                       dot11ax_su_extended                                     :  1, // [4:4]
101                       npda_info_11ax_valid                                    :  1, // [3:3]
102                       npda_info_11ac_valid                                    :  1, // [2:2]
103                       trigger_brpoll_info_valid                               :  1, // [1:1]
104                       brpoll_info_valid                                       :  1; // [0:0]
105              uint32_t trigger_brpoll_common_info_31_16                        : 16, // [31:16]
106                       trigger_brpoll_common_info_15_0                         : 16; // [15:0]
107              uint32_t trigger_brpoll_user_info_31_16                          : 16, // [31:16]
108                       trigger_brpoll_user_info_15_0                           : 16; // [15:0]
109              uint32_t addr1_31_0                                              : 32; // [31:0]
110              uint32_t addr2_15_0                                              : 16, // [31:16]
111                       addr1_47_32                                             : 16; // [15:0]
112              uint32_t addr2_47_16                                             : 32; // [31:0]
113              uint32_t addr3_31_0                                              : 32; // [31:0]
114              uint32_t cbf_resp_pwr_mgmt                                       :  1, // [31:31]
115                       reserved_8a                                             :  4, // [30:27]
116                       sta_partial_aid                                         : 11, // [26:16]
117                       addr3_47_32                                             : 16; // [15:0]
118              uint32_t vht_ndpa_sta_info                                       : 16, // [31:16]
119                       reserved_9a                                             :  2, // [15:14]
120                       rssi_comb                                               :  8, // [13:6]
121                       group_id                                                :  6; // [5:0]
122              uint32_t he_eht_sta_info_31_16                                   : 16, // [31:16]
123                       he_eht_sta_info_15_0                                    : 16; // [15:0]
124              uint32_t reserved_11a                                            :  8, // [31:24]
125                       dot11ax_dl_ul_flag                                      :  1, // [23:23]
126                       dot11ax_received_ext_ru_size                            :  4, // [22:19]
127                       dot11ax_received_doppler_indication                     :  1, // [18:18]
128                       dot11ax_received_dcm                                    :  1, // [17:17]
129                       dot11ax_received_coding                                 :  1, // [16:16]
130                       dot11ax_received_ltf_size                               :  2, // [15:14]
131                       dot11ax_received_cp_size                                :  2, // [13:12]
132                       dot11ax_received_spatial_reuse                          :  4, // [11:8]
133                       dot11ax_received_bss_color_id                           :  6, // [7:2]
134                       dot11ax_received_dl_ul_flag                             :  1, // [1:1]
135                       dot11ax_received_format_indication                      :  1; // [0:0]
136              uint32_t u_sig_puncture_pattern_encoding                         :  6, // [31:26]
137                       reserved_12a                                            :  2, // [25:24]
138                       tb_ranging_response_required                            :  2, // [23:22]
139                       secure                                                  :  1, // [21:21]
140                       ranging                                                 :  1, // [20:20]
141                       wait_sifs                                               :  2, // [19:18]
142                       wait_sifs_config_valid                                  :  1, // [17:17]
143                       sw_response_tlv_from_crypto                             :  1, // [16:16]
144                       sw_response_frame_length                                : 16; // [15:0]
145              uint32_t reserved_13a                                            : 11, // [31:21]
146                       eht_duplicate_mode                                      :  2, // [20:19]
147                       npda_info_11be_valid                                    :  1, // [18:18]
148                       punctured_response                                      :  1, // [17:17]
149                       dot11be_response                                        :  1, // [16:16]
150                       dot11be_puncture_bitmap                                 : 16; // [15:0]
151              uint32_t reserved_14a                                            : 24, // [31:8]
152                       eht_sta_info_39_32                                      :  8; // [7:0]
153              uint32_t tlv64_padding                                           : 32; // [31:0]
154 #endif
155 };
156 
157 
158 /* Description		SW_PEER_ID
159 
160 			An identifier indicating from which AP this CBF is being
161 			 requested. Helps in crosschecking that the MAC and PHY
162 			are still in sync on what is stored in the cbf_mem_index
163 			 location.
164 			<legal all>
165 */
166 
167 #define TX_CBF_INFO_SW_PEER_ID_OFFSET                                               0x0000000000000000
168 #define TX_CBF_INFO_SW_PEER_ID_LSB                                                  0
169 #define TX_CBF_INFO_SW_PEER_ID_MSB                                                  15
170 #define TX_CBF_INFO_SW_PEER_ID_MASK                                                 0x000000000000ffff
171 
172 
173 /* Description		PRE_CBF_DURATION
174 
175 			NPDA_duration_field - SIFS - NDP_pkt_time or BRPOLL_duration_field.
176 			 The cbf_duration_field = pre_cbf_duration - cbf_pkt_time
177 
178 
179 			This will be the pre-NDP duration or pre-LMR duration in
180 			 case of .11az ranging (field Ranging below is set).
181 */
182 
183 #define TX_CBF_INFO_PRE_CBF_DURATION_OFFSET                                         0x0000000000000000
184 #define TX_CBF_INFO_PRE_CBF_DURATION_LSB                                            16
185 #define TX_CBF_INFO_PRE_CBF_DURATION_MSB                                            31
186 #define TX_CBF_INFO_PRE_CBF_DURATION_MASK                                           0x00000000ffff0000
187 
188 
189 /* Description		BRPOLL_INFO_VALID
190 
191 			When set, legacy type brpoll info is valid. TXPCU will have
192 			 to trigger the PDG for response transmission
193 
194 			It will not be clear here what the PHY's response format
195 			 will be. Could be 11ac or 11ax. MAC is not 'remembering'
196 			the format type, but PHY will know.
197 
198 			MAC will get to know based on the field Cbf_response_type
199 			 in the PHYRX_CBF_READ_REQUEST_ACK TLV.
200 
201 			<legal all>
202 */
203 
204 #define TX_CBF_INFO_BRPOLL_INFO_VALID_OFFSET                                        0x0000000000000000
205 #define TX_CBF_INFO_BRPOLL_INFO_VALID_LSB                                           32
206 #define TX_CBF_INFO_BRPOLL_INFO_VALID_MSB                                           32
207 #define TX_CBF_INFO_BRPOLL_INFO_VALID_MASK                                          0x0000000100000000
208 
209 
210 /* Description		TRIGGER_BRPOLL_INFO_VALID
211 
212 			When set with Ranging = 0, trigger based brpoll info is
213 			valid.
214 			When set with Ranging = 1, .11az sounding trigger info is
215 			 valid for trigger-based ranging (TBR).
216 			This also implies that RXPCU has already triggered the PDG
217 			 for response transmission
218 			<legal all>
219 */
220 
221 #define TX_CBF_INFO_TRIGGER_BRPOLL_INFO_VALID_OFFSET                                0x0000000000000000
222 #define TX_CBF_INFO_TRIGGER_BRPOLL_INFO_VALID_LSB                                   33
223 #define TX_CBF_INFO_TRIGGER_BRPOLL_INFO_VALID_MSB                                   33
224 #define TX_CBF_INFO_TRIGGER_BRPOLL_INFO_VALID_MASK                                  0x0000000200000000
225 
226 
227 /* Description		NPDA_INFO_11AC_VALID
228 
229 			When set, 11ac_NDPA info is valid.
230 			TXPCU will have to trigger the PDG for response transmission
231 
232 
233 			PHY's response will be be in 11ac format
234 			<legal all>
235 */
236 
237 #define TX_CBF_INFO_NPDA_INFO_11AC_VALID_OFFSET                                     0x0000000000000000
238 #define TX_CBF_INFO_NPDA_INFO_11AC_VALID_LSB                                        34
239 #define TX_CBF_INFO_NPDA_INFO_11AC_VALID_MSB                                        34
240 #define TX_CBF_INFO_NPDA_INFO_11AC_VALID_MASK                                       0x0000000400000000
241 
242 
243 /* Description		NPDA_INFO_11AX_VALID
244 
245 			When set, 11ax_NDPA info is valid.
246 			TXPCU will have to trigger the PDG for response transmission
247 
248 
249 			PHY's response will be be in 11ax format
250 
251 			There is a separate Npda_info_11be_valid field near the
252 			end of this TLV.
253 			<legal all>
254 */
255 
256 #define TX_CBF_INFO_NPDA_INFO_11AX_VALID_OFFSET                                     0x0000000000000000
257 #define TX_CBF_INFO_NPDA_INFO_11AX_VALID_LSB                                        35
258 #define TX_CBF_INFO_NPDA_INFO_11AX_VALID_MSB                                        35
259 #define TX_CBF_INFO_NPDA_INFO_11AX_VALID_MASK                                       0x0000000800000000
260 
261 
262 /* Description		DOT11AX_SU_EXTENDED
263 
264 			When set, frame was received in 11ax or 11be extended range
265 			 format
266 */
267 
268 #define TX_CBF_INFO_DOT11AX_SU_EXTENDED_OFFSET                                      0x0000000000000000
269 #define TX_CBF_INFO_DOT11AX_SU_EXTENDED_LSB                                         36
270 #define TX_CBF_INFO_DOT11AX_SU_EXTENDED_MSB                                         36
271 #define TX_CBF_INFO_DOT11AX_SU_EXTENDED_MASK                                        0x0000001000000000
272 
273 
274 /* Description		BANDWIDTH
275 
276 			Field only valid when Brpoll_info_valid , Npda_info_11ac_valid
277 			  or Npda_info_11ax_valid is set.
278 
279 			The bandwidth that TXPCU uses to select the final response
280 			 table entry. That entry will contain all response info
281 			for the CBF frame.
282 
283 			<enum 0 20_mhz>20 Mhz BW
284 			<enum 1 40_mhz>40 Mhz BW
285 			<enum 2 80_mhz>80 Mhz BW
286 			<enum 3 160_mhz>160 Mhz BW
287 			<enum 4 320_mhz>320 Mhz BW
288 			<enum 5 240_mhz>240 Mhz BW
289 */
290 
291 #define TX_CBF_INFO_BANDWIDTH_OFFSET                                                0x0000000000000000
292 #define TX_CBF_INFO_BANDWIDTH_LSB                                                   37
293 #define TX_CBF_INFO_BANDWIDTH_MSB                                                   39
294 #define TX_CBF_INFO_BANDWIDTH_MASK                                                  0x000000e000000000
295 
296 
297 /* Description		BRPOLL_INFO
298 
299 			Field only valid when Brpoll_info_valid is set.
300 
301 			Feedback Segment retransmission feedback field from the
302 			BRPOLL frame.
303 			<legal all>
304 */
305 
306 #define TX_CBF_INFO_BRPOLL_INFO_OFFSET                                              0x0000000000000000
307 #define TX_CBF_INFO_BRPOLL_INFO_LSB                                                 40
308 #define TX_CBF_INFO_BRPOLL_INFO_MSB                                                 47
309 #define TX_CBF_INFO_BRPOLL_INFO_MASK                                                0x0000ff0000000000
310 
311 
312 /* Description		CBF_RESPONSE_TABLE_BASE_INDEX
313 
314 			Field only valid when Brpoll_info_valid or
315 			Npda_info_11ac_valid  or Npda_info_11ax_valid is set.
316 
317 			When set to 0, use the register based lookup for determining
318 			 the CBF response rates.
319 
320 			When > 0, TXPCU shall use this response table index for
321 			the 20 MHz response, and higher BW responses are in the
322 			subsequent response table entries
323 
324 			This will be the LMR response table base index in case of
325 			 .11az ranging (field Ranging below is set).
326 
327 			<legal all>
328 */
329 
330 #define TX_CBF_INFO_CBF_RESPONSE_TABLE_BASE_INDEX_OFFSET                            0x0000000000000000
331 #define TX_CBF_INFO_CBF_RESPONSE_TABLE_BASE_INDEX_LSB                               48
332 #define TX_CBF_INFO_CBF_RESPONSE_TABLE_BASE_INDEX_MSB                               55
333 #define TX_CBF_INFO_CBF_RESPONSE_TABLE_BASE_INDEX_MASK                              0x00ff000000000000
334 
335 
336 /* Description		PEER_INDEX
337 
338 			Field only valid when Brpoll_info_valid or
339 			Npda_info_11ac_valid  or Npda_info_11ax_valid is set.
340 
341 
342 			Indicates the CBF peer index to be used by TxPCU to determine
343 			 the look-up table index for CBF response frames. RxPCU
344 			populate this field from the peer_entry.
345 			<legal 0-7>
346 */
347 
348 #define TX_CBF_INFO_PEER_INDEX_OFFSET                                               0x0000000000000000
349 #define TX_CBF_INFO_PEER_INDEX_LSB                                                  56
350 #define TX_CBF_INFO_PEER_INDEX_MSB                                                  58
351 #define TX_CBF_INFO_PEER_INDEX_MASK                                                 0x0700000000000000
352 
353 
354 /* Description		PKT_TYPE
355 
356 			Received Packet type:
357 			<enum 0 dot11a>802.11a PPDU type
358 			<enum 1 dot11b>802.11b PPDU type
359 			<enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
360 			<enum 3 dot11ac>802.11ac PPDU type
361 			<enum 4 dot11ax>802.11ax PPDU type
362 			<enum 5 dot11ba>802.11ba (WUR) PPDU type
363 			<enum 6 dot11be>802.11be PPDU type
364 			<enum 7 dot11az>802.11az (ranging) PPDU type
365 			<enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported
366 			 & aborted)
367 */
368 
369 #define TX_CBF_INFO_PKT_TYPE_OFFSET                                                 0x0000000000000000
370 #define TX_CBF_INFO_PKT_TYPE_LSB                                                    59
371 #define TX_CBF_INFO_PKT_TYPE_MSB                                                    62
372 #define TX_CBF_INFO_PKT_TYPE_MASK                                                   0x7800000000000000
373 
374 
375 /* Description		TXOP_DURATION_ALL_ONES
376 
377 			When set, either the TXOP_DURATION of the received frame
378 			 was set to all 1s or there is a BSS color collision. The
379 			 TXOP_DURATION of the transmit response should be forced
380 			 to all 1s.
381 
382 			<legal all>
383 */
384 
385 #define TX_CBF_INFO_TXOP_DURATION_ALL_ONES_OFFSET                                   0x0000000000000000
386 #define TX_CBF_INFO_TXOP_DURATION_ALL_ONES_LSB                                      63
387 #define TX_CBF_INFO_TXOP_DURATION_ALL_ONES_MSB                                      63
388 #define TX_CBF_INFO_TXOP_DURATION_ALL_ONES_MASK                                     0x8000000000000000
389 
390 
391 /* Description		TRIGGER_BRPOLL_COMMON_INFO_15_0
392 
393 			Field only valid when Trigger_Brpoll_info_valid  is set.
394 
395 
396 			Trigger based BRPOLL or .11az sounding (TBR) request info...
397 			bits [15:0]
398 
399 			This is the variable common info field from the trigger
400 			related to the BTPOLL. For field definition see IEEE spec
401 
402 
403 			Note: final IEEE field might not need all these bits. If
404 			 so, the extra bits become reserved fields.
405 			<legal all>
406 */
407 
408 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_15_0_OFFSET                          0x0000000000000008
409 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_15_0_LSB                             0
410 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_15_0_MSB                             15
411 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_15_0_MASK                            0x000000000000ffff
412 
413 
414 /* Description		TRIGGER_BRPOLL_COMMON_INFO_31_16
415 
416 			Field only valid when Trigger_Brpoll_info_valid  is set.
417 
418 
419 			Trigger based BRPOLL or .11az sounding (TBR) request info...
420 			bits [31:15]
421 
422 			This is the variable common info field from the trigger
423 			related to the BTPOLL. For field definition see IEEE spec
424 
425 
426 			Note: final IEEE field might not need all these bits. If
427 			 so, the extra bits become reserved fields.
428 			<legal all>
429 */
430 
431 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_31_16_OFFSET                         0x0000000000000008
432 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_31_16_LSB                            16
433 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_31_16_MSB                            31
434 #define TX_CBF_INFO_TRIGGER_BRPOLL_COMMON_INFO_31_16_MASK                           0x00000000ffff0000
435 
436 
437 /* Description		TRIGGER_BRPOLL_USER_INFO_15_0
438 
439 			Field only valid when Trigger_Brpoll_info_valid  is set.
440 
441 
442 			BRPOLL or .11az sounding (TBR) trigger Type dependent User
443 			 information bits [15:0]
444 
445 			This is the variable user info field from the trigger related
446 			 to the BTPOLL.
447 
448 			For field definition see IEEE spec
449 
450 			Note: final IEEE field might not need all these bits. If
451 			 so, the extra bits become reserved fields.
452 			<legal all>
453 */
454 
455 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_15_0_OFFSET                            0x0000000000000008
456 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_15_0_LSB                               32
457 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_15_0_MSB                               47
458 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_15_0_MASK                              0x0000ffff00000000
459 
460 
461 /* Description		TRIGGER_BRPOLL_USER_INFO_31_16
462 
463 			Field only valid when Trigger_Brpoll_info_valid  is set.
464 
465 
466 			BRPOLL or .11az sounding (TBR) trigger Type dependent User
467 			 information bits [31:16]
468 
469 			This is the variable user info field from the trigger related
470 			 to the BTPOLL.
471 
472 			For field definition see IEEE spec
473 
474 			Note: final IEEE field might not need all these bits. If
475 			 so, the extra bits become reserved fields.
476 			<legal all>
477 */
478 
479 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_31_16_OFFSET                           0x0000000000000008
480 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_31_16_LSB                              48
481 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_31_16_MSB                              63
482 #define TX_CBF_INFO_TRIGGER_BRPOLL_USER_INFO_31_16_MASK                             0xffff000000000000
483 
484 
485 /* Description		ADDR1_31_0
486 
487 			CBF address1[31:0]
488 */
489 
490 #define TX_CBF_INFO_ADDR1_31_0_OFFSET                                               0x0000000000000010
491 #define TX_CBF_INFO_ADDR1_31_0_LSB                                                  0
492 #define TX_CBF_INFO_ADDR1_31_0_MSB                                                  31
493 #define TX_CBF_INFO_ADDR1_31_0_MASK                                                 0x00000000ffffffff
494 
495 
496 /* Description		ADDR1_47_32
497 
498 			CBF address1[47:32]
499 */
500 
501 #define TX_CBF_INFO_ADDR1_47_32_OFFSET                                              0x0000000000000010
502 #define TX_CBF_INFO_ADDR1_47_32_LSB                                                 32
503 #define TX_CBF_INFO_ADDR1_47_32_MSB                                                 47
504 #define TX_CBF_INFO_ADDR1_47_32_MASK                                                0x0000ffff00000000
505 
506 
507 /* Description		ADDR2_15_0
508 
509 			CBF address2[15:0]
510 */
511 
512 #define TX_CBF_INFO_ADDR2_15_0_OFFSET                                               0x0000000000000010
513 #define TX_CBF_INFO_ADDR2_15_0_LSB                                                  48
514 #define TX_CBF_INFO_ADDR2_15_0_MSB                                                  63
515 #define TX_CBF_INFO_ADDR2_15_0_MASK                                                 0xffff000000000000
516 
517 
518 /* Description		ADDR2_47_16
519 
520 			CBF address2[47:16]
521 */
522 
523 #define TX_CBF_INFO_ADDR2_47_16_OFFSET                                              0x0000000000000018
524 #define TX_CBF_INFO_ADDR2_47_16_LSB                                                 0
525 #define TX_CBF_INFO_ADDR2_47_16_MSB                                                 31
526 #define TX_CBF_INFO_ADDR2_47_16_MASK                                                0x00000000ffffffff
527 
528 
529 /* Description		ADDR3_31_0
530 
531 			CBF address3[31:0]
532 */
533 
534 #define TX_CBF_INFO_ADDR3_31_0_OFFSET                                               0x0000000000000018
535 #define TX_CBF_INFO_ADDR3_31_0_LSB                                                  32
536 #define TX_CBF_INFO_ADDR3_31_0_MSB                                                  63
537 #define TX_CBF_INFO_ADDR3_31_0_MASK                                                 0xffffffff00000000
538 
539 
540 /* Description		ADDR3_47_32
541 
542 			CBF address3[47:16]
543 */
544 
545 #define TX_CBF_INFO_ADDR3_47_32_OFFSET                                              0x0000000000000020
546 #define TX_CBF_INFO_ADDR3_47_32_LSB                                                 0
547 #define TX_CBF_INFO_ADDR3_47_32_MSB                                                 15
548 #define TX_CBF_INFO_ADDR3_47_32_MASK                                                0x000000000000ffff
549 
550 
551 /* Description		STA_PARTIAL_AID
552 
553 			Partial AID field
554 */
555 
556 #define TX_CBF_INFO_STA_PARTIAL_AID_OFFSET                                          0x0000000000000020
557 #define TX_CBF_INFO_STA_PARTIAL_AID_LSB                                             16
558 #define TX_CBF_INFO_STA_PARTIAL_AID_MSB                                             26
559 #define TX_CBF_INFO_STA_PARTIAL_AID_MASK                                            0x0000000007ff0000
560 
561 
562 /* Description		RESERVED_8A
563 
564 			<legal 0>
565 */
566 
567 #define TX_CBF_INFO_RESERVED_8A_OFFSET                                              0x0000000000000020
568 #define TX_CBF_INFO_RESERVED_8A_LSB                                                 27
569 #define TX_CBF_INFO_RESERVED_8A_MSB                                                 30
570 #define TX_CBF_INFO_RESERVED_8A_MASK                                                0x0000000078000000
571 
572 
573 /* Description		CBF_RESP_PWR_MGMT
574 
575 			Power management bit of the response CBF frame or LMR frame
576 			 in case of .11az ranging (field Ranging below is set).
577 */
578 
579 #define TX_CBF_INFO_CBF_RESP_PWR_MGMT_OFFSET                                        0x0000000000000020
580 #define TX_CBF_INFO_CBF_RESP_PWR_MGMT_LSB                                           31
581 #define TX_CBF_INFO_CBF_RESP_PWR_MGMT_MSB                                           31
582 #define TX_CBF_INFO_CBF_RESP_PWR_MGMT_MASK                                          0x0000000080000000
583 
584 
585 /* Description		GROUP_ID
586 
587 			Group ID field
588 */
589 
590 #define TX_CBF_INFO_GROUP_ID_OFFSET                                                 0x0000000000000020
591 #define TX_CBF_INFO_GROUP_ID_LSB                                                    32
592 #define TX_CBF_INFO_GROUP_ID_MSB                                                    37
593 #define TX_CBF_INFO_GROUP_ID_MASK                                                   0x0000003f00000000
594 
595 
596 /* Description		RSSI_COMB
597 
598 			The combined RSSI of the legacy STF of RX PPDU of all active
599 			 chains and bandwidths.
600 */
601 
602 #define TX_CBF_INFO_RSSI_COMB_OFFSET                                                0x0000000000000020
603 #define TX_CBF_INFO_RSSI_COMB_LSB                                                   38
604 #define TX_CBF_INFO_RSSI_COMB_MSB                                                   45
605 #define TX_CBF_INFO_RSSI_COMB_MASK                                                  0x00003fc000000000
606 
607 
608 /* Description		RESERVED_9A
609 
610 			Bit 14: force_extra_symbol:
611 
612 			Set to 1 to force an extra OFDM symbol (or symbols) even
613 			 if the PPDU encoding process does not result in an extra
614 			 OFDM symbol (or symbols)
615 
616 			<legal 0-1>
617 */
618 
619 #define TX_CBF_INFO_RESERVED_9A_OFFSET                                              0x0000000000000020
620 #define TX_CBF_INFO_RESERVED_9A_LSB                                                 46
621 #define TX_CBF_INFO_RESERVED_9A_MSB                                                 47
622 #define TX_CBF_INFO_RESERVED_9A_MASK                                                0x0000c00000000000
623 
624 
625 /* Description		VHT_NDPA_STA_INFO
626 
627 			Field only valid when Npda_info_11ac_valid is set
628 
629 			The complete (RAW) STA INFO field that MAC extracted from
630 			 the VHT NDPA frame.
631 
632 			Put here for backup reasons in case last moment fields got
633 			 added that PHY needs to be able to interpret
634 
635 			This field contains
636 			{
637 			VHT STA_INFO.NC_INDEX[2:0],
638 			VHT STA_INFO.FEEDBACK_TYPE,
639 			VHT STA_INFO.AID12[11:0]
640 			}
641 			<legal all>
642 */
643 
644 #define TX_CBF_INFO_VHT_NDPA_STA_INFO_OFFSET                                        0x0000000000000020
645 #define TX_CBF_INFO_VHT_NDPA_STA_INFO_LSB                                           48
646 #define TX_CBF_INFO_VHT_NDPA_STA_INFO_MSB                                           63
647 #define TX_CBF_INFO_VHT_NDPA_STA_INFO_MASK                                          0xffff000000000000
648 
649 
650 /* Description		HE_EHT_STA_INFO_15_0
651 
652 			Field only valid when Npda_info_11ax_valid or Npda_info_11be_valid
653 			 is set
654 
655 			The first 16 bits of the RAW HE or EHT STA INFO field in
656 			 the NDPA frame
657 
658 			Put here for backup reasons in case last moment fields got
659 			 added that PHY needs to be able to interpret
660 			<legal all>
661 */
662 
663 #define TX_CBF_INFO_HE_EHT_STA_INFO_15_0_OFFSET                                     0x0000000000000028
664 #define TX_CBF_INFO_HE_EHT_STA_INFO_15_0_LSB                                        0
665 #define TX_CBF_INFO_HE_EHT_STA_INFO_15_0_MSB                                        15
666 #define TX_CBF_INFO_HE_EHT_STA_INFO_15_0_MASK                                       0x000000000000ffff
667 
668 
669 /* Description		HE_EHT_STA_INFO_31_16
670 
671 			Field only valid when Npda_info_11ax_valid or Npda_info_11be_valid
672 			 is set
673 
674 			The second 16 bits of the RAW HE or EHT STA INFO field in
675 			 the NDPA frame
676 
677 			Put here for backup reasons in case last moment fields got
678 			 added that PHY needs to be able to interpret
679 
680 			There is an EHT_STA_INFO_39_32 field near the end of this
681 			 TLV.
682 			<legal all>
683 */
684 
685 #define TX_CBF_INFO_HE_EHT_STA_INFO_31_16_OFFSET                                    0x0000000000000028
686 #define TX_CBF_INFO_HE_EHT_STA_INFO_31_16_LSB                                       16
687 #define TX_CBF_INFO_HE_EHT_STA_INFO_31_16_MSB                                       31
688 #define TX_CBF_INFO_HE_EHT_STA_INFO_31_16_MASK                                      0x00000000ffff0000
689 
690 
691 /* Description		DOT11AX_RECEIVED_FORMAT_INDICATION
692 
693 			This field is only valid for pkt_type == 11ax
694 
695 			Format_Indication from the received frame.
696 
697 			<enum 0 HE_SIGA_FORMAT_HE_TRIG>
698 			<enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
699 			<legal all>
700 */
701 
702 #define TX_CBF_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_OFFSET                       0x0000000000000028
703 #define TX_CBF_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_LSB                          32
704 #define TX_CBF_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_MSB                          32
705 #define TX_CBF_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_MASK                         0x0000000100000000
706 
707 
708 /* Description		DOT11AX_RECEIVED_DL_UL_FLAG
709 
710 			This field is only valid for pkt_type == 11ax
711 
712 			DL_UL_flag from the received frame
713 
714 			Differentiates between DL and UL transmission
715 
716 			<enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
717 			<enum 1 DL_UL_FLAG_IS_UL>
718 
719 			<legal all>
720 */
721 
722 #define TX_CBF_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_OFFSET                              0x0000000000000028
723 #define TX_CBF_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_LSB                                 33
724 #define TX_CBF_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_MSB                                 33
725 #define TX_CBF_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_MASK                                0x0000000200000000
726 
727 
728 /* Description		DOT11AX_RECEIVED_BSS_COLOR_ID
729 
730 			This field is only valid for pkt_type == 11ax
731 
732 			BSS_color_id from the received frame
733 			<legal all>
734 */
735 
736 #define TX_CBF_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_OFFSET                            0x0000000000000028
737 #define TX_CBF_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_LSB                               34
738 #define TX_CBF_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_MSB                               39
739 #define TX_CBF_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_MASK                              0x000000fc00000000
740 
741 
742 /* Description		DOT11AX_RECEIVED_SPATIAL_REUSE
743 
744 			This field is only valid for pkt_type == 11ax
745 			Spatial reuse from the received frame
746 			<legal all>
747 */
748 
749 #define TX_CBF_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_OFFSET                           0x0000000000000028
750 #define TX_CBF_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_LSB                              40
751 #define TX_CBF_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_MSB                              43
752 #define TX_CBF_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_MASK                             0x00000f0000000000
753 
754 
755 /* Description		DOT11AX_RECEIVED_CP_SIZE
756 
757 			This field is only valid for pkt_type == 11ax
758 
759 			CP size of the received frame
760 
761 			<enum 0     0_8_us_sgi > Legacy normal GI. Can also be used
762 			 for HE
763 			<enum 1     0_4_us_sgi > Legacy short GI. Can also be used
764 			 for HE
765 			<enum 2     1_6_us_sgi > HE related GI
766 			<enum 3     3_2_us_sgi > HE related GI
767 
768 			<legal 0 - 3>
769 */
770 
771 #define TX_CBF_INFO_DOT11AX_RECEIVED_CP_SIZE_OFFSET                                 0x0000000000000028
772 #define TX_CBF_INFO_DOT11AX_RECEIVED_CP_SIZE_LSB                                    44
773 #define TX_CBF_INFO_DOT11AX_RECEIVED_CP_SIZE_MSB                                    45
774 #define TX_CBF_INFO_DOT11AX_RECEIVED_CP_SIZE_MASK                                   0x0000300000000000
775 
776 
777 /* Description		DOT11AX_RECEIVED_LTF_SIZE
778 
779 			This field is only valid for pkt_type == 11ax
780 
781 			LTF size of the received frame
782 
783 			<enum 0     ltf_1x >
784 			<enum 1     ltf_2x >
785 			<enum 2     ltf_4x >
786 			<legal 0 - 2>
787 */
788 
789 #define TX_CBF_INFO_DOT11AX_RECEIVED_LTF_SIZE_OFFSET                                0x0000000000000028
790 #define TX_CBF_INFO_DOT11AX_RECEIVED_LTF_SIZE_LSB                                   46
791 #define TX_CBF_INFO_DOT11AX_RECEIVED_LTF_SIZE_MSB                                   47
792 #define TX_CBF_INFO_DOT11AX_RECEIVED_LTF_SIZE_MASK                                  0x0000c00000000000
793 
794 
795 /* Description		DOT11AX_RECEIVED_CODING
796 
797 			This field is only valid for pkt_type == 11ax
798 
799 			Coding from the received frame
800 
801 			<legal all>
802 */
803 
804 #define TX_CBF_INFO_DOT11AX_RECEIVED_CODING_OFFSET                                  0x0000000000000028
805 #define TX_CBF_INFO_DOT11AX_RECEIVED_CODING_LSB                                     48
806 #define TX_CBF_INFO_DOT11AX_RECEIVED_CODING_MSB                                     48
807 #define TX_CBF_INFO_DOT11AX_RECEIVED_CODING_MASK                                    0x0001000000000000
808 
809 
810 /* Description		DOT11AX_RECEIVED_DCM
811 
812 			This field is only valid for pkt_type == 11ax
813 
814 			DCM from the received frame
815 
816 			<legal all>
817 */
818 
819 #define TX_CBF_INFO_DOT11AX_RECEIVED_DCM_OFFSET                                     0x0000000000000028
820 #define TX_CBF_INFO_DOT11AX_RECEIVED_DCM_LSB                                        49
821 #define TX_CBF_INFO_DOT11AX_RECEIVED_DCM_MSB                                        49
822 #define TX_CBF_INFO_DOT11AX_RECEIVED_DCM_MASK                                       0x0002000000000000
823 
824 
825 /* Description		DOT11AX_RECEIVED_DOPPLER_INDICATION
826 
827 			This field is only valid for pkt_type == 11ax
828 
829 			Doppler_indication from the received frame
830 
831 			<legal all>
832 */
833 
834 #define TX_CBF_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_OFFSET                      0x0000000000000028
835 #define TX_CBF_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_LSB                         50
836 #define TX_CBF_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_MSB                         50
837 #define TX_CBF_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_MASK                        0x0004000000000000
838 
839 
840 /* Description		DOT11AX_RECEIVED_EXT_RU_SIZE
841 
842 			This field is only valid for pkt_type == 11ax OR pkt_type
843 			 == 11be AND dot11ax_su_extended is set
844 			The number of (basic) RUs in this extended range reception
845 
846 
847 			RXPCU gets this from the received HE_SIG_A
848 
849 			<legal all>
850 */
851 
852 #define TX_CBF_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_OFFSET                             0x0000000000000028
853 #define TX_CBF_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_LSB                                51
854 #define TX_CBF_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_MSB                                54
855 #define TX_CBF_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_MASK                               0x0078000000000000
856 
857 
858 /* Description		DOT11AX_DL_UL_FLAG
859 
860 			This field is only valid for pkt_type == 11ax
861 
862 			DL_UL_flag to be used for response frame sent to this device.
863 
864 
865 			Differentiates between DL and UL transmission
866 
867 			<enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
868 			<enum 1 DL_UL_FLAG_IS_UL>
869 
870 			Note: this setting can also come from response look-up table
871 			 in TXPCU...
872 			The selection is SW programmable
873 
874 			<legal all>
875 */
876 
877 #define TX_CBF_INFO_DOT11AX_DL_UL_FLAG_OFFSET                                       0x0000000000000028
878 #define TX_CBF_INFO_DOT11AX_DL_UL_FLAG_LSB                                          55
879 #define TX_CBF_INFO_DOT11AX_DL_UL_FLAG_MSB                                          55
880 #define TX_CBF_INFO_DOT11AX_DL_UL_FLAG_MASK                                         0x0080000000000000
881 
882 
883 /* Description		RESERVED_11A
884 
885 			<legal 0>
886 */
887 
888 #define TX_CBF_INFO_RESERVED_11A_OFFSET                                             0x0000000000000028
889 #define TX_CBF_INFO_RESERVED_11A_LSB                                                56
890 #define TX_CBF_INFO_RESERVED_11A_MSB                                                63
891 #define TX_CBF_INFO_RESERVED_11A_MASK                                               0xff00000000000000
892 
893 
894 /* Description		SW_RESPONSE_FRAME_LENGTH
895 
896 			Field only valid when SW_Response_tlv_from_crypto is set
897 
898 
899 			This is the size of the frame (in bytes) that SW will generate
900 			 as the response frame. In those scenarios where TXPCU needs
901 			 to indicate a frame_length in the PDG_RESPONSE TLV, this
902 			 will be the value that TXPCU needs to use.
903 
904 			Note that this length value  includes the FCS.
905 			<legal all>
906 */
907 
908 #define TX_CBF_INFO_SW_RESPONSE_FRAME_LENGTH_OFFSET                                 0x0000000000000030
909 #define TX_CBF_INFO_SW_RESPONSE_FRAME_LENGTH_LSB                                    0
910 #define TX_CBF_INFO_SW_RESPONSE_FRAME_LENGTH_MSB                                    15
911 #define TX_CBF_INFO_SW_RESPONSE_FRAME_LENGTH_MASK                                   0x000000000000ffff
912 
913 
914 /* Description		SW_RESPONSE_TLV_FROM_CRYPTO
915 
916 			Field can only be set by MAC mitigation logic
917 
918 			The idea is here that normally TXPCU generates the response
919 			 frame.
920 			But as a backup scenario, in case of a last moment some
921 			CBF frame BA format change happens or there is some other
922 			 issue, the CBF frame could be fully generated in the MAC
923 			 micro CPU and pushed into TXPCU through the Crypto - TXPCU
924 			 TLV interface.
925 
926 			From TXPCU perspective, all interaction with PDG remains
927 			 exactly the same, accept that the frame length is now coming
928 			 from field SW_Response_frame_length and the response frame
929 			 is pushed into TXPCU over the CRYPTO - TXPCU TLV interface
930 
931 
932 			When set, this feature kick in
933 			When clear, this feature is not enabled
934 			<legal all>
935 */
936 
937 #define TX_CBF_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_OFFSET                              0x0000000000000030
938 #define TX_CBF_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_LSB                                 16
939 #define TX_CBF_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_MSB                                 16
940 #define TX_CBF_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_MASK                                0x0000000000010000
941 
942 
943 /* Description		WAIT_SIFS_CONFIG_VALID
944 
945 			When set, TXPCU shall follow the wait_sifs configuration.
946 
947 
948 			<legal all>
949 */
950 
951 #define TX_CBF_INFO_WAIT_SIFS_CONFIG_VALID_OFFSET                                   0x0000000000000030
952 #define TX_CBF_INFO_WAIT_SIFS_CONFIG_VALID_LSB                                      17
953 #define TX_CBF_INFO_WAIT_SIFS_CONFIG_VALID_MSB                                      17
954 #define TX_CBF_INFO_WAIT_SIFS_CONFIG_VALID_MASK                                     0x0000000000020000
955 
956 
957 /* Description		WAIT_SIFS
958 
959 			Indicates to the TXPCU how precise the SIFS the response
960 			 timing shall be...
961 
962 			The configuration for this is coming from SW programmable
963 			 registers in RXPCU, where RXPCU shall allow SW to program
964 			 different settings for the following scenarios: BRPOLL,
965 			NDPA-NDP, 11ax trigger frame based BRPOLL
966 
967 			<enum 0 NO_SIFS_TIMING> Transmission shall start with the
968 			 normal delay in PHY after receiving this notification
969 			<enum 1 SIFS_TIMING_DESIRED> Transmission shall be made
970 			at the SIFS boundary. If shall never start before SIFS boundary,
971 			but if it a little later, it is not ideal and should be
972 			flagged, but transmission shall not be aborted.
973 			<enum 2 SIFS_TIMING_MANDATED> Transmission shall be made
974 			 at exactly SIFS boundary. If this notification is received
975 			 by the PHY after SIFS boundary already passed, the PHY
976 			shall abort the transmission
977 			<legal 0-2>
978 */
979 
980 #define TX_CBF_INFO_WAIT_SIFS_OFFSET                                                0x0000000000000030
981 #define TX_CBF_INFO_WAIT_SIFS_LSB                                                   18
982 #define TX_CBF_INFO_WAIT_SIFS_MSB                                                   19
983 #define TX_CBF_INFO_WAIT_SIFS_MASK                                                  0x00000000000c0000
984 
985 
986 /* Description		RANGING
987 
988 			0: This TLV is generated for Tx CBF generation.
989 			1: TLV is generated due to an active ranging session (.11az).
990 
991 			<legal all>
992 */
993 
994 #define TX_CBF_INFO_RANGING_OFFSET                                                  0x0000000000000030
995 #define TX_CBF_INFO_RANGING_LSB                                                     20
996 #define TX_CBF_INFO_RANGING_MSB                                                     20
997 #define TX_CBF_INFO_RANGING_MASK                                                    0x0000000000100000
998 
999 
1000 /* Description		SECURE
1001 
1002 			Field only valid if Ranging is set to 1.
1003 			0: Current ranging session is non-secure.
1004 			1: Current ranging session is secure.
1005 			<legal all>
1006 */
1007 
1008 #define TX_CBF_INFO_SECURE_OFFSET                                                   0x0000000000000030
1009 #define TX_CBF_INFO_SECURE_LSB                                                      21
1010 #define TX_CBF_INFO_SECURE_MSB                                                      21
1011 #define TX_CBF_INFO_SECURE_MASK                                                     0x0000000000200000
1012 
1013 
1014 /* Description		TB_RANGING_RESPONSE_REQUIRED
1015 
1016 			Field only valid in case of TB Ranging
1017 			<enum 0 No_TB_Ranging_Resp>
1018 			<enum 1 CTS2S_Resp_to_TF_poll > DO NOT USE.
1019 			<enum 2 LMR_Resp_to_TF_report> DO NOT USE.
1020 			<enum 3 NDP_Resp_to_TF_sound> TXPCU to generate TB ranging
1021 			 NDP in response
1022 			<legal 0-3>
1023 */
1024 
1025 #define TX_CBF_INFO_TB_RANGING_RESPONSE_REQUIRED_OFFSET                             0x0000000000000030
1026 #define TX_CBF_INFO_TB_RANGING_RESPONSE_REQUIRED_LSB                                22
1027 #define TX_CBF_INFO_TB_RANGING_RESPONSE_REQUIRED_MSB                                23
1028 #define TX_CBF_INFO_TB_RANGING_RESPONSE_REQUIRED_MASK                               0x0000000000c00000
1029 
1030 
1031 /* Description		RESERVED_12A
1032 
1033 			<legal 0>
1034 */
1035 
1036 #define TX_CBF_INFO_RESERVED_12A_OFFSET                                             0x0000000000000030
1037 #define TX_CBF_INFO_RESERVED_12A_LSB                                                24
1038 #define TX_CBF_INFO_RESERVED_12A_MSB                                                25
1039 #define TX_CBF_INFO_RESERVED_12A_MASK                                               0x0000000003000000
1040 
1041 
1042 /* Description		U_SIG_PUNCTURE_PATTERN_ENCODING
1043 
1044 			This field is only valid if Punctured_response is set
1045 
1046 			The 6-bit value used in U-SIG and/or EHT-SIG Common field
1047 			 for the puncture pattern
1048 			<legal 0-29>
1049 */
1050 
1051 #define TX_CBF_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET                          0x0000000000000030
1052 #define TX_CBF_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB                             26
1053 #define TX_CBF_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB                             31
1054 #define TX_CBF_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK                            0x00000000fc000000
1055 
1056 
1057 /* Description		DOT11BE_PUNCTURE_BITMAP
1058 
1059 			This field is only valid if Punctured_response is set
1060 
1061 			The bitmap of 20 MHz sub-bands valid in this EHT reception
1062 
1063 
1064 			RXPCU gets this from the received U-SIG and/or EHT-SIG via
1065 			 PHY microcode.
1066 
1067 			<legal all>
1068 */
1069 
1070 #define TX_CBF_INFO_DOT11BE_PUNCTURE_BITMAP_OFFSET                                  0x0000000000000030
1071 #define TX_CBF_INFO_DOT11BE_PUNCTURE_BITMAP_LSB                                     32
1072 #define TX_CBF_INFO_DOT11BE_PUNCTURE_BITMAP_MSB                                     47
1073 #define TX_CBF_INFO_DOT11BE_PUNCTURE_BITMAP_MASK                                    0x0000ffff00000000
1074 
1075 
1076 /* Description		DOT11BE_RESPONSE
1077 
1078 			Indicates that the peer supports .11be response protocols,
1079 			e.g. .11be BW indication in scrambler seed, .11be dynamic
1080 			 BW procedure, punctured response, etc.
1081 */
1082 
1083 #define TX_CBF_INFO_DOT11BE_RESPONSE_OFFSET                                         0x0000000000000030
1084 #define TX_CBF_INFO_DOT11BE_RESPONSE_LSB                                            48
1085 #define TX_CBF_INFO_DOT11BE_RESPONSE_MSB                                            48
1086 #define TX_CBF_INFO_DOT11BE_RESPONSE_MASK                                           0x0001000000000000
1087 
1088 
1089 /* Description		PUNCTURED_RESPONSE
1090 
1091 			Field only valid if Dot11be_response is set
1092 
1093 			Indicates that the response shall use preamble puncturing
1094 
1095 */
1096 
1097 #define TX_CBF_INFO_PUNCTURED_RESPONSE_OFFSET                                       0x0000000000000030
1098 #define TX_CBF_INFO_PUNCTURED_RESPONSE_LSB                                          49
1099 #define TX_CBF_INFO_PUNCTURED_RESPONSE_MSB                                          49
1100 #define TX_CBF_INFO_PUNCTURED_RESPONSE_MASK                                         0x0002000000000000
1101 
1102 
1103 /* Description		NPDA_INFO_11BE_VALID
1104 
1105 			When set, 11be_NDPA info is valid.
1106 			TXPCU will have to trigger the PDG for response transmission
1107 			 .
1108 
1109 			PHY's response will be in 11be format.
1110 			<legal all>
1111 */
1112 
1113 #define TX_CBF_INFO_NPDA_INFO_11BE_VALID_OFFSET                                     0x0000000000000030
1114 #define TX_CBF_INFO_NPDA_INFO_11BE_VALID_LSB                                        50
1115 #define TX_CBF_INFO_NPDA_INFO_11BE_VALID_MSB                                        50
1116 #define TX_CBF_INFO_NPDA_INFO_11BE_VALID_MASK                                       0x0004000000000000
1117 
1118 
1119 /* Description		EHT_DUPLICATE_MODE
1120 
1121 			Field only valid for pkt_type == 11be
1122 
1123 			Indicates EHT duplicate modulation
1124 
1125 			<enum 0 eht_no_duplicate>
1126 			<enum 1 eht_2x_duplicate>
1127 			<enum 2 eht_4x_duplicate>
1128 
1129 			<legal 0-2>
1130 */
1131 
1132 #define TX_CBF_INFO_EHT_DUPLICATE_MODE_OFFSET                                       0x0000000000000030
1133 #define TX_CBF_INFO_EHT_DUPLICATE_MODE_LSB                                          51
1134 #define TX_CBF_INFO_EHT_DUPLICATE_MODE_MSB                                          52
1135 #define TX_CBF_INFO_EHT_DUPLICATE_MODE_MASK                                         0x0018000000000000
1136 
1137 
1138 /* Description		RESERVED_13A
1139 
1140 			<legal 0>
1141 */
1142 
1143 #define TX_CBF_INFO_RESERVED_13A_OFFSET                                             0x0000000000000030
1144 #define TX_CBF_INFO_RESERVED_13A_LSB                                                53
1145 #define TX_CBF_INFO_RESERVED_13A_MSB                                                63
1146 #define TX_CBF_INFO_RESERVED_13A_MASK                                               0xffe0000000000000
1147 
1148 
1149 /* Description		EHT_STA_INFO_39_32
1150 
1151 			Field only valid when Npda_info_11be_valid is set
1152 
1153 			The fifth 8 bits of the RAW EHT STA INFO field in the NDPA
1154 			 frame
1155 */
1156 
1157 #define TX_CBF_INFO_EHT_STA_INFO_39_32_OFFSET                                       0x0000000000000038
1158 #define TX_CBF_INFO_EHT_STA_INFO_39_32_LSB                                          0
1159 #define TX_CBF_INFO_EHT_STA_INFO_39_32_MSB                                          7
1160 #define TX_CBF_INFO_EHT_STA_INFO_39_32_MASK                                         0x00000000000000ff
1161 
1162 
1163 /* Description		RESERVED_14A
1164 
1165 			Can be used for future expansion
1166 			<legal 0>
1167 */
1168 
1169 #define TX_CBF_INFO_RESERVED_14A_OFFSET                                             0x0000000000000038
1170 #define TX_CBF_INFO_RESERVED_14A_LSB                                                8
1171 #define TX_CBF_INFO_RESERVED_14A_MSB                                                31
1172 #define TX_CBF_INFO_RESERVED_14A_MASK                                               0x00000000ffffff00
1173 
1174 
1175 /* Description		TLV64_PADDING
1176 
1177 			Automatic DWORD padding inserted while converting TLV32
1178 			to TLV64 for 64 bit ARCH
1179 			<legal 0>
1180 */
1181 
1182 #define TX_CBF_INFO_TLV64_PADDING_OFFSET                                            0x0000000000000038
1183 #define TX_CBF_INFO_TLV64_PADDING_LSB                                               32
1184 #define TX_CBF_INFO_TLV64_PADDING_MSB                                               63
1185 #define TX_CBF_INFO_TLV64_PADDING_MASK                                              0xffffffff00000000
1186 
1187 
1188 
1189 #endif   // TX_CBF_INFO
1190