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