xref: /wlan-driver/fw-api/hw/qca5332/tx_fes_status_end.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 _TX_FES_STATUS_END_H_
27*5113495bSYour Name #define _TX_FES_STATUS_END_H_
28*5113495bSYour Name #if !defined(__ASSEMBLER__)
29*5113495bSYour Name #endif
30*5113495bSYour Name 
31*5113495bSYour Name #include "phytx_abort_request_info.h"
32*5113495bSYour Name #define NUM_OF_DWORDS_TX_FES_STATUS_END 22
33*5113495bSYour Name 
34*5113495bSYour Name #define NUM_OF_QWORDS_TX_FES_STATUS_END 11
35*5113495bSYour Name 
36*5113495bSYour Name 
37*5113495bSYour Name struct tx_fes_status_end {
38*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
39*5113495bSYour Name              uint32_t prot_coex_bt_tx_while_wlan_tx                           :  1, // [0:0]
40*5113495bSYour Name                       prot_coex_bt_tx_while_wlan_rx                           :  1, // [1:1]
41*5113495bSYour Name                       prot_coex_wan_tx_while_wlan_tx                          :  1, // [2:2]
42*5113495bSYour Name                       prot_coex_wan_tx_while_wlan_rx                          :  1, // [3:3]
43*5113495bSYour Name                       prot_coex_wlan_tx_while_wlan_tx                         :  1, // [4:4]
44*5113495bSYour Name                       prot_coex_wlan_tx_while_wlan_rx                         :  1, // [5:5]
45*5113495bSYour Name                       coex_bt_tx_while_wlan_tx                                :  1, // [6:6]
46*5113495bSYour Name                       coex_bt_tx_while_wlan_rx                                :  1, // [7:7]
47*5113495bSYour Name                       coex_wan_tx_while_wlan_tx                               :  1, // [8:8]
48*5113495bSYour Name                       coex_wan_tx_while_wlan_rx                               :  1, // [9:9]
49*5113495bSYour Name                       coex_wlan_tx_while_wlan_tx                              :  1, // [10:10]
50*5113495bSYour Name                       coex_wlan_tx_while_wlan_rx                              :  1, // [11:11]
51*5113495bSYour Name                       global_data_underflow_warning                           :  1, // [12:12]
52*5113495bSYour Name                       global_fes_transmit_result                              :  4, // [16:13]
53*5113495bSYour Name                       cbf_bw_received_valid                                   :  1, // [17:17]
54*5113495bSYour Name                       cbf_bw_received                                         :  3, // [20:18]
55*5113495bSYour Name                       actual_received_ack_type                                :  4, // [24:21]
56*5113495bSYour Name                       sta_response_count                                      :  6, // [30:25]
57*5113495bSYour Name                       dpdtrain_done                                           :  1; // [31:31]
58*5113495bSYour Name              struct   phytx_abort_request_info                                  phytx_abort_request_info_details;
59*5113495bSYour Name              uint16_t reserved_after_struct16                                 :  4, // [19:16]
60*5113495bSYour Name                       brp_info_valid                                          :  1, // [20:20]
61*5113495bSYour Name                       reserved_1a                                             :  6, // [26:21]
62*5113495bSYour Name                       phytx_pkt_end_info_valid                                :  1, // [27:27]
63*5113495bSYour Name                       phytx_abort_request_info_valid                          :  1, // [28:28]
64*5113495bSYour Name                       fes_in_11ax_trigger_response_config                     :  1, // [29:29]
65*5113495bSYour Name                       null_delim_inserted_before_mpdus                        :  1, // [30:30]
66*5113495bSYour Name                       only_null_delim_sent                                    :  1; // [31:31]
67*5113495bSYour Name              uint32_t start_of_frame_timestamp_15_0                           : 16, // [15:0]
68*5113495bSYour Name                       start_of_frame_timestamp_31_16                          : 16; // [31:16]
69*5113495bSYour Name              uint32_t end_of_frame_timestamp_15_0                             : 16, // [15:0]
70*5113495bSYour Name                       end_of_frame_timestamp_31_16                            : 16; // [31:16]
71*5113495bSYour Name              uint32_t terminate_ranging_sequence                              :  1, // [0:0]
72*5113495bSYour Name                       reserved_4a                                             :  7, // [7:1]
73*5113495bSYour Name                       timing_status                                           :  2, // [9:8]
74*5113495bSYour Name                       response_type                                           :  5, // [14:10]
75*5113495bSYour Name                       r2r_end_status_to_follow                                :  1, // [15:15]
76*5113495bSYour Name                       transmit_delay                                          : 16; // [31:16]
77*5113495bSYour Name              uint32_t tx_group_delay                                          : 12, // [11:0]
78*5113495bSYour Name                       reserved_5a                                             :  4, // [15:12]
79*5113495bSYour Name                       tpc_dbg_info_cmn_15_0                                   : 16; // [31:16]
80*5113495bSYour Name              uint32_t tpc_dbg_info_cmn_31_16                                  : 16, // [15:0]
81*5113495bSYour Name                       tpc_dbg_info_47_32                                      : 16; // [31:16]
82*5113495bSYour Name              uint32_t tpc_dbg_info_chn1_15_0                                  : 16, // [15:0]
83*5113495bSYour Name                       tpc_dbg_info_chn1_31_16                                 : 16; // [31:16]
84*5113495bSYour Name              uint32_t tpc_dbg_info_chn1_47_32                                 : 16, // [15:0]
85*5113495bSYour Name                       tpc_dbg_info_chn1_63_48                                 : 16; // [31:16]
86*5113495bSYour Name              uint32_t tpc_dbg_info_chn1_79_64                                 : 16, // [15:0]
87*5113495bSYour Name                       tpc_dbg_info_chn2_15_0                                  : 16; // [31:16]
88*5113495bSYour Name              uint32_t tpc_dbg_info_chn2_31_16                                 : 16, // [15:0]
89*5113495bSYour Name                       tpc_dbg_info_chn2_47_32                                 : 16; // [31:16]
90*5113495bSYour Name              uint32_t tpc_dbg_info_chn2_63_48                                 : 16, // [15:0]
91*5113495bSYour Name                       tpc_dbg_info_chn2_79_64                                 : 16; // [31:16]
92*5113495bSYour Name              uint32_t phytx_tx_end_sw_info_15_0                               : 16, // [15:0]
93*5113495bSYour Name                       phytx_tx_end_sw_info_31_16                              : 16; // [31:16]
94*5113495bSYour Name              uint32_t phytx_tx_end_sw_info_47_32                              : 16, // [15:0]
95*5113495bSYour Name                       phytx_tx_end_sw_info_63_48                              : 16; // [31:16]
96*5113495bSYour Name              uint32_t beamform_masked_user_bitmap_15_0                        : 16, // [15:0]
97*5113495bSYour Name                       beamform_masked_user_bitmap_31_16                       : 16; // [31:16]
98*5113495bSYour Name              uint32_t cbf_segment_request_mask                                :  8, // [7:0]
99*5113495bSYour Name                       cbf_segment_sent_mask                                   :  8, // [15:8]
100*5113495bSYour Name                       highest_achieved_data_null_ratio                        :  5, // [20:16]
101*5113495bSYour Name                       use_alt_power_sr                                        :  1, // [21:21]
102*5113495bSYour Name                       static_2_pwr_mode_status                                :  1, // [22:22]
103*5113495bSYour Name                       obss_srg_opport_transmit_status                         :  1, // [23:23]
104*5113495bSYour Name                       srp_based_transmit_status                               :  1, // [24:24]
105*5113495bSYour Name                       obss_pd_based_transmit_status                           :  1, // [25:25]
106*5113495bSYour Name                       beamform_masked_user_bitmap_36_32                       :  5, // [30:26]
107*5113495bSYour Name                       pdg_mpdu_ready                                          :  1; // [31:31]
108*5113495bSYour Name              uint32_t pdg_mpdu_count                                          : 16, // [15:0]
109*5113495bSYour Name                       pdg_est_mpdu_tx_count                                   : 16; // [31:16]
110*5113495bSYour Name              uint32_t pdg_overview_length                                     : 24, // [23:0]
111*5113495bSYour Name                       txop_duration                                           :  7, // [30:24]
112*5113495bSYour Name                       pdg_dropped_mpdu_warning                                :  1; // [31:31]
113*5113495bSYour Name              uint32_t packet_extension_a_factor                               :  2, // [1:0]
114*5113495bSYour Name                       packet_extension_pe_disambiguity                        :  1, // [2:2]
115*5113495bSYour Name                       packet_extension                                        :  3, // [5:3]
116*5113495bSYour Name                       fec_type                                                :  1, // [6:6]
117*5113495bSYour Name                       stbc                                                    :  1, // [7:7]
118*5113495bSYour Name                       num_data_symbols                                        : 16, // [23:8]
119*5113495bSYour Name                       ru_size                                                 :  4, // [27:24]
120*5113495bSYour Name                       reserved_17a                                            :  4; // [31:28]
121*5113495bSYour Name              uint32_t num_ltf_symbols                                         :  3, // [2:0]
122*5113495bSYour Name                       ltf_size                                                :  2, // [4:3]
123*5113495bSYour Name                       cp_setting                                              :  2, // [6:5]
124*5113495bSYour Name                       reserved_18a                                            :  5, // [11:7]
125*5113495bSYour Name                       dcm                                                     :  1, // [12:12]
126*5113495bSYour Name                       ldpc_extra_symbol                                       :  1, // [13:13]
127*5113495bSYour Name                       force_extra_symbol                                      :  1, // [14:14]
128*5113495bSYour Name                       reserved_18b                                            :  1, // [15:15]
129*5113495bSYour Name                       tx_pwr_shared                                           :  8, // [23:16]
130*5113495bSYour Name                       tx_pwr_unshared                                         :  8; // [31:24]
131*5113495bSYour Name              uint32_t ranging_active_user_map                                 : 16, // [15:0]
132*5113495bSYour Name                       ranging_sent_dummy_tx                                   :  1, // [16:16]
133*5113495bSYour Name                       ranging_ftm_frame_sent                                  :  1, // [17:17]
134*5113495bSYour Name                       reserved_20a                                            :  6, // [23:18]
135*5113495bSYour Name                       cv_corr_status                                          :  8; // [31:24]
136*5113495bSYour Name              uint32_t current_tx_duration                                     : 16, // [15:0]
137*5113495bSYour Name                       reserved_21a                                            : 16; // [31:16]
138*5113495bSYour Name #else
139*5113495bSYour Name              uint32_t dpdtrain_done                                           :  1, // [31:31]
140*5113495bSYour Name                       sta_response_count                                      :  6, // [30:25]
141*5113495bSYour Name                       actual_received_ack_type                                :  4, // [24:21]
142*5113495bSYour Name                       cbf_bw_received                                         :  3, // [20:18]
143*5113495bSYour Name                       cbf_bw_received_valid                                   :  1, // [17:17]
144*5113495bSYour Name                       global_fes_transmit_result                              :  4, // [16:13]
145*5113495bSYour Name                       global_data_underflow_warning                           :  1, // [12:12]
146*5113495bSYour Name                       coex_wlan_tx_while_wlan_rx                              :  1, // [11:11]
147*5113495bSYour Name                       coex_wlan_tx_while_wlan_tx                              :  1, // [10:10]
148*5113495bSYour Name                       coex_wan_tx_while_wlan_rx                               :  1, // [9:9]
149*5113495bSYour Name                       coex_wan_tx_while_wlan_tx                               :  1, // [8:8]
150*5113495bSYour Name                       coex_bt_tx_while_wlan_rx                                :  1, // [7:7]
151*5113495bSYour Name                       coex_bt_tx_while_wlan_tx                                :  1, // [6:6]
152*5113495bSYour Name                       prot_coex_wlan_tx_while_wlan_rx                         :  1, // [5:5]
153*5113495bSYour Name                       prot_coex_wlan_tx_while_wlan_tx                         :  1, // [4:4]
154*5113495bSYour Name                       prot_coex_wan_tx_while_wlan_rx                          :  1, // [3:3]
155*5113495bSYour Name                       prot_coex_wan_tx_while_wlan_tx                          :  1, // [2:2]
156*5113495bSYour Name                       prot_coex_bt_tx_while_wlan_rx                           :  1, // [1:1]
157*5113495bSYour Name                       prot_coex_bt_tx_while_wlan_tx                           :  1; // [0:0]
158*5113495bSYour Name              uint32_t only_null_delim_sent                                    :  1, // [31:31]
159*5113495bSYour Name                       null_delim_inserted_before_mpdus                        :  1, // [30:30]
160*5113495bSYour Name                       fes_in_11ax_trigger_response_config                     :  1, // [29:29]
161*5113495bSYour Name                       phytx_abort_request_info_valid                          :  1, // [28:28]
162*5113495bSYour Name                       phytx_pkt_end_info_valid                                :  1, // [27:27]
163*5113495bSYour Name                       reserved_1a                                             :  6, // [26:21]
164*5113495bSYour Name                       brp_info_valid                                          :  1, // [20:20]
165*5113495bSYour Name                       reserved_after_struct16                                 :  4; // [19:16]
166*5113495bSYour Name              struct   phytx_abort_request_info                                  phytx_abort_request_info_details;
167*5113495bSYour Name              uint32_t start_of_frame_timestamp_31_16                          : 16, // [31:16]
168*5113495bSYour Name                       start_of_frame_timestamp_15_0                           : 16; // [15:0]
169*5113495bSYour Name              uint32_t end_of_frame_timestamp_31_16                            : 16, // [31:16]
170*5113495bSYour Name                       end_of_frame_timestamp_15_0                             : 16; // [15:0]
171*5113495bSYour Name              uint32_t transmit_delay                                          : 16, // [31:16]
172*5113495bSYour Name                       r2r_end_status_to_follow                                :  1, // [15:15]
173*5113495bSYour Name                       response_type                                           :  5, // [14:10]
174*5113495bSYour Name                       timing_status                                           :  2, // [9:8]
175*5113495bSYour Name                       reserved_4a                                             :  7, // [7:1]
176*5113495bSYour Name                       terminate_ranging_sequence                              :  1; // [0:0]
177*5113495bSYour Name              uint32_t tpc_dbg_info_cmn_15_0                                   : 16, // [31:16]
178*5113495bSYour Name                       reserved_5a                                             :  4, // [15:12]
179*5113495bSYour Name                       tx_group_delay                                          : 12; // [11:0]
180*5113495bSYour Name              uint32_t tpc_dbg_info_47_32                                      : 16, // [31:16]
181*5113495bSYour Name                       tpc_dbg_info_cmn_31_16                                  : 16; // [15:0]
182*5113495bSYour Name              uint32_t tpc_dbg_info_chn1_31_16                                 : 16, // [31:16]
183*5113495bSYour Name                       tpc_dbg_info_chn1_15_0                                  : 16; // [15:0]
184*5113495bSYour Name              uint32_t tpc_dbg_info_chn1_63_48                                 : 16, // [31:16]
185*5113495bSYour Name                       tpc_dbg_info_chn1_47_32                                 : 16; // [15:0]
186*5113495bSYour Name              uint32_t tpc_dbg_info_chn2_15_0                                  : 16, // [31:16]
187*5113495bSYour Name                       tpc_dbg_info_chn1_79_64                                 : 16; // [15:0]
188*5113495bSYour Name              uint32_t tpc_dbg_info_chn2_47_32                                 : 16, // [31:16]
189*5113495bSYour Name                       tpc_dbg_info_chn2_31_16                                 : 16; // [15:0]
190*5113495bSYour Name              uint32_t tpc_dbg_info_chn2_79_64                                 : 16, // [31:16]
191*5113495bSYour Name                       tpc_dbg_info_chn2_63_48                                 : 16; // [15:0]
192*5113495bSYour Name              uint32_t phytx_tx_end_sw_info_31_16                              : 16, // [31:16]
193*5113495bSYour Name                       phytx_tx_end_sw_info_15_0                               : 16; // [15:0]
194*5113495bSYour Name              uint32_t phytx_tx_end_sw_info_63_48                              : 16, // [31:16]
195*5113495bSYour Name                       phytx_tx_end_sw_info_47_32                              : 16; // [15:0]
196*5113495bSYour Name              uint32_t beamform_masked_user_bitmap_31_16                       : 16, // [31:16]
197*5113495bSYour Name                       beamform_masked_user_bitmap_15_0                        : 16; // [15:0]
198*5113495bSYour Name              uint32_t pdg_mpdu_ready                                          :  1, // [31:31]
199*5113495bSYour Name                       beamform_masked_user_bitmap_36_32                       :  5, // [30:26]
200*5113495bSYour Name                       obss_pd_based_transmit_status                           :  1, // [25:25]
201*5113495bSYour Name                       srp_based_transmit_status                               :  1, // [24:24]
202*5113495bSYour Name                       obss_srg_opport_transmit_status                         :  1, // [23:23]
203*5113495bSYour Name                       static_2_pwr_mode_status                                :  1, // [22:22]
204*5113495bSYour Name                       use_alt_power_sr                                        :  1, // [21:21]
205*5113495bSYour Name                       highest_achieved_data_null_ratio                        :  5, // [20:16]
206*5113495bSYour Name                       cbf_segment_sent_mask                                   :  8, // [15:8]
207*5113495bSYour Name                       cbf_segment_request_mask                                :  8; // [7:0]
208*5113495bSYour Name              uint32_t pdg_est_mpdu_tx_count                                   : 16, // [31:16]
209*5113495bSYour Name                       pdg_mpdu_count                                          : 16; // [15:0]
210*5113495bSYour Name              uint32_t pdg_dropped_mpdu_warning                                :  1, // [31:31]
211*5113495bSYour Name                       txop_duration                                           :  7, // [30:24]
212*5113495bSYour Name                       pdg_overview_length                                     : 24; // [23:0]
213*5113495bSYour Name              uint32_t reserved_17a                                            :  4, // [31:28]
214*5113495bSYour Name                       ru_size                                                 :  4, // [27:24]
215*5113495bSYour Name                       num_data_symbols                                        : 16, // [23:8]
216*5113495bSYour Name                       stbc                                                    :  1, // [7:7]
217*5113495bSYour Name                       fec_type                                                :  1, // [6:6]
218*5113495bSYour Name                       packet_extension                                        :  3, // [5:3]
219*5113495bSYour Name                       packet_extension_pe_disambiguity                        :  1, // [2:2]
220*5113495bSYour Name                       packet_extension_a_factor                               :  2; // [1:0]
221*5113495bSYour Name              uint32_t tx_pwr_unshared                                         :  8, // [31:24]
222*5113495bSYour Name                       tx_pwr_shared                                           :  8, // [23:16]
223*5113495bSYour Name                       reserved_18b                                            :  1, // [15:15]
224*5113495bSYour Name                       force_extra_symbol                                      :  1, // [14:14]
225*5113495bSYour Name                       ldpc_extra_symbol                                       :  1, // [13:13]
226*5113495bSYour Name                       dcm                                                     :  1, // [12:12]
227*5113495bSYour Name                       reserved_18a                                            :  5, // [11:7]
228*5113495bSYour Name                       cp_setting                                              :  2, // [6:5]
229*5113495bSYour Name                       ltf_size                                                :  2, // [4:3]
230*5113495bSYour Name                       num_ltf_symbols                                         :  3; // [2:0]
231*5113495bSYour Name              uint32_t cv_corr_status                                          :  8, // [31:24]
232*5113495bSYour Name                       reserved_20a                                            :  6, // [23:18]
233*5113495bSYour Name                       ranging_ftm_frame_sent                                  :  1, // [17:17]
234*5113495bSYour Name                       ranging_sent_dummy_tx                                   :  1, // [16:16]
235*5113495bSYour Name                       ranging_active_user_map                                 : 16; // [15:0]
236*5113495bSYour Name              uint32_t reserved_21a                                            : 16, // [31:16]
237*5113495bSYour Name                       current_tx_duration                                     : 16; // [15:0]
238*5113495bSYour Name #endif
239*5113495bSYour Name };
240*5113495bSYour Name 
241*5113495bSYour Name 
242*5113495bSYour Name /* Description		PROT_COEX_BT_TX_WHILE_WLAN_TX
243*5113495bSYour Name 
244*5113495bSYour Name 			When set, a BT tx coex event started while wlan was in the
245*5113495bSYour Name 			 middle of TX a transmission.
246*5113495bSYour Name 
247*5113495bSYour Name 			Field set when coex_status_broadcast TLV received with bt
248*5113495bSYour Name 			 tx activity set and during WLAN tx
249*5113495bSYour Name 			<legal all>
250*5113495bSYour Name */
251*5113495bSYour Name 
252*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_OFFSET                      0x0000000000000000
253*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_LSB                         0
254*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_MSB                         0
255*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_MASK                        0x0000000000000001
256*5113495bSYour Name 
257*5113495bSYour Name 
258*5113495bSYour Name /* Description		PROT_COEX_BT_TX_WHILE_WLAN_RX
259*5113495bSYour Name 
260*5113495bSYour Name 			When set, a BT tx coex event started while wlan was in the
261*5113495bSYour Name 			 middle of TX a transmission.
262*5113495bSYour Name 
263*5113495bSYour Name 			Field set when coex broadcast TLV received with bt tx activity
264*5113495bSYour Name 			 set and during WLAN rx
265*5113495bSYour Name 			<legal all>
266*5113495bSYour Name */
267*5113495bSYour Name 
268*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_OFFSET                      0x0000000000000000
269*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_LSB                         1
270*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_MSB                         1
271*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_MASK                        0x0000000000000002
272*5113495bSYour Name 
273*5113495bSYour Name 
274*5113495bSYour Name /* Description		PROT_COEX_WAN_TX_WHILE_WLAN_TX
275*5113495bSYour Name 
276*5113495bSYour Name 			When set, a WAN tx coex event started while wlan was in
277*5113495bSYour Name 			the middle of TX a transmission.
278*5113495bSYour Name 
279*5113495bSYour Name 			Field set when coex_status_broadcast TLV received with WAN
280*5113495bSYour Name 			 tx activity set and during WLAN tx
281*5113495bSYour Name 			<legal all>
282*5113495bSYour Name */
283*5113495bSYour Name 
284*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET                     0x0000000000000000
285*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_LSB                        2
286*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_MSB                        2
287*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_MASK                       0x0000000000000004
288*5113495bSYour Name 
289*5113495bSYour Name 
290*5113495bSYour Name /* Description		PROT_COEX_WAN_TX_WHILE_WLAN_RX
291*5113495bSYour Name 
292*5113495bSYour Name 			When set, a WAN tx coex event started while wlan was in
293*5113495bSYour Name 			the middle of TX a transmission.
294*5113495bSYour Name 
295*5113495bSYour Name 			Field set when coex broadcast TLV received with WAN tx activity
296*5113495bSYour Name 			 set and during WLAN rx
297*5113495bSYour Name 			<legal all>
298*5113495bSYour Name */
299*5113495bSYour Name 
300*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_OFFSET                     0x0000000000000000
301*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_LSB                        3
302*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_MSB                        3
303*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_MASK                       0x0000000000000008
304*5113495bSYour Name 
305*5113495bSYour Name 
306*5113495bSYour Name /* Description		PROT_COEX_WLAN_TX_WHILE_WLAN_TX
307*5113495bSYour Name 
308*5113495bSYour Name 			When set, a WLAN tx coex event started while wlan was in
309*5113495bSYour Name 			 the middle of TX a transmission.
310*5113495bSYour Name 
311*5113495bSYour Name 			Field set when coex_status_broadcast TLV received with WLAN
312*5113495bSYour Name 			 tx activity set and during WLAN tx
313*5113495bSYour Name 			<legal all>
314*5113495bSYour Name */
315*5113495bSYour Name 
316*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET                    0x0000000000000000
317*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_LSB                       4
318*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_MSB                       4
319*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_MASK                      0x0000000000000010
320*5113495bSYour Name 
321*5113495bSYour Name 
322*5113495bSYour Name /* Description		PROT_COEX_WLAN_TX_WHILE_WLAN_RX
323*5113495bSYour Name 
324*5113495bSYour Name 			When set, a WLAN tx coex event started while wlan was in
325*5113495bSYour Name 			 the middle of TX a transmission.
326*5113495bSYour Name 
327*5113495bSYour Name 			Field set when coex broadcast TLV received with WLAN tx
328*5113495bSYour Name 			activity set and during WLAN rx
329*5113495bSYour Name 			<legal all>
330*5113495bSYour Name */
331*5113495bSYour Name 
332*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_OFFSET                    0x0000000000000000
333*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_LSB                       5
334*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_MSB                       5
335*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_MASK                      0x0000000000000020
336*5113495bSYour Name 
337*5113495bSYour Name 
338*5113495bSYour Name /* Description		COEX_BT_TX_WHILE_WLAN_TX
339*5113495bSYour Name 
340*5113495bSYour Name 			When set, a BT tx coex event started while wlan was in the
341*5113495bSYour Name 			 middle of TX a transmission.
342*5113495bSYour Name 
343*5113495bSYour Name 			Field set when coex_status_broadcast TLV received with bt
344*5113495bSYour Name 			 tx activity set and during WLAN tx
345*5113495bSYour Name 			<legal all>
346*5113495bSYour Name */
347*5113495bSYour Name 
348*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_OFFSET                           0x0000000000000000
349*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_LSB                              6
350*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_MSB                              6
351*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_MASK                             0x0000000000000040
352*5113495bSYour Name 
353*5113495bSYour Name 
354*5113495bSYour Name /* Description		COEX_BT_TX_WHILE_WLAN_RX
355*5113495bSYour Name 
356*5113495bSYour Name 			When set, a BT tx coex event started while wlan was in the
357*5113495bSYour Name 			 middle of TX a transmission.
358*5113495bSYour Name 
359*5113495bSYour Name 			Field set when coex broadcast TLV received with bt tx activity
360*5113495bSYour Name 			 set and during WLAN rx
361*5113495bSYour Name 			<legal all>
362*5113495bSYour Name */
363*5113495bSYour Name 
364*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_OFFSET                           0x0000000000000000
365*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_LSB                              7
366*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_MSB                              7
367*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_MASK                             0x0000000000000080
368*5113495bSYour Name 
369*5113495bSYour Name 
370*5113495bSYour Name /* Description		COEX_WAN_TX_WHILE_WLAN_TX
371*5113495bSYour Name 
372*5113495bSYour Name 			When set, a WAN tx coex event started while wlan was in
373*5113495bSYour Name 			the middle of TX a transmission.
374*5113495bSYour Name 
375*5113495bSYour Name 			Field set when coex_status_broadcast TLV received with WAN
376*5113495bSYour Name 			 tx activity set and during WLAN tx
377*5113495bSYour Name 			<legal all>
378*5113495bSYour Name */
379*5113495bSYour Name 
380*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET                          0x0000000000000000
381*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_LSB                             8
382*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_MSB                             8
383*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_MASK                            0x0000000000000100
384*5113495bSYour Name 
385*5113495bSYour Name 
386*5113495bSYour Name /* Description		COEX_WAN_TX_WHILE_WLAN_RX
387*5113495bSYour Name 
388*5113495bSYour Name 			When set, a WAN tx coex event started while wlan was in
389*5113495bSYour Name 			the middle of TX a transmission.
390*5113495bSYour Name 
391*5113495bSYour Name 			Field set when coex broadcast TLV received with WAN tx activity
392*5113495bSYour Name 			 set and during WLAN rx
393*5113495bSYour Name 			<legal all>
394*5113495bSYour Name */
395*5113495bSYour Name 
396*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_OFFSET                          0x0000000000000000
397*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_LSB                             9
398*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_MSB                             9
399*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_MASK                            0x0000000000000200
400*5113495bSYour Name 
401*5113495bSYour Name 
402*5113495bSYour Name /* Description		COEX_WLAN_TX_WHILE_WLAN_TX
403*5113495bSYour Name 
404*5113495bSYour Name 			When set, a WLAN tx coex event started while wlan was in
405*5113495bSYour Name 			 the middle of TX a transmission.
406*5113495bSYour Name 
407*5113495bSYour Name 			Field set when coex_status_broadcast TLV received with WLAN
408*5113495bSYour Name 			 tx activity set and during WLAN tx
409*5113495bSYour Name 			<legal all>
410*5113495bSYour Name */
411*5113495bSYour Name 
412*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET                         0x0000000000000000
413*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_LSB                            10
414*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_MSB                            10
415*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_MASK                           0x0000000000000400
416*5113495bSYour Name 
417*5113495bSYour Name 
418*5113495bSYour Name /* Description		COEX_WLAN_TX_WHILE_WLAN_RX
419*5113495bSYour Name 
420*5113495bSYour Name 			When set, a WLAN tx coex event started while wlan was in
421*5113495bSYour Name 			 the middle of TX a transmission.
422*5113495bSYour Name 
423*5113495bSYour Name 			Field set when coex broadcast TLV received with WLAN tx
424*5113495bSYour Name 			activity set and during WLAN rx
425*5113495bSYour Name 			<legal all>
426*5113495bSYour Name */
427*5113495bSYour Name 
428*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_OFFSET                         0x0000000000000000
429*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_LSB                            11
430*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_MSB                            11
431*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_MASK                           0x0000000000000800
432*5113495bSYour Name 
433*5113495bSYour Name 
434*5113495bSYour Name /* Description		GLOBAL_DATA_UNDERFLOW_WARNING
435*5113495bSYour Name 
436*5113495bSYour Name 			Consumer: SCH/SW
437*5113495bSYour Name 			Producer: TXPCU
438*5113495bSYour Name 
439*5113495bSYour Name 			When set, during transmission a data underflow occurred
440*5113495bSYour Name 			for one or more users.<legal all>
441*5113495bSYour Name */
442*5113495bSYour Name 
443*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_OFFSET                      0x0000000000000000
444*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_LSB                         12
445*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_MSB                         12
446*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_MASK                        0x0000000000001000
447*5113495bSYour Name 
448*5113495bSYour Name 
449*5113495bSYour Name /* Description		GLOBAL_FES_TRANSMIT_RESULT
450*5113495bSYour Name 
451*5113495bSYour Name 			Consumer: SCH/SW
452*5113495bSYour Name 			Producer: TXPCU
453*5113495bSYour Name 
454*5113495bSYour Name 			Global Transmit result, not per USER transmit result
455*5113495bSYour Name 
456*5113495bSYour Name 			Note: field "Response_type" indicates if the expected response
457*5113495bSYour Name 			 was MU related or not.
458*5113495bSYour Name 
459*5113495bSYour Name 			<enum 0 tx_ok> Successful transmission of entire Frame exchange
460*5113495bSYour Name 			 sequence
461*5113495bSYour Name 			<enum 1 prot_resp_rx_timeout>
462*5113495bSYour Name 			No Protection response frame received so timeout is triggered.
463*5113495bSYour Name 
464*5113495bSYour Name 			<enum 2 ppdu_resp_rx_timeout> No PPDU response frame received
465*5113495bSYour Name 			 so timeout is triggered.
466*5113495bSYour Name 			<enum 3 resp_frame_crc_err> Response frame was received
467*5113495bSYour Name 			with an invalid FCS.
468*5113495bSYour Name 			<enum 4 SU_Response_type_mismatch> Response frame is received
469*5113495bSYour Name 			 without CRC error but it's not matched with expected SU_Response_type.
470*5113495bSYour Name 
471*5113495bSYour Name 			<enum 5 cbf_mimo_ctrl_mismatch> Set if CBF is received without
472*5113495bSYour Name 			 any error but the Nr, Nc, BW, type or token in VHT MIMO
473*5113495bSYour Name 			 control field is not matched with expected values which
474*5113495bSYour Name 			 are specified by TX_FES_SETUP.cbf_* fields.
475*5113495bSYour Name 			<enum 7 MU_Response_type_mismatch> Response frame is received
476*5113495bSYour Name 			 without CRC error but it's not matched with expected SU_Response_type.
477*5113495bSYour Name 
478*5113495bSYour Name 			<enum 8 MU_Response_mpdu_not_valid>  For this user, no MPDU
479*5113495bSYour Name 			 was received at all, or all received MPDUs had an FCS error.
480*5113495bSYour Name 
481*5113495bSYour Name 			<enum 9 MU_UL_not_enough_user_response> An MU UL response
482*5113495bSYour Name 			 reception was expected. That response came but the threshold
483*5113495bSYour Name 			 for number of successful user receptions was not met.
484*5113495bSYour Name 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
485*5113495bSYour Name 			 TLV...
486*5113495bSYour Name 			<enum 10 Transmit_data_null_ratio_not_met> transmission
487*5113495bSYour Name 			was successful and proper responses have been received.
488*5113495bSYour Name 			But the required ratio between useful MPDU data and null
489*5113495bSYour Name 			 delimiters was not met as specified by field : Fes_continuation_ratio_threshold.
490*5113495bSYour Name 			The FES (and potentially the SIFS burst) shall be terminated
491*5113495bSYour Name 			 by the SCHeduler
492*5113495bSYour Name 			NOTE 1: This e-num will only be used in the TX_FES_STATUS_END
493*5113495bSYour Name 			 TLV...
494*5113495bSYour Name 			NOTE 2: This Feature is not supported in Napier and Hastings.
495*5113495bSYour Name 
496*5113495bSYour Name 			<enum 6 TB_ranging_resp_timeout> A TB ranging response was
497*5113495bSYour Name 			 expected for a sounding TF, but the response did not arrive
498*5113495bSYour Name 			 and timeout is triggered.
499*5113495bSYour Name 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
500*5113495bSYour Name 			 TLV...
501*5113495bSYour Name 			<enum 11 tb_ranging_resp_mismatch> A TB ranging response
502*5113495bSYour Name 			 was expected for a sounding TF, but the reception did not
503*5113495bSYour Name 			 match the expected response.
504*5113495bSYour Name 			NOTE: This e-num will only be used in the TX_FES_STATUS_END
505*5113495bSYour Name 			 TLV...
506*5113495bSYour Name 
507*5113495bSYour Name 			<legal 0-11>
508*5113495bSYour Name */
509*5113495bSYour Name 
510*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_OFFSET                         0x0000000000000000
511*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_LSB                            13
512*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_MSB                            16
513*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_MASK                           0x000000000001e000
514*5113495bSYour Name 
515*5113495bSYour Name 
516*5113495bSYour Name /* Description		CBF_BW_RECEIVED_VALID
517*5113495bSYour Name 
518*5113495bSYour Name 			Field only valid in case of SU reception.
519*5113495bSYour Name 			In MU set to 0
520*5113495bSYour Name 
521*5113495bSYour Name 			When set, the cbf_bw_received field contains valid info
522*5113495bSYour Name */
523*5113495bSYour Name 
524*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_OFFSET                              0x0000000000000000
525*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_LSB                                 17
526*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_MSB                                 17
527*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_MASK                                0x0000000000020000
528*5113495bSYour Name 
529*5113495bSYour Name 
530*5113495bSYour Name /* Description		CBF_BW_RECEIVED
531*5113495bSYour Name 
532*5113495bSYour Name 			Field only valid when cbf_bw_received_valid is set.
533*5113495bSYour Name 
534*5113495bSYour Name 			In MU set to 0
535*5113495bSYour Name 
536*5113495bSYour Name 			<enum 0 20_mhz>20 Mhz BW
537*5113495bSYour Name 			<enum 1 40_mhz>40 Mhz BW
538*5113495bSYour Name 			<enum 2 80_mhz>80 Mhz BW
539*5113495bSYour Name 			<enum 3 160_mhz>160 Mhz BW
540*5113495bSYour Name 			<enum 4 320_mhz>320 Mhz BW
541*5113495bSYour Name 			<enum 5 240_mhz>240 Mhz BW
542*5113495bSYour Name */
543*5113495bSYour Name 
544*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_OFFSET                                    0x0000000000000000
545*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_LSB                                       18
546*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_MSB                                       20
547*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_MASK                                      0x00000000001c0000
548*5113495bSYour Name 
549*5113495bSYour Name 
550*5113495bSYour Name /* Description		ACTUAL_RECEIVED_ACK_TYPE
551*5113495bSYour Name 
552*5113495bSYour Name 			Field only valid in case of SU reception.
553*5113495bSYour Name 			In MU set to 0
554*5113495bSYour Name 
555*5113495bSYour Name 
556*5113495bSYour Name 			Field indicates what type of ACK was received. Can help
557*5113495bSYour Name 			determine if unexpected ACK Types (like 256 BA instead of
558*5113495bSYour Name 			 64 BA) is received.
559*5113495bSYour Name 
560*5113495bSYour Name 			<enum 0  Ack_not_applicable> No ACK type response was received
561*5113495bSYour Name 			 or expected
562*5113495bSYour Name 			<enum 1  ACK_basic_received > a basic ACk frame is received
563*5113495bSYour Name 
564*5113495bSYour Name 			<enum 2  ACK_BA_0 > An ACK embedded in BA frame is received
565*5113495bSYour Name 
566*5113495bSYour Name 			<enum 3  ACK_BA_32_received > a 32 bit BA has been received
567*5113495bSYour Name 
568*5113495bSYour Name 			<enum 4  ACK_BA_64_received > a 64 bit BA has been received
569*5113495bSYour Name 
570*5113495bSYour Name 			<enum 5  ACK_BA_128_received > a 128 bit BA has been received
571*5113495bSYour Name 
572*5113495bSYour Name 
573*5113495bSYour Name 			<enum 6  ACK_BA_256_received > a 256 bit BA has been received
574*5113495bSYour Name 
575*5113495bSYour Name 			<enum 8 ACK_BA_512_received> a 512-bit BA has been received
576*5113495bSYour Name 
577*5113495bSYour Name 			<enum 9 ACK_BA_1024_received> a 1024-bit BA has been received
578*5113495bSYour Name 
579*5113495bSYour Name 			<enum 7  ACK_BA_multiple_received > multiple BA responses
580*5113495bSYour Name 			 have been received. This field to be used in scenarios
581*5113495bSYour Name 			where multi TID data was send or data with management frames
582*5113495bSYour Name 			 was send
583*5113495bSYour Name 
584*5113495bSYour Name 			<legal 0-9>
585*5113495bSYour Name */
586*5113495bSYour Name 
587*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_OFFSET                           0x0000000000000000
588*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_LSB                              21
589*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_MSB                              24
590*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_MASK                             0x0000000001e00000
591*5113495bSYour Name 
592*5113495bSYour Name 
593*5113495bSYour Name /* Description		STA_RESPONSE_COUNT
594*5113495bSYour Name 
595*5113495bSYour Name 			In of case of a transmission where a response from multiple
596*5113495bSYour Name 			 STAs in SIFS time is expected, this field indicates how
597*5113495bSYour Name 			 many STAs actually send a response.
598*5113495bSYour Name 
599*5113495bSYour Name 			<legal 0-63>
600*5113495bSYour Name */
601*5113495bSYour Name 
602*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_OFFSET                                 0x0000000000000000
603*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_LSB                                    25
604*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_MSB                                    30
605*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_MASK                                   0x000000007e000000
606*5113495bSYour Name 
607*5113495bSYour Name 
608*5113495bSYour Name /* Description		DPDTRAIN_DONE
609*5113495bSYour Name 
610*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
611*5113495bSYour Name 
612*5113495bSYour Name 			For DPD Training packets, this bit is set to indicate that
613*5113495bSYour Name 			 DPD Training was successfully run to completion.  Also
614*5113495bSYour Name 			reused by Implicit BF Calibration Packets. This bit is intended
615*5113495bSYour Name 			 for debug purposes.
616*5113495bSYour Name 			<legal all>
617*5113495bSYour Name */
618*5113495bSYour Name 
619*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_OFFSET                                      0x0000000000000000
620*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_LSB                                         31
621*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_MSB                                         31
622*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_MASK                                        0x0000000080000000
623*5113495bSYour Name 
624*5113495bSYour Name 
625*5113495bSYour Name /* Description		PHYTX_ABORT_REQUEST_INFO_DETAILS
626*5113495bSYour Name 
627*5113495bSYour Name 			Field only valid when PHYTX_ABORT_REQUEST_info_valid is
628*5113495bSYour Name 			set
629*5113495bSYour Name 
630*5113495bSYour Name 			The reason why PHYTX is requested an abort
631*5113495bSYour Name */
632*5113495bSYour Name 
633*5113495bSYour Name 
634*5113495bSYour Name /* Description		PHYTX_ABORT_REASON
635*5113495bSYour Name 
636*5113495bSYour Name 			Reason for early termination of TX packet by the PHY
637*5113495bSYour Name 
638*5113495bSYour Name 			<enum_type PHYTX_ABORT_ENUM>
639*5113495bSYour Name */
640*5113495bSYour Name 
641*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_OFFSET 0x0000000000000000
642*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_LSB   32
643*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MSB   39
644*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MASK  0x000000ff00000000
645*5113495bSYour Name 
646*5113495bSYour Name 
647*5113495bSYour Name /* Description		USER_NUMBER
648*5113495bSYour Name 
649*5113495bSYour Name 			For some errors, the user for which this error was detected
650*5113495bSYour Name 			 can be indicated in this field.
651*5113495bSYour Name 			<legal 0-36>
652*5113495bSYour Name */
653*5113495bSYour Name 
654*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_OFFSET       0x0000000000000000
655*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_LSB          40
656*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MSB          45
657*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MASK         0x00003f0000000000
658*5113495bSYour Name 
659*5113495bSYour Name 
660*5113495bSYour Name /* Description		RESERVED
661*5113495bSYour Name 
662*5113495bSYour Name 			<legal 0>
663*5113495bSYour Name */
664*5113495bSYour Name 
665*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_OFFSET          0x0000000000000000
666*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_LSB             46
667*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MSB             47
668*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MASK            0x0000c00000000000
669*5113495bSYour Name 
670*5113495bSYour Name 
671*5113495bSYour Name /* Description		RESERVED_AFTER_STRUCT16
672*5113495bSYour Name 
673*5113495bSYour Name 			<legal 0>
674*5113495bSYour Name */
675*5113495bSYour Name 
676*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_OFFSET                            0x0000000000000000
677*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_LSB                               48
678*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_MSB                               51
679*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_MASK                              0x000f000000000000
680*5113495bSYour Name 
681*5113495bSYour Name 
682*5113495bSYour Name /* Description		BRP_INFO_VALID
683*5113495bSYour Name 
684*5113495bSYour Name 			When set, TXPCU sent CBF segments.
685*5113495bSYour Name 
686*5113495bSYour Name 			Fields cbf_segment_request_mask and cbf_segment_sent_mask
687*5113495bSYour Name 			 contain valid info.
688*5113495bSYour Name 
689*5113495bSYour Name 			<legal all>
690*5113495bSYour Name */
691*5113495bSYour Name 
692*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_OFFSET                                     0x0000000000000000
693*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_LSB                                        52
694*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_MSB                                        52
695*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_MASK                                       0x0010000000000000
696*5113495bSYour Name 
697*5113495bSYour Name 
698*5113495bSYour Name /* Description		RESERVED_1A
699*5113495bSYour Name 
700*5113495bSYour Name 			<legal 0>
701*5113495bSYour Name */
702*5113495bSYour Name 
703*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_OFFSET                                        0x0000000000000000
704*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_LSB                                           53
705*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_MSB                                           58
706*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_MASK                                          0x07e0000000000000
707*5113495bSYour Name 
708*5113495bSYour Name 
709*5113495bSYour Name /* Description		PHYTX_PKT_END_INFO_VALID
710*5113495bSYour Name 
711*5113495bSYour Name 			All the fields originating from PHYTX_PKT_END TLV contain
712*5113495bSYour Name 			 valid info
713*5113495bSYour Name */
714*5113495bSYour Name 
715*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_OFFSET                           0x0000000000000000
716*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_LSB                              59
717*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_MSB                              59
718*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_MASK                             0x0800000000000000
719*5113495bSYour Name 
720*5113495bSYour Name 
721*5113495bSYour Name /* Description		PHYTX_ABORT_REQUEST_INFO_VALID
722*5113495bSYour Name 
723*5113495bSYour Name 			Field Phytx_abort_request_info_details contains valid info
724*5113495bSYour Name 
725*5113495bSYour Name */
726*5113495bSYour Name 
727*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_OFFSET                     0x0000000000000000
728*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_LSB                        60
729*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_MSB                        60
730*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_MASK                       0x1000000000000000
731*5113495bSYour Name 
732*5113495bSYour Name 
733*5113495bSYour Name /* Description		FES_IN_11AX_TRIGGER_RESPONSE_CONFIG
734*5113495bSYour Name 
735*5113495bSYour Name 			When set, this transmission was the result of responding
736*5113495bSYour Name 			 to the reception of an 11ax trigger. This is a copy of
737*5113495bSYour Name 			field Fes_in_11ax_Trigger_response_config in the TX_FES_SETUP
738*5113495bSYour Name 			 TLV.
739*5113495bSYour Name 			<legal all>
740*5113495bSYour Name */
741*5113495bSYour Name 
742*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_OFFSET                0x0000000000000000
743*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_LSB                   61
744*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MSB                   61
745*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MASK                  0x2000000000000000
746*5113495bSYour Name 
747*5113495bSYour Name 
748*5113495bSYour Name /* Description		NULL_DELIM_INSERTED_BEFORE_MPDUS
749*5113495bSYour Name 
750*5113495bSYour Name 			Field only valid when "Fes_in_11ax_Trigger_response_config"
751*5113495bSYour Name 			is set.
752*5113495bSYour Name 
753*5113495bSYour Name 			This bit will get set if any NULL delimiter is sent out
754*5113495bSYour Name 			to PHY, during the whole transmit duration(self_gen + FES).
755*5113495bSYour Name 
756*5113495bSYour Name 			This bit will NOT be set, if no MPDU data is sent out to
757*5113495bSYour Name 			 PHY and whole transmit duration is filled with NULL delimiters.
758*5113495bSYour Name 
759*5113495bSYour Name 
760*5113495bSYour Name 			Note that SCH does not evaluate this field. It is only for
761*5113495bSYour Name 			 SW to look at.
762*5113495bSYour Name 
763*5113495bSYour Name 			<legal all>
764*5113495bSYour Name */
765*5113495bSYour Name 
766*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_OFFSET                   0x0000000000000000
767*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_LSB                      62
768*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_MSB                      62
769*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_MASK                     0x4000000000000000
770*5113495bSYour Name 
771*5113495bSYour Name 
772*5113495bSYour Name /* Description		ONLY_NULL_DELIM_SENT
773*5113495bSYour Name 
774*5113495bSYour Name 			Field only valid when "Fes_in_11ax_Trigger_response_config"
775*5113495bSYour Name 			is set.
776*5113495bSYour Name 
777*5113495bSYour Name 			This bit will be set if only NULL delimiters are sent to
778*5113495bSYour Name 			 the PHY and no SCH sourced MPDU data is sent out.
779*5113495bSYour Name 			NOTE here that self-gen MPDU data will not be considered
780*5113495bSYour Name 			 while evaluating this bit.
781*5113495bSYour Name 
782*5113495bSYour Name 			Note that SCH does not evaluate this field. It is only for
783*5113495bSYour Name 			 SW to look at.
784*5113495bSYour Name 
785*5113495bSYour Name 			<legal all>
786*5113495bSYour Name */
787*5113495bSYour Name 
788*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_OFFSET                               0x0000000000000000
789*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_LSB                                  63
790*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_MSB                                  63
791*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_MASK                                 0x8000000000000000
792*5113495bSYour Name 
793*5113495bSYour Name 
794*5113495bSYour Name /* Description		START_OF_FRAME_TIMESTAMP_15_0
795*5113495bSYour Name 
796*5113495bSYour Name 			PHYTX_PKT_END info
797*5113495bSYour Name 
798*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
799*5113495bSYour Name 
800*5113495bSYour Name 			bits 15:0 of a 64 bit time stamp
801*5113495bSYour Name 			Start of frame in the medium @960 MHz
802*5113495bSYour Name 			<legal all>
803*5113495bSYour Name */
804*5113495bSYour Name 
805*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_OFFSET                      0x0000000000000008
806*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_LSB                         0
807*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_MSB                         15
808*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_MASK                        0x000000000000ffff
809*5113495bSYour Name 
810*5113495bSYour Name 
811*5113495bSYour Name /* Description		START_OF_FRAME_TIMESTAMP_31_16
812*5113495bSYour Name 
813*5113495bSYour Name 			PHYTX_PKT_END info
814*5113495bSYour Name 
815*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
816*5113495bSYour Name 
817*5113495bSYour Name 			bits 31:16 of a 64 bit time stamp
818*5113495bSYour Name 			Start of frame in the medium @960 MHz
819*5113495bSYour Name 			<legal all>
820*5113495bSYour Name */
821*5113495bSYour Name 
822*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_OFFSET                     0x0000000000000008
823*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_LSB                        16
824*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_MSB                        31
825*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_MASK                       0x00000000ffff0000
826*5113495bSYour Name 
827*5113495bSYour Name 
828*5113495bSYour Name /* Description		END_OF_FRAME_TIMESTAMP_15_0
829*5113495bSYour Name 
830*5113495bSYour Name 			PHYTX_PKT_END info
831*5113495bSYour Name 
832*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
833*5113495bSYour Name 
834*5113495bSYour Name 			bits 15:0 of a 64 bit time stamp
835*5113495bSYour Name 			End of frame in the medium @960 MHz
836*5113495bSYour Name 			<legal all>
837*5113495bSYour Name */
838*5113495bSYour Name 
839*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_OFFSET                        0x0000000000000008
840*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_LSB                           32
841*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_MSB                           47
842*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_MASK                          0x0000ffff00000000
843*5113495bSYour Name 
844*5113495bSYour Name 
845*5113495bSYour Name /* Description		END_OF_FRAME_TIMESTAMP_31_16
846*5113495bSYour Name 
847*5113495bSYour Name 			PHYTX_PKT_END info
848*5113495bSYour Name 
849*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
850*5113495bSYour Name 
851*5113495bSYour Name 			bits 31:16 of a 64 bit time stamp
852*5113495bSYour Name 			End of frame in the medium @960 MHz
853*5113495bSYour Name 			<legal all>
854*5113495bSYour Name */
855*5113495bSYour Name 
856*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_OFFSET                       0x0000000000000008
857*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_LSB                          48
858*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_MSB                          63
859*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_MASK                         0xffff000000000000
860*5113495bSYour Name 
861*5113495bSYour Name 
862*5113495bSYour Name /* Description		TERMINATE_RANGING_SEQUENCE
863*5113495bSYour Name 
864*5113495bSYour Name 			Consumer: SW/SCH
865*5113495bSYour Name 			Producer: TXPCU
866*5113495bSYour Name 
867*5113495bSYour Name 			If set to 1, HWSCH will flush the TX pipeline and terminate
868*5113495bSYour Name 			 the ongoing SIFS sequence for TB Ranging.
869*5113495bSYour Name 
870*5113495bSYour Name 			TXPCU to set it only in the context of TB Ranging, when
871*5113495bSYour Name 			the condition to terminate the TB Ranging sequence is met
872*5113495bSYour Name 
873*5113495bSYour Name 
874*5113495bSYour Name 			<legal all>
875*5113495bSYour Name */
876*5113495bSYour Name 
877*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_OFFSET                         0x0000000000000010
878*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_LSB                            0
879*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_MSB                            0
880*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_MASK                           0x0000000000000001
881*5113495bSYour Name 
882*5113495bSYour Name 
883*5113495bSYour Name /* Description		RESERVED_4A
884*5113495bSYour Name 
885*5113495bSYour Name 			<legal 0>
886*5113495bSYour Name */
887*5113495bSYour Name 
888*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_OFFSET                                        0x0000000000000010
889*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_LSB                                           1
890*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_MSB                                           7
891*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_MASK                                          0x00000000000000fe
892*5113495bSYour Name 
893*5113495bSYour Name 
894*5113495bSYour Name /* Description		TIMING_STATUS
895*5113495bSYour Name 
896*5113495bSYour Name 			PHYTX_PKT_END info
897*5113495bSYour Name 
898*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
899*5113495bSYour Name 
900*5113495bSYour Name 			<enum 0 No_tx_timing_request> The MAC did not request for
901*5113495bSYour Name 			 the transmission to start at a particular time
902*5113495bSYour Name 			<enum 1 successful_tx_timing > MAC did request for transmission
903*5113495bSYour Name 			 to start at a particular time and PHY was able to do so.
904*5113495bSYour Name 
905*5113495bSYour Name 			<enum 2 tx_timing_not_honoured> PHY was not able to honour
906*5113495bSYour Name 			 the requested transmit time by the MAC. The transmission
907*5113495bSYour Name 			 started later, and field transmit_delay indicates how much
908*5113495bSYour Name 			 later.
909*5113495bSYour Name 			<legal 0-2>
910*5113495bSYour Name */
911*5113495bSYour Name 
912*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_OFFSET                                      0x0000000000000010
913*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_LSB                                         8
914*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_MSB                                         9
915*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_MASK                                        0x0000000000000300
916*5113495bSYour Name 
917*5113495bSYour Name 
918*5113495bSYour Name /* Description		RESPONSE_TYPE
919*5113495bSYour Name 
920*5113495bSYour Name 			The response type that TXPCU was checking for
921*5113495bSYour Name 
922*5113495bSYour Name 			<enum 0 no_response_expected>After transmission of this
923*5113495bSYour Name 			frame, no response in SIFS time is expected
924*5113495bSYour Name 
925*5113495bSYour Name 			When TXPCU sees this setting, it shall not generated the
926*5113495bSYour Name 			 EXPECTED_RESPONSE TLV.
927*5113495bSYour Name 
928*5113495bSYour Name 			RXPCU should never see this setting
929*5113495bSYour Name 			<enum 1 ack_expected>An ACK frame is expected as response
930*5113495bSYour Name 
931*5113495bSYour Name 
932*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
933*5113495bSYour Name 			 that the right response was received.
934*5113495bSYour Name 			<enum 2 ba_64_bitmap_expected>BA with 64 bitmap is expected.
935*5113495bSYour Name 
936*5113495bSYour Name 
937*5113495bSYour Name 			PDG DOES NOT use the size info to calculated response duration.
938*5113495bSYour Name 			The length of the response will have to be programmed by
939*5113495bSYour Name 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
940*5113495bSYour Name 
941*5113495bSYour Name 			For TXPCU only the fact that it is a BA is important. Actual
942*5113495bSYour Name 			 received BA size is not important
943*5113495bSYour Name 
944*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
945*5113495bSYour Name 			 that the right response was received.
946*5113495bSYour Name 			<enum 3 ba_256_expected>BA with 256 bitmap is expected.
947*5113495bSYour Name 
948*5113495bSYour Name 			PDG DOES NOT use the size info to calculated response duration.
949*5113495bSYour Name 			The length of the response will have to be programmed by
950*5113495bSYour Name 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
951*5113495bSYour Name 
952*5113495bSYour Name 			For TXPCU only the fact that it is a BA is important. Actual
953*5113495bSYour Name 			 received BA size is not important
954*5113495bSYour Name 
955*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
956*5113495bSYour Name 			 that the right response was received.
957*5113495bSYour Name 			<enum 4 actionnoack_expected>SW sets this after sending
958*5113495bSYour Name 			NDP or BR-Poll.
959*5113495bSYour Name 
960*5113495bSYour Name 			As PDG has no idea on how long the reception is going to
961*5113495bSYour Name 			 be, the reception time of the response will have to be
962*5113495bSYour Name 			programmed by SW in the 'Extend_duration_value_bw...' field
963*5113495bSYour Name 
964*5113495bSYour Name 
965*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
966*5113495bSYour Name 			 that the right response was received.
967*5113495bSYour Name 			<enum 5 ack_ba_expected>PDG uses the size info and assumes
968*5113495bSYour Name 			 single BA format with ACK and 64 bitmap embedded.
969*5113495bSYour Name 			If SW expects more bitmaps in case of multi-TID, is shall
970*5113495bSYour Name 			 program the 'Extend_duration_value_bw...' field for additional
971*5113495bSYour Name 			 duration time.
972*5113495bSYour Name 			For TXPCU only the fact that an ACK and/or BA is received
973*5113495bSYour Name 			 is important. Reception of only ACK or BA is also considered
974*5113495bSYour Name 			 a success.
975*5113495bSYour Name 			SW also typically sets this when sending VHT single MPDU.
976*5113495bSYour Name 			Some chip vendors might send BA rather than ACK in response
977*5113495bSYour Name 			 to VHT single MPDU but still we want to accept BA as well.
978*5113495bSYour Name 
979*5113495bSYour Name 
980*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
981*5113495bSYour Name 			 that the right response was received.
982*5113495bSYour Name 			<enum 6 cts_expected>SW sets this after queuing RTS frame
983*5113495bSYour Name 			 as standalone packet and sending it.
984*5113495bSYour Name 
985*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
986*5113495bSYour Name 			 that the right response was received.
987*5113495bSYour Name 			<enum 7 ack_data_expected>SW sets this after sending PS-Poll.
988*5113495bSYour Name 
989*5113495bSYour Name 
990*5113495bSYour Name 			For TXPCU either ACK and/or data reception is considered
991*5113495bSYour Name 			 success.
992*5113495bSYour Name 			PDG basis it's response duration calculation on an ACK.
993*5113495bSYour Name 			For the data portion, SW shall program the 'Extend_duration_value_bw...'
994*5113495bSYour Name 			field
995*5113495bSYour Name 			<enum 8 ndp_ack_expected>Reserved for 11ah usage.
996*5113495bSYour Name 			<enum 9 ndp_modified_ack>Reserved for 11ah usage
997*5113495bSYour Name 			<enum 10 ndp_ba_expected>Reserved for 11ah usage.
998*5113495bSYour Name 			<enum 11 ndp_cts_expected>Reserved for 11ah usage
999*5113495bSYour Name 			<enum 12 ndp_ack_or_ndp_modified_ack_expected>Reserved for
1000*5113495bSYour Name 			 11ah usage
1001*5113495bSYour Name 			<enum 13 ul_mu_ba_expected>NOT SUPPORTED IN NAPIER AX AND
1002*5113495bSYour Name 			 HASTINGS
1003*5113495bSYour Name 
1004*5113495bSYour Name 			TXPCU expects UL MU OFDMA or UL MU MIMO reception.
1005*5113495bSYour Name 			As PDG does not know how RUs are assigned for the uplink
1006*5113495bSYour Name 			 portion, PDG can not calculate the uplink duration. Therefor
1007*5113495bSYour Name 			 SW shall program the 'Extend_duration_value_bw...' field
1008*5113495bSYour Name 
1009*5113495bSYour Name 
1010*5113495bSYour Name 			RXPCU will report any frame received, irrespective of it
1011*5113495bSYour Name 			 having been UL MU or SU It is TXPCUs responsibility to
1012*5113495bSYour Name 			distinguish between the UL MU or SU
1013*5113495bSYour Name 
1014*5113495bSYour Name 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO MU_Response_BA_bitmap
1015*5113495bSYour Name 			 if indeed BA was received
1016*5113495bSYour Name 			<enum 14 ul_mu_ba_and_data_expected>NOT SUPPORTED IN NAPIER
1017*5113495bSYour Name 			 AX AND HASTINGS
1018*5113495bSYour Name 
1019*5113495bSYour Name 			TXPCU expects UL MU OFDMA or UL MU MIMO reception.
1020*5113495bSYour Name 			As PDG does not know how RUs are assigned for the uplink
1021*5113495bSYour Name 			 portion, PDG can not calculate the uplink duration. Therefor
1022*5113495bSYour Name 			 SW shall program the 'Extend_duration_value_bw...' field
1023*5113495bSYour Name 
1024*5113495bSYour Name 
1025*5113495bSYour Name 			RXPCU will report any frame received, irrespective of it
1026*5113495bSYour Name 			 having been UL MU or SU It is TXPCUs responsibility to
1027*5113495bSYour Name 			distinguish between the UL MU or SU
1028*5113495bSYour Name 
1029*5113495bSYour Name 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_data_bitmap
1030*5113495bSYour Name 			 and MU_Response_BA_bitmap if indeed BA and data was received
1031*5113495bSYour Name 
1032*5113495bSYour Name 			<enum 15 ul_mu_cbf_expected>NOT SUPPORTED IN NAPIER AX AND
1033*5113495bSYour Name 			 HASTINGS
1034*5113495bSYour Name 
1035*5113495bSYour Name 			When selected, CBF frames are expected to be received in
1036*5113495bSYour Name 			 MU reception (uplink OFDMA or uplink MIMO)
1037*5113495bSYour Name 
1038*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1039*5113495bSYour Name 			 that the right response was received
1040*5113495bSYour Name 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_cbf_bitmap
1041*5113495bSYour Name 			 if indeed CBF frames were received.
1042*5113495bSYour Name 			<enum 16 ul_mu_frames_expected>When selected, MPDU frames
1043*5113495bSYour Name 			 are expected in the MU reception (uplink OFDMA or uplink
1044*5113495bSYour Name 			 MIMO)
1045*5113495bSYour Name 
1046*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1047*5113495bSYour Name 			 that the right response was received
1048*5113495bSYour Name 
1049*5113495bSYour Name 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_bitmap
1050*5113495bSYour Name 			 if indeed frames were received.
1051*5113495bSYour Name 			<enum 17 any_response_to_this_device>Any response expected
1052*5113495bSYour Name 			 to be send to this device in SIFS time is acceptable.
1053*5113495bSYour Name 
1054*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1055*5113495bSYour Name 			 that the right response was received
1056*5113495bSYour Name 
1057*5113495bSYour Name 			For TXPCU, UL MU or SU is both acceptable.
1058*5113495bSYour Name 
1059*5113495bSYour Name 			Can be used for complex OFDMA scenarios. PDG can not calculate
1060*5113495bSYour Name 			 the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
1061*5113495bSYour Name 			field
1062*5113495bSYour Name 			<enum 18 any_response_accepted>Any frame in the medium to
1063*5113495bSYour Name 			 this or any other device, is acceptable as response.
1064*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1065*5113495bSYour Name 			 that the right response was received
1066*5113495bSYour Name 
1067*5113495bSYour Name 			For TXPCU, UL MU or SU is both acceptable.
1068*5113495bSYour Name 
1069*5113495bSYour Name 			Can be used for complex OFDMA scenarios. PDG can not calculate
1070*5113495bSYour Name 			 the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
1071*5113495bSYour Name 			field
1072*5113495bSYour Name 			<enum 19 frameless_phyrx_response_accepted>Any MU frameless
1073*5113495bSYour Name 			 reception generated by the PHY is acceptable.
1074*5113495bSYour Name 
1075*5113495bSYour Name 			PHY indicates this type of reception explicitly in TLV PHYRX_RSSI_LEGACY,
1076*5113495bSYour Name 			field Reception_type == reception_is_frameless
1077*5113495bSYour Name 
1078*5113495bSYour Name 			RXPCU will report any frame received, irrespective of it
1079*5113495bSYour Name 			 having been UL MU or SU.
1080*5113495bSYour Name 
1081*5113495bSYour Name 			This can be used for complex MU-MIMO or OFDMA scenarios,
1082*5113495bSYour Name 			like receiving MU-CTS.
1083*5113495bSYour Name 
1084*5113495bSYour Name 			PDG can not calculate the uplink duration. Therefor SW shall
1085*5113495bSYour Name 			 program the 'Extend_duration_value_bw...' field
1086*5113495bSYour Name 			<enum 20 ranging_ndp_and_lmr_expected>SW sets this after
1087*5113495bSYour Name 			 sending ranging NDPA followed by NDP as an ISTA and NDP
1088*5113495bSYour Name 			 and LMR (Action No Ack) are expected as back-to-back reception
1089*5113495bSYour Name 			 in SIFS.
1090*5113495bSYour Name 
1091*5113495bSYour Name 			As PDG has no idea on how long the reception is going to
1092*5113495bSYour Name 			 be, the reception time of the response will have to be
1093*5113495bSYour Name 			programmed by SW in the 'Extend_duration_value_bw...' field
1094*5113495bSYour Name 
1095*5113495bSYour Name 
1096*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1097*5113495bSYour Name 			 that the right response was received.
1098*5113495bSYour Name 			<enum 21 ba_512_expected>BA with 512 bitmap is expected.
1099*5113495bSYour Name 
1100*5113495bSYour Name 
1101*5113495bSYour Name 			PDG DOES NOT use the size info to calculated response duration.
1102*5113495bSYour Name 			The length of the response will have to be programmed by
1103*5113495bSYour Name 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
1104*5113495bSYour Name 
1105*5113495bSYour Name 			For TXPCU only the fact that it is a BA is important. Actual
1106*5113495bSYour Name 			 received BA size is not important
1107*5113495bSYour Name 
1108*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1109*5113495bSYour Name 			 that the right response was received.
1110*5113495bSYour Name 			<enum 22 ba_1024_expected>BA with 1024 bitmap is expected.
1111*5113495bSYour Name 
1112*5113495bSYour Name 
1113*5113495bSYour Name 			PDG DOES NOT use the size info to calculated response duration.
1114*5113495bSYour Name 			The length of the response will have to be programmed by
1115*5113495bSYour Name 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
1116*5113495bSYour Name 
1117*5113495bSYour Name 			For TXPCU only the fact that it is a BA is important. Actual
1118*5113495bSYour Name 			 received BA size is not important
1119*5113495bSYour Name 
1120*5113495bSYour Name 			RXPCU is just expecting any response. It is TXPCU who checks
1121*5113495bSYour Name 			 that the right response was received.
1122*5113495bSYour Name 			<enum 23 ul_mu_ranging_cts2s_expected>When selected, CTS2S
1123*5113495bSYour Name 			 frames are expected to be received in MU reception (uplink
1124*5113495bSYour Name 			 OFDMA)
1125*5113495bSYour Name 
1126*5113495bSYour Name 			RXPCU shall check each response for CTS2S and report to
1127*5113495bSYour Name 			TXPCU.
1128*5113495bSYour Name 
1129*5113495bSYour Name 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
1130*5113495bSYour Name 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed CTS2S
1131*5113495bSYour Name 			 frames were received.
1132*5113495bSYour Name 			<enum 24 ul_mu_ranging_ndp_expected>When selected, UL NDP
1133*5113495bSYour Name 			 frames are expected to be received in MU reception (uplink
1134*5113495bSYour Name 			 spatial multiplexing)
1135*5113495bSYour Name 
1136*5113495bSYour Name 			RXPCU shall check each response for NDP and report to TXPCU.
1137*5113495bSYour Name 
1138*5113495bSYour Name 
1139*5113495bSYour Name 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
1140*5113495bSYour Name 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed NDP
1141*5113495bSYour Name 			 frames were received.
1142*5113495bSYour Name 			<enum 25 ul_mu_ranging_lmr_expected>When selected, LMR frames
1143*5113495bSYour Name 			 are expected to be received in MU reception (uplink OFDMA
1144*5113495bSYour Name 			 or uplink MIMO)
1145*5113495bSYour Name 
1146*5113495bSYour Name 			RXPCU shall check each response for LMR and report to TXPCU.
1147*5113495bSYour Name 
1148*5113495bSYour Name 
1149*5113495bSYour Name 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
1150*5113495bSYour Name 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed LMR
1151*5113495bSYour Name 			 frames were received.
1152*5113495bSYour Name */
1153*5113495bSYour Name 
1154*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_OFFSET                                      0x0000000000000010
1155*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_LSB                                         10
1156*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_MSB                                         14
1157*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_MASK                                        0x0000000000007c00
1158*5113495bSYour Name 
1159*5113495bSYour Name 
1160*5113495bSYour Name /* Description		R2R_END_STATUS_TO_FOLLOW
1161*5113495bSYour Name 
1162*5113495bSYour Name 			When set, TXPCU will still generate an R2R frame (typically
1163*5113495bSYour Name 			 M-BA), and the 'R2R_STATUS_END' TLV.
1164*5113495bSYour Name 			<legal all>
1165*5113495bSYour Name */
1166*5113495bSYour Name 
1167*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_OFFSET                           0x0000000000000010
1168*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_LSB                              15
1169*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_MSB                              15
1170*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_MASK                             0x0000000000008000
1171*5113495bSYour Name 
1172*5113495bSYour Name 
1173*5113495bSYour Name /* Description		TRANSMIT_DELAY
1174*5113495bSYour Name 
1175*5113495bSYour Name 			PHYTX_PKT_END info
1176*5113495bSYour Name 
1177*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1178*5113495bSYour Name 
1179*5113495bSYour Name 			The number of 480 MHz clock cycles that the transmission
1180*5113495bSYour Name 			 started after the actual requested transmit start time.
1181*5113495bSYour Name 
1182*5113495bSYour Name 			Value saturates at 0xFFFF
1183*5113495bSYour Name 			<legal all>
1184*5113495bSYour Name */
1185*5113495bSYour Name 
1186*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_OFFSET                                     0x0000000000000010
1187*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_LSB                                        16
1188*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_MSB                                        31
1189*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_MASK                                       0x00000000ffff0000
1190*5113495bSYour Name 
1191*5113495bSYour Name 
1192*5113495bSYour Name /* Description		TX_GROUP_DELAY
1193*5113495bSYour Name 
1194*5113495bSYour Name 			PHYTX_PKT_END info
1195*5113495bSYour Name 
1196*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1197*5113495bSYour Name 
1198*5113495bSYour Name 			Group delay on TxTD+PHYRF path for this PPDU (packet BW
1199*5113495bSYour Name 			dependent), useful for RTT
1200*5113495bSYour Name 
1201*5113495bSYour Name 			Unit is 960MHz cycles.
1202*5113495bSYour Name 			<legal all>
1203*5113495bSYour Name */
1204*5113495bSYour Name 
1205*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_OFFSET                                     0x0000000000000010
1206*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_LSB                                        32
1207*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_MSB                                        43
1208*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_MASK                                       0x00000fff00000000
1209*5113495bSYour Name 
1210*5113495bSYour Name 
1211*5113495bSYour Name /* Description		RESERVED_5A
1212*5113495bSYour Name 
1213*5113495bSYour Name 			Bits [14:12]: service_cbw:
1214*5113495bSYour Name 
1215*5113495bSYour Name 			Field only valid when a response was received
1216*5113495bSYour Name 
1217*5113495bSYour Name 			Source of the info here is the 'RECEIVED_RESPONSE_INFO'
1218*5113495bSYour Name 			TLV
1219*5113495bSYour Name 
1220*5113495bSYour Name 			This field reflects the BW extracted from the Serivce Field
1221*5113495bSYour Name 			 for 11ac mode of operation .
1222*5113495bSYour Name 
1223*5113495bSYour Name 			This field is used in the context of Dynamic BW evaluation
1224*5113495bSYour Name 			 purposes in SCH in case of SW-queued protection frame.
1225*5113495bSYour Name 
1226*5113495bSYour Name 			Please refer 'BW_ENUM' e-num for the values used.
1227*5113495bSYour Name 			<legal 0-5>
1228*5113495bSYour Name */
1229*5113495bSYour Name 
1230*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_OFFSET                                        0x0000000000000010
1231*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_LSB                                           44
1232*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_MSB                                           47
1233*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_MASK                                          0x0000f00000000000
1234*5113495bSYour Name 
1235*5113495bSYour Name 
1236*5113495bSYour Name /* Description		TPC_DBG_INFO_CMN_15_0
1237*5113495bSYour Name 
1238*5113495bSYour Name 			PHYTX_PKT_END info
1239*5113495bSYour Name 
1240*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1241*5113495bSYour Name 
1242*5113495bSYour Name 			Some TPC debug info that PHY can pass back to MAC FW
1243*5113495bSYour Name 			<legal all>
1244*5113495bSYour Name */
1245*5113495bSYour Name 
1246*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_OFFSET                              0x0000000000000010
1247*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_LSB                                 48
1248*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_MSB                                 63
1249*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_MASK                                0xffff000000000000
1250*5113495bSYour Name 
1251*5113495bSYour Name 
1252*5113495bSYour Name /* Description		TPC_DBG_INFO_CMN_31_16
1253*5113495bSYour Name 
1254*5113495bSYour Name 			PHYTX_PKT_END info
1255*5113495bSYour Name 
1256*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1257*5113495bSYour Name 
1258*5113495bSYour Name 			Some TPC debug info that PHY can pass back to MAC FW
1259*5113495bSYour Name 			<legal all>
1260*5113495bSYour Name */
1261*5113495bSYour Name 
1262*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_OFFSET                             0x0000000000000018
1263*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_LSB                                0
1264*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_MSB                                15
1265*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_MASK                               0x000000000000ffff
1266*5113495bSYour Name 
1267*5113495bSYour Name 
1268*5113495bSYour Name /* Description		TPC_DBG_INFO_47_32
1269*5113495bSYour Name 
1270*5113495bSYour Name 			PHYTX_PKT_END info
1271*5113495bSYour Name 
1272*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1273*5113495bSYour Name 
1274*5113495bSYour Name 			Some TPC debu info that PHY can pass back to MAC FW
1275*5113495bSYour Name 			<legal all>
1276*5113495bSYour Name */
1277*5113495bSYour Name 
1278*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_OFFSET                                 0x0000000000000018
1279*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_LSB                                    16
1280*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_MSB                                    31
1281*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_MASK                                   0x00000000ffff0000
1282*5113495bSYour Name 
1283*5113495bSYour Name 
1284*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN1_15_0
1285*5113495bSYour Name 
1286*5113495bSYour Name 			PHYTX_PKT_END info
1287*5113495bSYour Name 
1288*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1289*5113495bSYour Name 
1290*5113495bSYour Name 			Some per-chain TPC debug info for the first selected chain
1291*5113495bSYour Name 			 that PHY can pass back to MAC FW
1292*5113495bSYour Name 			<legal all>
1293*5113495bSYour Name */
1294*5113495bSYour Name 
1295*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_OFFSET                             0x0000000000000018
1296*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_LSB                                32
1297*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_MSB                                47
1298*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_MASK                               0x0000ffff00000000
1299*5113495bSYour Name 
1300*5113495bSYour Name 
1301*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN1_31_16
1302*5113495bSYour Name 
1303*5113495bSYour Name 			PHYTX_PKT_END info
1304*5113495bSYour Name 
1305*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1306*5113495bSYour Name 
1307*5113495bSYour Name 			Some per-chain TPC debug info for the first selected chain
1308*5113495bSYour Name 			 that PHY can pass back to MAC FW
1309*5113495bSYour Name 			<legal all>
1310*5113495bSYour Name */
1311*5113495bSYour Name 
1312*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_OFFSET                            0x0000000000000018
1313*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_LSB                               48
1314*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_MSB                               63
1315*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_MASK                              0xffff000000000000
1316*5113495bSYour Name 
1317*5113495bSYour Name 
1318*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN1_47_32
1319*5113495bSYour Name 
1320*5113495bSYour Name 			PHYTX_PKT_END info
1321*5113495bSYour Name 
1322*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1323*5113495bSYour Name 
1324*5113495bSYour Name 			Some per-chain TPC debug info for the first selected chain
1325*5113495bSYour Name 			 that PHY can pass back to MAC FW
1326*5113495bSYour Name 			<legal all>
1327*5113495bSYour Name */
1328*5113495bSYour Name 
1329*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_OFFSET                            0x0000000000000020
1330*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_LSB                               0
1331*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_MSB                               15
1332*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_MASK                              0x000000000000ffff
1333*5113495bSYour Name 
1334*5113495bSYour Name 
1335*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN1_63_48
1336*5113495bSYour Name 
1337*5113495bSYour Name 			PHYTX_PKT_END info
1338*5113495bSYour Name 
1339*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1340*5113495bSYour Name 
1341*5113495bSYour Name 			Some per-chain TPC debug info for the first selected chain
1342*5113495bSYour Name 			 that PHY can pass back to MAC FW
1343*5113495bSYour Name 			<legal all>
1344*5113495bSYour Name */
1345*5113495bSYour Name 
1346*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_OFFSET                            0x0000000000000020
1347*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_LSB                               16
1348*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_MSB                               31
1349*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_MASK                              0x00000000ffff0000
1350*5113495bSYour Name 
1351*5113495bSYour Name 
1352*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN1_79_64
1353*5113495bSYour Name 
1354*5113495bSYour Name 			PHYTX_PKT_END info
1355*5113495bSYour Name 
1356*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1357*5113495bSYour Name 
1358*5113495bSYour Name 			Some per-chain TPC debug info for the first selected chain
1359*5113495bSYour Name 			 that PHY can pass back to MAC FW
1360*5113495bSYour Name 			<legal all>
1361*5113495bSYour Name */
1362*5113495bSYour Name 
1363*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_OFFSET                            0x0000000000000020
1364*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_LSB                               32
1365*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_MSB                               47
1366*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_MASK                              0x0000ffff00000000
1367*5113495bSYour Name 
1368*5113495bSYour Name 
1369*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN2_15_0
1370*5113495bSYour Name 
1371*5113495bSYour Name 			PHYTX_PKT_END info
1372*5113495bSYour Name 
1373*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1374*5113495bSYour Name 
1375*5113495bSYour Name 			Some per-chain TPC debug info for the second selected chain
1376*5113495bSYour Name 			 that PHY can pass back to MAC FW
1377*5113495bSYour Name 			<legal all>
1378*5113495bSYour Name */
1379*5113495bSYour Name 
1380*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_OFFSET                             0x0000000000000020
1381*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_LSB                                48
1382*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_MSB                                63
1383*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_MASK                               0xffff000000000000
1384*5113495bSYour Name 
1385*5113495bSYour Name 
1386*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN2_31_16
1387*5113495bSYour Name 
1388*5113495bSYour Name 			PHYTX_PKT_END info
1389*5113495bSYour Name 
1390*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1391*5113495bSYour Name 
1392*5113495bSYour Name 			Some per-chain TPC debug info for the second selected chain
1393*5113495bSYour Name 			 that PHY can pass back to MAC FW
1394*5113495bSYour Name 			<legal all>
1395*5113495bSYour Name */
1396*5113495bSYour Name 
1397*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_OFFSET                            0x0000000000000028
1398*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_LSB                               0
1399*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_MSB                               15
1400*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_MASK                              0x000000000000ffff
1401*5113495bSYour Name 
1402*5113495bSYour Name 
1403*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN2_47_32
1404*5113495bSYour Name 
1405*5113495bSYour Name 			PHYTX_PKT_END info
1406*5113495bSYour Name 
1407*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1408*5113495bSYour Name 
1409*5113495bSYour Name 			Some per-chain TPC debug info for the second selected chain
1410*5113495bSYour Name 			 that PHY can pass back to MAC FW
1411*5113495bSYour Name 			<legal all>
1412*5113495bSYour Name */
1413*5113495bSYour Name 
1414*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_OFFSET                            0x0000000000000028
1415*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_LSB                               16
1416*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_MSB                               31
1417*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_MASK                              0x00000000ffff0000
1418*5113495bSYour Name 
1419*5113495bSYour Name 
1420*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN2_63_48
1421*5113495bSYour Name 
1422*5113495bSYour Name 			PHYTX_PKT_END info
1423*5113495bSYour Name 
1424*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1425*5113495bSYour Name 
1426*5113495bSYour Name 			Some per-chain TPC debug info for the second selected chain
1427*5113495bSYour Name 			 that PHY can pass back to MAC FW
1428*5113495bSYour Name 			<legal all>
1429*5113495bSYour Name */
1430*5113495bSYour Name 
1431*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_OFFSET                            0x0000000000000028
1432*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_LSB                               32
1433*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_MSB                               47
1434*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_MASK                              0x0000ffff00000000
1435*5113495bSYour Name 
1436*5113495bSYour Name 
1437*5113495bSYour Name /* Description		TPC_DBG_INFO_CHN2_79_64
1438*5113495bSYour Name 
1439*5113495bSYour Name 			PHYTX_PKT_END info
1440*5113495bSYour Name 
1441*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1442*5113495bSYour Name 
1443*5113495bSYour Name 			Some per-chain TPC debug info for the second selected chain
1444*5113495bSYour Name 			 that PHY can pass back to MAC FW
1445*5113495bSYour Name 			<legal all>
1446*5113495bSYour Name */
1447*5113495bSYour Name 
1448*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_OFFSET                            0x0000000000000028
1449*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_LSB                               48
1450*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_MSB                               63
1451*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_MASK                              0xffff000000000000
1452*5113495bSYour Name 
1453*5113495bSYour Name 
1454*5113495bSYour Name /* Description		PHYTX_TX_END_SW_INFO_15_0
1455*5113495bSYour Name 
1456*5113495bSYour Name 			PHYTX_PKT_END info
1457*5113495bSYour Name 
1458*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1459*5113495bSYour Name 
1460*5113495bSYour Name 			Some PHY status data that PHY microcode can pass back to
1461*5113495bSYour Name 			 MAC FW, for any future requests, e.g. any DMA download
1462*5113495bSYour Name 			time
1463*5113495bSYour Name 			<legal all>
1464*5113495bSYour Name */
1465*5113495bSYour Name 
1466*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_OFFSET                          0x0000000000000030
1467*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_LSB                             0
1468*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_MSB                             15
1469*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_MASK                            0x000000000000ffff
1470*5113495bSYour Name 
1471*5113495bSYour Name 
1472*5113495bSYour Name /* Description		PHYTX_TX_END_SW_INFO_31_16
1473*5113495bSYour Name 
1474*5113495bSYour Name 			PHYTX_PKT_END info
1475*5113495bSYour Name 
1476*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1477*5113495bSYour Name 
1478*5113495bSYour Name 			Some PHY status data that PHY microcode can pass back to
1479*5113495bSYour Name 			 MAC FW, for any future requests, e.g. any DMA download
1480*5113495bSYour Name 			time
1481*5113495bSYour Name 			<legal all>
1482*5113495bSYour Name */
1483*5113495bSYour Name 
1484*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_OFFSET                         0x0000000000000030
1485*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_LSB                            16
1486*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_MSB                            31
1487*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_MASK                           0x00000000ffff0000
1488*5113495bSYour Name 
1489*5113495bSYour Name 
1490*5113495bSYour Name /* Description		PHYTX_TX_END_SW_INFO_47_32
1491*5113495bSYour Name 
1492*5113495bSYour Name 			PHYTX_PKT_END info
1493*5113495bSYour Name 
1494*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1495*5113495bSYour Name 
1496*5113495bSYour Name 			Some PHY status data that PHY microcode can pass back to
1497*5113495bSYour Name 			 MAC FW, for any future requests, e.g. any DMA download
1498*5113495bSYour Name 			time
1499*5113495bSYour Name 			<legal all>
1500*5113495bSYour Name */
1501*5113495bSYour Name 
1502*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_OFFSET                         0x0000000000000030
1503*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_LSB                            32
1504*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_MSB                            47
1505*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_MASK                           0x0000ffff00000000
1506*5113495bSYour Name 
1507*5113495bSYour Name 
1508*5113495bSYour Name /* Description		PHYTX_TX_END_SW_INFO_63_48
1509*5113495bSYour Name 
1510*5113495bSYour Name 			PHYTX_PKT_END info
1511*5113495bSYour Name 
1512*5113495bSYour Name 			Field only valid when PHYTX_PKT_END_info_valid is set
1513*5113495bSYour Name 
1514*5113495bSYour Name 			Some PHY status data that PHY microcode can pass back to
1515*5113495bSYour Name 			 MAC FW, for any future requests, e.g. any DMA download
1516*5113495bSYour Name 			time
1517*5113495bSYour Name 			<legal all>
1518*5113495bSYour Name */
1519*5113495bSYour Name 
1520*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_OFFSET                         0x0000000000000030
1521*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_LSB                            48
1522*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_MSB                            63
1523*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_MASK                           0xffff000000000000
1524*5113495bSYour Name 
1525*5113495bSYour Name 
1526*5113495bSYour Name /* Description		BEAMFORM_MASKED_USER_BITMAP_15_0
1527*5113495bSYour Name 
1528*5113495bSYour Name 			Lower 16 bits of 'Beamform_masked_user_bitmap'
1529*5113495bSYour Name 
1530*5113495bSYour Name 			PHY indicates in this field for which users it actually
1531*5113495bSYour Name 			did not beamform it's  transmission even though this was
1532*5113495bSYour Name 			 requested
1533*5113495bSYour Name 
1534*5113495bSYour Name 			Bit 0: user 0, bit 1: user 1, etc.
1535*5113495bSYour Name 
1536*5113495bSYour Name 			When 0: No beamform issue for this user
1537*5113495bSYour Name 			When 1: PHY could not beamform for this user, but did not
1538*5113495bSYour Name 			 terminate the transmission
1539*5113495bSYour Name 
1540*5113495bSYour Name 			<legal all>
1541*5113495bSYour Name */
1542*5113495bSYour Name 
1543*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_OFFSET                   0x0000000000000038
1544*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_LSB                      0
1545*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_MSB                      15
1546*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_MASK                     0x000000000000ffff
1547*5113495bSYour Name 
1548*5113495bSYour Name 
1549*5113495bSYour Name /* Description		BEAMFORM_MASKED_USER_BITMAP_31_16
1550*5113495bSYour Name 
1551*5113495bSYour Name 			Middle 16 bits of 'Beamform_masked_user_bitmap'
1552*5113495bSYour Name 			See description above.
1553*5113495bSYour Name 			<legal all>
1554*5113495bSYour Name */
1555*5113495bSYour Name 
1556*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_OFFSET                  0x0000000000000038
1557*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_LSB                     16
1558*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_MSB                     31
1559*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_MASK                    0x00000000ffff0000
1560*5113495bSYour Name 
1561*5113495bSYour Name 
1562*5113495bSYour Name /* Description		CBF_SEGMENT_REQUEST_MASK
1563*5113495bSYour Name 
1564*5113495bSYour Name 			Field only valid when brp_info_valid is set.
1565*5113495bSYour Name 
1566*5113495bSYour Name 			Field equal to the 'Feedback Segment Retransmission Bitmap'
1567*5113495bSYour Name 			from the Beamform Report Poll frame OR Beamform Report Poll
1568*5113495bSYour Name 			 Trigger frame
1569*5113495bSYour Name 
1570*5113495bSYour Name 			Bit 0 represents segment 0
1571*5113495bSYour Name 			Bit 1 represents segment 1
1572*5113495bSYour Name 			Etc.
1573*5113495bSYour Name 
1574*5113495bSYour Name 			1'b1: Segment is requested
1575*5113495bSYour Name 			1'b0: Segment is NOT requested
1576*5113495bSYour Name 
1577*5113495bSYour Name 			<legal all>
1578*5113495bSYour Name */
1579*5113495bSYour Name 
1580*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_OFFSET                           0x0000000000000038
1581*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_LSB                              32
1582*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_MSB                              39
1583*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_MASK                             0x000000ff00000000
1584*5113495bSYour Name 
1585*5113495bSYour Name 
1586*5113495bSYour Name /* Description		CBF_SEGMENT_SENT_MASK
1587*5113495bSYour Name 
1588*5113495bSYour Name 			Field only valid when brp_info_valid is set.
1589*5113495bSYour Name 
1590*5113495bSYour Name 			Bit 0 represents segment 0
1591*5113495bSYour Name 			Bit 1 represents segment 1
1592*5113495bSYour Name 			Etc.
1593*5113495bSYour Name 
1594*5113495bSYour Name 			1'b1: Segment is sent
1595*5113495bSYour Name 			1'b0: Segment is not sent
1596*5113495bSYour Name 
1597*5113495bSYour Name 			<legal all>
1598*5113495bSYour Name */
1599*5113495bSYour Name 
1600*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_OFFSET                              0x0000000000000038
1601*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_LSB                                 40
1602*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_MSB                                 47
1603*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_MASK                                0x0000ff0000000000
1604*5113495bSYour Name 
1605*5113495bSYour Name 
1606*5113495bSYour Name /* Description		HIGHEST_ACHIEVED_DATA_NULL_RATIO
1607*5113495bSYour Name 
1608*5113495bSYour Name 			Highest DATA:NULL ratio achieved for the current FES
1609*5113495bSYour Name 
1610*5113495bSYour Name 			<enum 0 No_Data_Null_ratio_requirement> There was no Data:NULL
1611*5113495bSYour Name 			 ratio established.
1612*5113495bSYour Name 			<enum 1 Data_Null_ratio_16_1> Best Data:NULL ratio was 16:1.
1613*5113495bSYour Name 
1614*5113495bSYour Name 			<enum 2 Data_Null_ratio_8_1> Best Data:NULL ratio was 8:1.
1615*5113495bSYour Name 
1616*5113495bSYour Name 			<enum 3 Data_Null_ratio_4_1> Best Data:NULL ratio was 4:1.
1617*5113495bSYour Name 
1618*5113495bSYour Name 			<enum 4 Data_Null_ratio_2_1> Best Data:NULL ratio was 2:1.
1619*5113495bSYour Name 
1620*5113495bSYour Name 			<enum 5 Data_Null_ratio_1_1> Best Data:NULL ratio was 1:1.
1621*5113495bSYour Name 
1622*5113495bSYour Name 			terminate FES.
1623*5113495bSYour Name 			<enum 6 Data_Null_ratio_1_2> Best Data:NULL ratio was 1:2.
1624*5113495bSYour Name 
1625*5113495bSYour Name 			<enum 7 Data_Null_ratio_1_4> Best Data:NULL ratio was 1:4.
1626*5113495bSYour Name 
1627*5113495bSYour Name 			<enum 8 Data_Null_ratio_1_8> Best Data:NULL ratio was 1:8.
1628*5113495bSYour Name 
1629*5113495bSYour Name 			<enum 9 Data_Null_ratio_1_16> Best Data:NULL ratio was 1:16.
1630*5113495bSYour Name 
1631*5113495bSYour Name 
1632*5113495bSYour Name 			<legal 0-9>
1633*5113495bSYour Name */
1634*5113495bSYour Name 
1635*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_OFFSET                   0x0000000000000038
1636*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_LSB                      48
1637*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_MSB                      52
1638*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_MASK                     0x001f000000000000
1639*5113495bSYour Name 
1640*5113495bSYour Name 
1641*5113495bSYour Name /* Description		USE_ALT_POWER_SR
1642*5113495bSYour Name 
1643*5113495bSYour Name 			0: Primary/default power1: Alternate power
1644*5113495bSYour Name 			<legal all>
1645*5113495bSYour Name */
1646*5113495bSYour Name 
1647*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_OFFSET                                   0x0000000000000038
1648*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_LSB                                      53
1649*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_MSB                                      53
1650*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_MASK                                     0x0020000000000000
1651*5113495bSYour Name 
1652*5113495bSYour Name 
1653*5113495bSYour Name /* Description		STATIC_2_PWR_MODE_STATUS
1654*5113495bSYour Name 
1655*5113495bSYour Name 			0: Static 2 power mode disabled1: Static 2 power mode enabled
1656*5113495bSYour Name 
1657*5113495bSYour Name 			<legal all>
1658*5113495bSYour Name */
1659*5113495bSYour Name 
1660*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_OFFSET                           0x0000000000000038
1661*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_LSB                              54
1662*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_MSB                              54
1663*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_MASK                             0x0040000000000000
1664*5113495bSYour Name 
1665*5113495bSYour Name 
1666*5113495bSYour Name /* Description		OBSS_SRG_OPPORT_TRANSMIT_STATUS
1667*5113495bSYour Name 
1668*5113495bSYour Name 			0: Transmit based on SRG OBSS_PD opportunity initiated1:
1669*5113495bSYour Name 			Transmit based on non-SRG OBSS_PD opportunity initiated
1670*5113495bSYour Name 			<legal all>
1671*5113495bSYour Name */
1672*5113495bSYour Name 
1673*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_OFFSET                    0x0000000000000038
1674*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_LSB                       55
1675*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MSB                       55
1676*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MASK                      0x0080000000000000
1677*5113495bSYour Name 
1678*5113495bSYour Name 
1679*5113495bSYour Name /* Description		SRP_BASED_TRANSMIT_STATUS
1680*5113495bSYour Name 
1681*5113495bSYour Name 			0: non-SRP based transmit initiated1: SRP based transmit
1682*5113495bSYour Name 			 initiated
1683*5113495bSYour Name 			<legal all>
1684*5113495bSYour Name */
1685*5113495bSYour Name 
1686*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_OFFSET                          0x0000000000000038
1687*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_LSB                             56
1688*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_MSB                             56
1689*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_MASK                            0x0100000000000000
1690*5113495bSYour Name 
1691*5113495bSYour Name 
1692*5113495bSYour Name /* Description		OBSS_PD_BASED_TRANSMIT_STATUS
1693*5113495bSYour Name 
1694*5113495bSYour Name 			0: non-OBSS_PD based transmit initiated1: obss_pd based
1695*5113495bSYour Name 			transmit initiated
1696*5113495bSYour Name 			<legal all>
1697*5113495bSYour Name */
1698*5113495bSYour Name 
1699*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_OFFSET                      0x0000000000000038
1700*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_LSB                         57
1701*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_MSB                         57
1702*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_MASK                        0x0200000000000000
1703*5113495bSYour Name 
1704*5113495bSYour Name 
1705*5113495bSYour Name /* Description		BEAMFORM_MASKED_USER_BITMAP_36_32
1706*5113495bSYour Name 
1707*5113495bSYour Name 			Upper 5 bits of 'Beamform_masked_user_bitmap'
1708*5113495bSYour Name 			See description above.
1709*5113495bSYour Name 			<legal all>
1710*5113495bSYour Name */
1711*5113495bSYour Name 
1712*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_OFFSET                  0x0000000000000038
1713*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_LSB                     58
1714*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_MSB                     62
1715*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_MASK                    0x7c00000000000000
1716*5113495bSYour Name 
1717*5113495bSYour Name 
1718*5113495bSYour Name /* Description		PDG_MPDU_READY
1719*5113495bSYour Name 
1720*5113495bSYour Name 			Field only valid in case of SU transmissions, copied over
1721*5113495bSYour Name 			 by TXPCU from 'PCU_PPDU_SETUP_END'
1722*5113495bSYour Name 
1723*5113495bSYour Name 			Indicates the 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW' ready
1724*5113495bSYour Name 			 status in PDG.
1725*5113495bSYour Name 			<legal all>
1726*5113495bSYour Name */
1727*5113495bSYour Name 
1728*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_OFFSET                                     0x0000000000000038
1729*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_LSB                                        63
1730*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_MSB                                        63
1731*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_MASK                                       0x8000000000000000
1732*5113495bSYour Name 
1733*5113495bSYour Name 
1734*5113495bSYour Name /* Description		PDG_MPDU_COUNT
1735*5113495bSYour Name 
1736*5113495bSYour Name 			Field only valid in case of SU transmissions when pdg_MPDU_ready
1737*5113495bSYour Name 			 is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END'
1738*5113495bSYour Name 
1739*5113495bSYour Name 			Total MPDU count from 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW'
1740*5113495bSYour Name 
1741*5113495bSYour Name 			<legal 0-2130>
1742*5113495bSYour Name */
1743*5113495bSYour Name 
1744*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_OFFSET                                     0x0000000000000040
1745*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_LSB                                        0
1746*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_MSB                                        15
1747*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_MASK                                       0x000000000000ffff
1748*5113495bSYour Name 
1749*5113495bSYour Name 
1750*5113495bSYour Name /* Description		PDG_EST_MPDU_TX_COUNT
1751*5113495bSYour Name 
1752*5113495bSYour Name 			Field only valid in case of SU transmissions when pdg_MPDU_ready
1753*5113495bSYour Name 			 is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END'
1754*5113495bSYour Name 
1755*5113495bSYour Name 			PDG estimated MPDU Tx count from 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW'
1756*5113495bSYour Name 			limited by timing boundaries (HWSCH, COEX, SR, etc.)
1757*5113495bSYour Name 			<legal 0-1024>
1758*5113495bSYour Name */
1759*5113495bSYour Name 
1760*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_OFFSET                              0x0000000000000040
1761*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_LSB                                 16
1762*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_MSB                                 31
1763*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_MASK                                0x00000000ffff0000
1764*5113495bSYour Name 
1765*5113495bSYour Name 
1766*5113495bSYour Name /* Description		PDG_OVERVIEW_LENGTH
1767*5113495bSYour Name 
1768*5113495bSYour Name 			Field only valid in case of SU transmissions when pdg_MPDU_ready
1769*5113495bSYour Name 			 is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END'
1770*5113495bSYour Name 
1771*5113495bSYour Name 			PDG estimated A-MPDU length from 'MPDU_QUEUE_OVERVIEW' limited
1772*5113495bSYour Name 			 by timing boundaries (HWSCH, COEX, SR, etc.)
1773*5113495bSYour Name 			<legal all>
1774*5113495bSYour Name */
1775*5113495bSYour Name 
1776*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_OFFSET                                0x0000000000000040
1777*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_LSB                                   32
1778*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_MSB                                   55
1779*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_MASK                                  0x00ffffff00000000
1780*5113495bSYour Name 
1781*5113495bSYour Name 
1782*5113495bSYour Name /* Description		TXOP_DURATION
1783*5113495bSYour Name 
1784*5113495bSYour Name 			TXOP_DURATION of HE-SIG-A calculated by PDG, to be copied
1785*5113495bSYour Name 			 from 'PCU_PPDU_SETUP_END' by TXPCU
1786*5113495bSYour Name */
1787*5113495bSYour Name 
1788*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_OFFSET                                      0x0000000000000040
1789*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_LSB                                         56
1790*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_MSB                                         62
1791*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_MASK                                        0x7f00000000000000
1792*5113495bSYour Name 
1793*5113495bSYour Name 
1794*5113495bSYour Name /* Description		PDG_DROPPED_MPDU_WARNING
1795*5113495bSYour Name 
1796*5113495bSYour Name 			Warning that PDG has dropped MPDUs due to SFM FIFO full
1797*5113495bSYour Name 			condition, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
1798*5113495bSYour Name 
1799*5113495bSYour Name */
1800*5113495bSYour Name 
1801*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_OFFSET                           0x0000000000000040
1802*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_LSB                              63
1803*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_MSB                              63
1804*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_MASK                             0x8000000000000000
1805*5113495bSYour Name 
1806*5113495bSYour Name 
1807*5113495bSYour Name /* Description		PACKET_EXTENSION_A_FACTOR
1808*5113495bSYour Name 
1809*5113495bSYour Name 			The "a-factor" of the trigger-based PPDU response, to be
1810*5113495bSYour Name 			 copied from 'PCU_PPDU_SETUP_END' by TXPCU
1811*5113495bSYour Name 
1812*5113495bSYour Name 			This affects the packet extension duration.
1813*5113495bSYour Name 
1814*5113495bSYour Name 			<enum 0 a_factor_4>
1815*5113495bSYour Name 			<enum 1 a_factor_1>
1816*5113495bSYour Name 			<enum 2 a_factor_2>
1817*5113495bSYour Name 			<enum 3 a_factor_3>
1818*5113495bSYour Name 
1819*5113495bSYour Name 			<legal all>
1820*5113495bSYour Name */
1821*5113495bSYour Name 
1822*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_OFFSET                          0x0000000000000048
1823*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_LSB                             0
1824*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_MSB                             1
1825*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_MASK                            0x0000000000000003
1826*5113495bSYour Name 
1827*5113495bSYour Name 
1828*5113495bSYour Name /* Description		PACKET_EXTENSION_PE_DISAMBIGUITY
1829*5113495bSYour Name 
1830*5113495bSYour Name 			The "PE-Disambiguity" of the trigger-based PPDU response,
1831*5113495bSYour Name 			to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
1832*5113495bSYour Name 
1833*5113495bSYour Name 			This affects the packet extension duration.
1834*5113495bSYour Name 
1835*5113495bSYour Name 			<legal all>
1836*5113495bSYour Name */
1837*5113495bSYour Name 
1838*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET                   0x0000000000000048
1839*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB                      2
1840*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_MSB                      2
1841*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK                     0x0000000000000004
1842*5113495bSYour Name 
1843*5113495bSYour Name 
1844*5113495bSYour Name /* Description		PACKET_EXTENSION
1845*5113495bSYour Name 
1846*5113495bSYour Name 			Packet extension size, to be copied from 'PCU_PPDU_SETUP_END'
1847*5113495bSYour Name 			by TXPCU
1848*5113495bSYour Name 
1849*5113495bSYour Name 			This is valid for all PPDUs including HE-Ranging NDPs (11az)
1850*5113495bSYour Name 			and Short-NDPs.
1851*5113495bSYour Name 
1852*5113495bSYour Name 			<enum 0     packet_ext_0>
1853*5113495bSYour Name 			<enum 1     packet_ext_4>
1854*5113495bSYour Name 			<enum 2     packet_ext_8>
1855*5113495bSYour Name 			<enum 3     packet_ext_12>
1856*5113495bSYour Name 			<enum 4     packet_ext_16>
1857*5113495bSYour Name 			<enum 5     packet_ext_20>
1858*5113495bSYour Name 			<legal 0 - 5>
1859*5113495bSYour Name */
1860*5113495bSYour Name 
1861*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_OFFSET                                   0x0000000000000048
1862*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_LSB                                      3
1863*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_MSB                                      5
1864*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_MASK                                     0x0000000000000038
1865*5113495bSYour Name 
1866*5113495bSYour Name 
1867*5113495bSYour Name /* Description		FEC_TYPE
1868*5113495bSYour Name 
1869*5113495bSYour Name 			For trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END'
1870*5113495bSYour Name 			by TXPCU
1871*5113495bSYour Name 			0: BCC
1872*5113495bSYour Name 			1: LDPC
1873*5113495bSYour Name 			<legal all>
1874*5113495bSYour Name */
1875*5113495bSYour Name 
1876*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_OFFSET                                           0x0000000000000048
1877*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_LSB                                              6
1878*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_MSB                                              6
1879*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_MASK                                             0x0000000000000040
1880*5113495bSYour Name 
1881*5113495bSYour Name 
1882*5113495bSYour Name /* Description		STBC
1883*5113495bSYour Name 
1884*5113495bSYour Name 			For trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END'
1885*5113495bSYour Name 			by TXPCU
1886*5113495bSYour Name 
1887*5113495bSYour Name 			When set, this transmission is based on STBC rates.
1888*5113495bSYour Name */
1889*5113495bSYour Name 
1890*5113495bSYour Name #define TX_FES_STATUS_END_STBC_OFFSET                                               0x0000000000000048
1891*5113495bSYour Name #define TX_FES_STATUS_END_STBC_LSB                                                  7
1892*5113495bSYour Name #define TX_FES_STATUS_END_STBC_MSB                                                  7
1893*5113495bSYour Name #define TX_FES_STATUS_END_STBC_MASK                                                 0x0000000000000080
1894*5113495bSYour Name 
1895*5113495bSYour Name 
1896*5113495bSYour Name /* Description		NUM_DATA_SYMBOLS
1897*5113495bSYour Name 
1898*5113495bSYour Name 			The number of data symbols in the transmission, to be copied
1899*5113495bSYour Name 			 from 'PCU_PPDU_SETUP_END' by TXPCU
1900*5113495bSYour Name 
1901*5113495bSYour Name 			This does not include PE_LTF. Also for STBC packets this
1902*5113495bSYour Name 			 has to be an even number. This is valid for all PPDUs.
1903*5113495bSYour Name */
1904*5113495bSYour Name 
1905*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_OFFSET                                   0x0000000000000048
1906*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_LSB                                      8
1907*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_MSB                                      23
1908*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_MASK                                     0x0000000000ffff00
1909*5113495bSYour Name 
1910*5113495bSYour Name 
1911*5113495bSYour Name /* Description		RU_SIZE
1912*5113495bSYour Name 
1913*5113495bSYour Name 			The size of the RU for this user, for trigger-based PPDU
1914*5113495bSYour Name 			 response, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
1915*5113495bSYour Name 
1916*5113495bSYour Name 
1917*5113495bSYour Name 			<enum 0 RU_26>
1918*5113495bSYour Name 			<enum 1 RU_52>
1919*5113495bSYour Name 			<enum 2 RU_106>
1920*5113495bSYour Name 			<enum 3 RU_242>
1921*5113495bSYour Name 			<enum 4 RU_484>
1922*5113495bSYour Name 			<enum 5 RU_996>
1923*5113495bSYour Name 			<enum 6 RU_1992>
1924*5113495bSYour Name 			<enum 7 RU_FULLBW> Set when the RU occupies the full packet
1925*5113495bSYour Name 			 bandwidth
1926*5113495bSYour Name 			<enum 8 RU_FULLBW_240> Set when the RU occupies the full
1927*5113495bSYour Name 			 packet bandwidth
1928*5113495bSYour Name 			<enum 9 RU_FULLBW_320> Set when the RU occupies the full
1929*5113495bSYour Name 			 packet bandwidth
1930*5113495bSYour Name 			<enum 10 RU_MULTI_LARGE> HW will use per-user sub-band-mask
1931*5113495bSYour Name 			 to infer the actual RU-size for Multi-large-RU/SU-Puncturing
1932*5113495bSYour Name 
1933*5113495bSYour Name 			<enum 11 RU_78> multi small RU
1934*5113495bSYour Name 			<enum 12 RU_132> multi small RU
1935*5113495bSYour Name 			<legal 0-12>
1936*5113495bSYour Name */
1937*5113495bSYour Name 
1938*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_OFFSET                                            0x0000000000000048
1939*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_LSB                                               24
1940*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_MSB                                               27
1941*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_MASK                                              0x000000000f000000
1942*5113495bSYour Name 
1943*5113495bSYour Name 
1944*5113495bSYour Name /* Description		RESERVED_17A
1945*5113495bSYour Name 
1946*5113495bSYour Name 			Hamilton v1 used this for 'Nss' for trigger-based PPDU response.
1947*5113495bSYour Name 
1948*5113495bSYour Name 			<legal 0>
1949*5113495bSYour Name */
1950*5113495bSYour Name 
1951*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_OFFSET                                       0x0000000000000048
1952*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_LSB                                          28
1953*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_MSB                                          31
1954*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_MASK                                         0x00000000f0000000
1955*5113495bSYour Name 
1956*5113495bSYour Name 
1957*5113495bSYour Name /* Description		NUM_LTF_SYMBOLS
1958*5113495bSYour Name 
1959*5113495bSYour Name 			Indicates the number of HE-LTF symbols, for trigger-based
1960*5113495bSYour Name 			 PPDU response, to be copied from 'PCU_PPDU_SETUP_END' by
1961*5113495bSYour Name 			 TXPCU
1962*5113495bSYour Name 
1963*5113495bSYour Name 			0: 1 symbol
1964*5113495bSYour Name 			1: 2 symbols
1965*5113495bSYour Name 			2: 3 symbols
1966*5113495bSYour Name 			3: 4 symbols
1967*5113495bSYour Name 			4: 5 symbols
1968*5113495bSYour Name 			5: 6 symbols
1969*5113495bSYour Name 			6: 7 symbols
1970*5113495bSYour Name 			7: 8 symbols
1971*5113495bSYour Name 
1972*5113495bSYour Name 			NOTE that this encoding is different from what is in "Num_LTF_symbols"
1973*5113495bSYour Name 			in the HE_SIG_A_MU_DL.
1974*5113495bSYour Name 			<legal all>
1975*5113495bSYour Name */
1976*5113495bSYour Name 
1977*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_OFFSET                                    0x0000000000000048
1978*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_LSB                                       32
1979*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_MSB                                       34
1980*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_MASK                                      0x0000000700000000
1981*5113495bSYour Name 
1982*5113495bSYour Name 
1983*5113495bSYour Name /* Description		LTF_SIZE
1984*5113495bSYour Name 
1985*5113495bSYour Name 			Ltf size, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
1986*5113495bSYour Name 
1987*5113495bSYour Name 
1988*5113495bSYour Name 			This is valid for all PPDUs including HE-Ranging NDPs (11az)
1989*5113495bSYour Name 			and Short-NDPs.
1990*5113495bSYour Name 
1991*5113495bSYour Name 			<enum 0     ltf_1x >
1992*5113495bSYour Name 			<enum 1     ltf_2x >
1993*5113495bSYour Name 			<enum 2     ltf_4x >
1994*5113495bSYour Name 			<legal 0 - 2>
1995*5113495bSYour Name */
1996*5113495bSYour Name 
1997*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_OFFSET                                           0x0000000000000048
1998*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_LSB                                              35
1999*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_MSB                                              36
2000*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_MASK                                             0x0000001800000000
2001*5113495bSYour Name 
2002*5113495bSYour Name 
2003*5113495bSYour Name /* Description		CP_SETTING
2004*5113495bSYour Name 
2005*5113495bSYour Name 			Field only valid when pkt type is HT, VHT or HE
2006*5113495bSYour Name 
2007*5113495bSYour Name 			GI setting, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
2008*5113495bSYour Name 
2009*5113495bSYour Name 
2010*5113495bSYour Name 			This is valid for all PPDUs including HE-Ranging NDPs (11az)
2011*5113495bSYour Name 			and Short-NDPs.
2012*5113495bSYour Name 
2013*5113495bSYour Name 			<enum 0     gi_0_8_us > Legacy normal GI
2014*5113495bSYour Name 			<enum 1     gi_0_4_us > Legacy short GI
2015*5113495bSYour Name 			<enum 2     gi_1_6_us > HE related GI
2016*5113495bSYour Name 			<enum 3     gi_3_2_us > HE related GI
2017*5113495bSYour Name 			<legal 0 - 3>
2018*5113495bSYour Name */
2019*5113495bSYour Name 
2020*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_OFFSET                                         0x0000000000000048
2021*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_LSB                                            37
2022*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_MSB                                            38
2023*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_MASK                                           0x0000006000000000
2024*5113495bSYour Name 
2025*5113495bSYour Name 
2026*5113495bSYour Name /* Description		RESERVED_18A
2027*5113495bSYour Name 
2028*5113495bSYour Name 			Hamilton v1 used bits [11:8] for 'Mcs' for trigger-based
2029*5113495bSYour Name 			 PPDU response.
2030*5113495bSYour Name 			<legal 0>
2031*5113495bSYour Name */
2032*5113495bSYour Name 
2033*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_OFFSET                                       0x0000000000000048
2034*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_LSB                                          39
2035*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_MSB                                          43
2036*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_MASK                                         0x00000f8000000000
2037*5113495bSYour Name 
2038*5113495bSYour Name 
2039*5113495bSYour Name /* Description		DCM
2040*5113495bSYour Name 
2041*5113495bSYour Name 			Field only valid in case of 11ax transmission
2042*5113495bSYour Name 
2043*5113495bSYour Name 			Indicates whether dual sub-carrier modulation is applied,
2044*5113495bSYour Name 			for trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END'
2045*5113495bSYour Name 			by TXPCU
2046*5113495bSYour Name 			0: No DCM
2047*5113495bSYour Name 			1:DCM
2048*5113495bSYour Name 			<legal all>
2049*5113495bSYour Name */
2050*5113495bSYour Name 
2051*5113495bSYour Name #define TX_FES_STATUS_END_DCM_OFFSET                                                0x0000000000000048
2052*5113495bSYour Name #define TX_FES_STATUS_END_DCM_LSB                                                   44
2053*5113495bSYour Name #define TX_FES_STATUS_END_DCM_MSB                                                   44
2054*5113495bSYour Name #define TX_FES_STATUS_END_DCM_MASK                                                  0x0000100000000000
2055*5113495bSYour Name 
2056*5113495bSYour Name 
2057*5113495bSYour Name /* Description		LDPC_EXTRA_SYMBOL
2058*5113495bSYour Name 
2059*5113495bSYour Name 			Set to 1 if the LDPC PPDU encoding process (if an SU PPDU),
2060*5113495bSYour Name 			or at least one LDPC user's PPDU encoding process (if an
2061*5113495bSYour Name 			 MU PPDU), results in an extra OFDM symbol (or symbols)
2062*5113495bSYour Name 			as described in 22.3.10.5.4 (LDPC coding) and 22.3.10.5.5
2063*5113495bSYour Name 			 (Encoding process for MU PPDUs). Set to 0 otherwise.
2064*5113495bSYour Name 
2065*5113495bSYour Name 			To be copied from 'PCU_PPDU_SETUP_END' by TXPCU
2066*5113495bSYour Name 			<legal all>
2067*5113495bSYour Name */
2068*5113495bSYour Name 
2069*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_OFFSET                                  0x0000000000000048
2070*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_LSB                                     45
2071*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_MSB                                     45
2072*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_MASK                                    0x0000200000000000
2073*5113495bSYour Name 
2074*5113495bSYour Name 
2075*5113495bSYour Name /* Description		FORCE_EXTRA_SYMBOL
2076*5113495bSYour Name 
2077*5113495bSYour Name 			Set to 1 to force an extra OFDM symbol (or symbols) even
2078*5113495bSYour Name 			 if none of the users' PPDU encoding process resuls in an
2079*5113495bSYour Name 			 extra OFDM symbol (or symbols).
2080*5113495bSYour Name 
2081*5113495bSYour Name 			To be copied from 'PCU_PPDU_SETUP_END' by TXPCU
2082*5113495bSYour Name 			<legal all>
2083*5113495bSYour Name */
2084*5113495bSYour Name 
2085*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_OFFSET                                 0x0000000000000048
2086*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_LSB                                    46
2087*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_MSB                                    46
2088*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_MASK                                   0x0000400000000000
2089*5113495bSYour Name 
2090*5113495bSYour Name 
2091*5113495bSYour Name /* Description		RESERVED_18B
2092*5113495bSYour Name 
2093*5113495bSYour Name 			<legal 0>
2094*5113495bSYour Name */
2095*5113495bSYour Name 
2096*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_OFFSET                                       0x0000000000000048
2097*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_LSB                                          47
2098*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_MSB                                          47
2099*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_MASK                                         0x0000800000000000
2100*5113495bSYour Name 
2101*5113495bSYour Name 
2102*5113495bSYour Name /* Description		TX_PWR_SHARED
2103*5113495bSYour Name 
2104*5113495bSYour Name 			Transmit Power (signed value) in units of 0.25 dBm, to be
2105*5113495bSYour Name 			 copied from 'PCU_PPDU_SETUP_END' by TXPCU
2106*5113495bSYour Name 			<legal all>
2107*5113495bSYour Name */
2108*5113495bSYour Name 
2109*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_OFFSET                                      0x0000000000000048
2110*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_LSB                                         48
2111*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_MSB                                         55
2112*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_MASK                                        0x00ff000000000000
2113*5113495bSYour Name 
2114*5113495bSYour Name 
2115*5113495bSYour Name /* Description		TX_PWR_UNSHARED
2116*5113495bSYour Name 
2117*5113495bSYour Name 			Transmit Power (signed value) in units of 0.25 dBm, to be
2118*5113495bSYour Name 			 copied from 'PCU_PPDU_SETUP_END' by TXPCU
2119*5113495bSYour Name 			<legal all>
2120*5113495bSYour Name */
2121*5113495bSYour Name 
2122*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_OFFSET                                    0x0000000000000048
2123*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_LSB                                       56
2124*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_MSB                                       63
2125*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_MASK                                      0xff00000000000000
2126*5113495bSYour Name 
2127*5113495bSYour Name 
2128*5113495bSYour Name /* Description		RANGING_ACTIVE_USER_MAP
2129*5113495bSYour Name 
2130*5113495bSYour Name 			Field only valid for TB Ranging transmissions
2131*5113495bSYour Name 
2132*5113495bSYour Name 			TXPCU sets this to the current active user bitmap, with
2133*5113495bSYour Name 			each bit set to:
2134*5113495bSYour Name 			1: for an active user, and
2135*5113495bSYour Name 			0: for any user not part of the ranging.
2136*5113495bSYour Name 
2137*5113495bSYour Name 			Hamilton v1 did not include this (and any subsequent) word.
2138*5113495bSYour Name 
2139*5113495bSYour Name */
2140*5113495bSYour Name 
2141*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_OFFSET                            0x0000000000000050
2142*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_LSB                               0
2143*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_MSB                               15
2144*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_MASK                              0x000000000000ffff
2145*5113495bSYour Name 
2146*5113495bSYour Name 
2147*5113495bSYour Name /* Description		RANGING_SENT_DUMMY_TX
2148*5113495bSYour Name 
2149*5113495bSYour Name 			Field only valid for TB Ranging transmissions
2150*5113495bSYour Name 
2151*5113495bSYour Name 			TXPCU sets this bit if some user's 'STA Info' or 'User Info'
2152*5113495bSYour Name 			was sent out as dummy, or the whole transmission was sent
2153*5113495bSYour Name 			 out as dummy.
2154*5113495bSYour Name */
2155*5113495bSYour Name 
2156*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_OFFSET                              0x0000000000000050
2157*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_LSB                                 16
2158*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_MSB                                 16
2159*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_MASK                                0x0000000000010000
2160*5113495bSYour Name 
2161*5113495bSYour Name 
2162*5113495bSYour Name /* Description		RANGING_FTM_FRAME_SENT
2163*5113495bSYour Name 
2164*5113495bSYour Name 			Field only valid for Ranging transmissions
2165*5113495bSYour Name 
2166*5113495bSYour Name 			TXPCU sets this bit if an FTM frame aggregated with an LMR
2167*5113495bSYour Name 			 was sent.
2168*5113495bSYour Name */
2169*5113495bSYour Name 
2170*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_OFFSET                             0x0000000000000050
2171*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_LSB                                17
2172*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_MSB                                17
2173*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_MASK                               0x0000000000020000
2174*5113495bSYour Name 
2175*5113495bSYour Name 
2176*5113495bSYour Name /* Description		RESERVED_20A
2177*5113495bSYour Name 
2178*5113495bSYour Name 			<legal 0>
2179*5113495bSYour Name */
2180*5113495bSYour Name 
2181*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_OFFSET                                       0x0000000000000050
2182*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_LSB                                          18
2183*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_MSB                                          23
2184*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_MASK                                         0x0000000000fc0000
2185*5113495bSYour Name 
2186*5113495bSYour Name 
2187*5113495bSYour Name /* Description		CV_CORR_STATUS
2188*5113495bSYour Name 
2189*5113495bSYour Name 			CV correlation status from 'PHYTX_CV_CORR_STATUS,' to be
2190*5113495bSYour Name 			 copied from 'PCU_PPDU_SETUP_END' by TXPCU
2191*5113495bSYour Name 			<legal all>
2192*5113495bSYour Name */
2193*5113495bSYour Name 
2194*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_OFFSET                                     0x0000000000000050
2195*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_LSB                                        24
2196*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_MSB                                        31
2197*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_MASK                                       0x00000000ff000000
2198*5113495bSYour Name 
2199*5113495bSYour Name 
2200*5113495bSYour Name /* Description		CURRENT_TX_DURATION
2201*5113495bSYour Name 
2202*5113495bSYour Name 			The duration of the transmission in us, copied over from
2203*5113495bSYour Name 			 PCU_PPDU_SETUP_{END, START} as  the case may be
2204*5113495bSYour Name 			<legal all>
2205*5113495bSYour Name */
2206*5113495bSYour Name 
2207*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_OFFSET                                0x0000000000000050
2208*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_LSB                                   32
2209*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_MSB                                   47
2210*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_MASK                                  0x0000ffff00000000
2211*5113495bSYour Name 
2212*5113495bSYour Name 
2213*5113495bSYour Name /* Description		RESERVED_21A
2214*5113495bSYour Name 
2215*5113495bSYour Name 			Bits [19:16]: num_cts2self_transmitted:
2216*5113495bSYour Name 
2217*5113495bSYour Name 			Number of CTS2SELF frames transmitted in this FES
2218*5113495bSYour Name 
2219*5113495bSYour Name 			<legal 0-15>
2220*5113495bSYour Name */
2221*5113495bSYour Name 
2222*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_OFFSET                                       0x0000000000000050
2223*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_LSB                                          48
2224*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_MSB                                          63
2225*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_MASK                                         0xffff000000000000
2226*5113495bSYour Name 
2227*5113495bSYour Name 
2228*5113495bSYour Name 
2229*5113495bSYour Name #endif   // TX_FES_STATUS_END
2230