xref: /wlan-driver/fw-api/hw/qcn6432/rxpcu_ppdu_end_layout_info.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 _RXPCU_PPDU_END_LAYOUT_INFO_H_
18*5113495bSYour Name #define _RXPCU_PPDU_END_LAYOUT_INFO_H_
19*5113495bSYour Name #if !defined(__ASSEMBLER__)
20*5113495bSYour Name #endif
21*5113495bSYour Name 
22*5113495bSYour Name #define NUM_OF_DWORDS_RXPCU_PPDU_END_LAYOUT_INFO 10
23*5113495bSYour Name 
24*5113495bSYour Name 
25*5113495bSYour Name struct rxpcu_ppdu_end_layout_info {
26*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
27*5113495bSYour Name              uint32_t rssi_legacy_offset                                      :  2, // [1:0]
28*5113495bSYour Name                       l_sig_a_offset                                          :  6, // [7:2]
29*5113495bSYour Name                       l_sig_b_offset                                          :  6, // [13:8]
30*5113495bSYour Name                       ht_sig_offset                                           :  6, // [19:14]
31*5113495bSYour Name                       vht_sig_a_offset                                        :  6, // [25:20]
32*5113495bSYour Name                       repeat_l_sig_a_offset                                   :  6; // [31:26]
33*5113495bSYour Name              uint32_t he_sig_a_su_offset                                      :  6, // [5:0]
34*5113495bSYour Name                       he_sig_a_mu_dl_offset                                   :  6, // [11:6]
35*5113495bSYour Name                       he_sig_a_mu_ul_offset                                   :  6, // [17:12]
36*5113495bSYour Name                       generic_u_sig_offset                                    :  6, // [23:18]
37*5113495bSYour Name                       rssi_ht_offset                                          :  7, // [30:24]
38*5113495bSYour Name                       reserved_1a                                             :  1; // [31:31]
39*5113495bSYour Name              uint32_t vht_sig_b_su20_offset                                   :  7, // [6:0]
40*5113495bSYour Name                       vht_sig_b_su40_offset                                   :  7, // [13:7]
41*5113495bSYour Name                       vht_sig_b_su80_offset                                   :  7, // [20:14]
42*5113495bSYour Name                       vht_sig_b_su160_offset                                  :  7, // [27:21]
43*5113495bSYour Name                       reserved_2a                                             :  4; // [31:28]
44*5113495bSYour Name              uint32_t vht_sig_b_mu20_offset                                   :  7, // [6:0]
45*5113495bSYour Name                       vht_sig_b_mu40_offset                                   :  7, // [13:7]
46*5113495bSYour Name                       vht_sig_b_mu80_offset                                   :  7, // [20:14]
47*5113495bSYour Name                       vht_sig_b_mu160_offset                                  :  7, // [27:21]
48*5113495bSYour Name                       reserved_3a                                             :  4; // [31:28]
49*5113495bSYour Name              uint32_t he_sig_b1_mu_offset                                     :  7, // [6:0]
50*5113495bSYour Name                       he_sig_b2_mu_offset                                     :  7, // [13:7]
51*5113495bSYour Name                       he_sig_b2_ofdma_offset                                  :  7, // [20:14]
52*5113495bSYour Name                       first_generic_eht_sig_offset                            :  7, // [27:21]
53*5113495bSYour Name                       multiple_generic_eht_sig_included                       :  1, // [28:28]
54*5113495bSYour Name                       reserved_4a                                             :  3; // [31:29]
55*5113495bSYour Name              uint32_t common_user_info_offset                                 :  7, // [6:0]
56*5113495bSYour Name                       first_debug_info_offset                                 :  8, // [14:7]
57*5113495bSYour Name                       multiple_debug_info_included                            :  1, // [15:15]
58*5113495bSYour Name                       first_other_receive_info_offset                         :  8, // [23:16]
59*5113495bSYour Name                       multiple_other_receive_info_included                    :  1, // [24:24]
60*5113495bSYour Name                       reserved_5a                                             :  7; // [31:25]
61*5113495bSYour Name              uint32_t data_done_offset                                        :  8, // [7:0]
62*5113495bSYour Name                       generated_cbf_details_offset                            :  8, // [15:8]
63*5113495bSYour Name                       pkt_end_part1_offset                                    :  8, // [23:16]
64*5113495bSYour Name                       location_offset                                         :  8; // [31:24]
65*5113495bSYour Name              uint32_t az_integrity_data_offset                                :  8, // [7:0]
66*5113495bSYour Name                       pkt_end_offset                                          :  8, // [15:8]
67*5113495bSYour Name                       abort_request_ack_offset                                :  8, // [23:16]
68*5113495bSYour Name                       reserved_7a                                             :  8; // [31:24]
69*5113495bSYour Name              uint32_t reserved_8a                                             : 32; // [31:0]
70*5113495bSYour Name              uint32_t reserved_9a                                             : 32; // [31:0]
71*5113495bSYour Name #else
72*5113495bSYour Name              uint32_t repeat_l_sig_a_offset                                   :  6, // [31:26]
73*5113495bSYour Name                       vht_sig_a_offset                                        :  6, // [25:20]
74*5113495bSYour Name                       ht_sig_offset                                           :  6, // [19:14]
75*5113495bSYour Name                       l_sig_b_offset                                          :  6, // [13:8]
76*5113495bSYour Name                       l_sig_a_offset                                          :  6, // [7:2]
77*5113495bSYour Name                       rssi_legacy_offset                                      :  2; // [1:0]
78*5113495bSYour Name              uint32_t reserved_1a                                             :  1, // [31:31]
79*5113495bSYour Name                       rssi_ht_offset                                          :  7, // [30:24]
80*5113495bSYour Name                       generic_u_sig_offset                                    :  6, // [23:18]
81*5113495bSYour Name                       he_sig_a_mu_ul_offset                                   :  6, // [17:12]
82*5113495bSYour Name                       he_sig_a_mu_dl_offset                                   :  6, // [11:6]
83*5113495bSYour Name                       he_sig_a_su_offset                                      :  6; // [5:0]
84*5113495bSYour Name              uint32_t reserved_2a                                             :  4, // [31:28]
85*5113495bSYour Name                       vht_sig_b_su160_offset                                  :  7, // [27:21]
86*5113495bSYour Name                       vht_sig_b_su80_offset                                   :  7, // [20:14]
87*5113495bSYour Name                       vht_sig_b_su40_offset                                   :  7, // [13:7]
88*5113495bSYour Name                       vht_sig_b_su20_offset                                   :  7; // [6:0]
89*5113495bSYour Name              uint32_t reserved_3a                                             :  4, // [31:28]
90*5113495bSYour Name                       vht_sig_b_mu160_offset                                  :  7, // [27:21]
91*5113495bSYour Name                       vht_sig_b_mu80_offset                                   :  7, // [20:14]
92*5113495bSYour Name                       vht_sig_b_mu40_offset                                   :  7, // [13:7]
93*5113495bSYour Name                       vht_sig_b_mu20_offset                                   :  7; // [6:0]
94*5113495bSYour Name              uint32_t reserved_4a                                             :  3, // [31:29]
95*5113495bSYour Name                       multiple_generic_eht_sig_included                       :  1, // [28:28]
96*5113495bSYour Name                       first_generic_eht_sig_offset                            :  7, // [27:21]
97*5113495bSYour Name                       he_sig_b2_ofdma_offset                                  :  7, // [20:14]
98*5113495bSYour Name                       he_sig_b2_mu_offset                                     :  7, // [13:7]
99*5113495bSYour Name                       he_sig_b1_mu_offset                                     :  7; // [6:0]
100*5113495bSYour Name              uint32_t reserved_5a                                             :  7, // [31:25]
101*5113495bSYour Name                       multiple_other_receive_info_included                    :  1, // [24:24]
102*5113495bSYour Name                       first_other_receive_info_offset                         :  8, // [23:16]
103*5113495bSYour Name                       multiple_debug_info_included                            :  1, // [15:15]
104*5113495bSYour Name                       first_debug_info_offset                                 :  8, // [14:7]
105*5113495bSYour Name                       common_user_info_offset                                 :  7; // [6:0]
106*5113495bSYour Name              uint32_t location_offset                                         :  8, // [31:24]
107*5113495bSYour Name                       pkt_end_part1_offset                                    :  8, // [23:16]
108*5113495bSYour Name                       generated_cbf_details_offset                            :  8, // [15:8]
109*5113495bSYour Name                       data_done_offset                                        :  8; // [7:0]
110*5113495bSYour Name              uint32_t reserved_7a                                             :  8, // [31:24]
111*5113495bSYour Name                       abort_request_ack_offset                                :  8, // [23:16]
112*5113495bSYour Name                       pkt_end_offset                                          :  8, // [15:8]
113*5113495bSYour Name                       az_integrity_data_offset                                :  8; // [7:0]
114*5113495bSYour Name              uint32_t reserved_8a                                             : 32; // [31:0]
115*5113495bSYour Name              uint32_t reserved_9a                                             : 32; // [31:0]
116*5113495bSYour Name #endif
117*5113495bSYour Name };
118*5113495bSYour Name 
119*5113495bSYour Name 
120*5113495bSYour Name /* Description		RSSI_LEGACY_OFFSET
121*5113495bSYour Name 
122*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_RSSI_LEGACY' within
123*5113495bSYour Name 			 'RX_PPDU_END'<legal 1, 2>
124*5113495bSYour Name */
125*5113495bSYour Name 
126*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_LEGACY_OFFSET_OFFSET                        0x00000000
127*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_LEGACY_OFFSET_LSB                           0
128*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_LEGACY_OFFSET_MSB                           1
129*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_LEGACY_OFFSET_MASK                          0x00000003
130*5113495bSYour Name 
131*5113495bSYour Name 
132*5113495bSYour Name /* Description		L_SIG_A_OFFSET
133*5113495bSYour Name 
134*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_L_SIG_A' within 'RX_PPDU_END'
135*5113495bSYour Name 			Set to zero if the TLV is not included<legal 0, 44, 46>
136*5113495bSYour Name */
137*5113495bSYour Name 
138*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_A_OFFSET_OFFSET                            0x00000000
139*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_A_OFFSET_LSB                               2
140*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_A_OFFSET_MSB                               7
141*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_A_OFFSET_MASK                              0x000000fc
142*5113495bSYour Name 
143*5113495bSYour Name 
144*5113495bSYour Name /* Description		L_SIG_B_OFFSET
145*5113495bSYour Name 
146*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_L_SIG_A' within 'RX_PPDU_END'
147*5113495bSYour Name 			Set to zero if the TLV is not included<legal 0, 44, 46>
148*5113495bSYour Name */
149*5113495bSYour Name 
150*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_B_OFFSET_OFFSET                            0x00000000
151*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_B_OFFSET_LSB                               8
152*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_B_OFFSET_MSB                               13
153*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_L_SIG_B_OFFSET_MASK                              0x00003f00
154*5113495bSYour Name 
155*5113495bSYour Name 
156*5113495bSYour Name /* Description		HT_SIG_OFFSET
157*5113495bSYour Name 
158*5113495bSYour Name 			Offset of 'PHYRX_HT_SIG' within 'RX_PPDU_END' Set to zero
159*5113495bSYour Name 			 if the TLV is not included<legal 0, 46, 50>
160*5113495bSYour Name */
161*5113495bSYour Name 
162*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HT_SIG_OFFSET_OFFSET                             0x00000000
163*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HT_SIG_OFFSET_LSB                                14
164*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HT_SIG_OFFSET_MSB                                19
165*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HT_SIG_OFFSET_MASK                               0x000fc000
166*5113495bSYour Name 
167*5113495bSYour Name 
168*5113495bSYour Name /* Description		VHT_SIG_A_OFFSET
169*5113495bSYour Name 
170*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_A' within 'RX_PPDU_END'
171*5113495bSYour Name 			Set to zero if the TLV is not included<legal 0, 46, 50>
172*5113495bSYour Name */
173*5113495bSYour Name 
174*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_A_OFFSET_OFFSET                          0x00000000
175*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_A_OFFSET_LSB                             20
176*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_A_OFFSET_MSB                             25
177*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_A_OFFSET_MASK                            0x03f00000
178*5113495bSYour Name 
179*5113495bSYour Name 
180*5113495bSYour Name /* Description		REPEAT_L_SIG_A_OFFSET
181*5113495bSYour Name 
182*5113495bSYour Name 			Offset in units of 4 bytes of the repeat 'PHYRX_L_SIG_A' (in
183*5113495bSYour Name 			 HE and EHT cases) within 'RX_PPDU_END'
184*5113495bSYour Name 
185*5113495bSYour Name 			Set to zero if the TLV is not included
186*5113495bSYour Name 			<legal 0, 46, 50>
187*5113495bSYour Name */
188*5113495bSYour Name 
189*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_REPEAT_L_SIG_A_OFFSET_OFFSET                     0x00000000
190*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_REPEAT_L_SIG_A_OFFSET_LSB                        26
191*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_REPEAT_L_SIG_A_OFFSET_MSB                        31
192*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_REPEAT_L_SIG_A_OFFSET_MASK                       0xfc000000
193*5113495bSYour Name 
194*5113495bSYour Name 
195*5113495bSYour Name /* Description		HE_SIG_A_SU_OFFSET
196*5113495bSYour Name 
197*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_HE_SIG_A_SU' within
198*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
199*5113495bSYour Name 			 0, 48, 54>
200*5113495bSYour Name */
201*5113495bSYour Name 
202*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_SU_OFFSET_OFFSET                        0x00000004
203*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_SU_OFFSET_LSB                           0
204*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_SU_OFFSET_MSB                           5
205*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_SU_OFFSET_MASK                          0x0000003f
206*5113495bSYour Name 
207*5113495bSYour Name 
208*5113495bSYour Name /* Description		HE_SIG_A_MU_DL_OFFSET
209*5113495bSYour Name 
210*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_HE_SIG_A_MU_DL' within
211*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
212*5113495bSYour Name 			 0, 48, 54>
213*5113495bSYour Name */
214*5113495bSYour Name 
215*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_DL_OFFSET_OFFSET                     0x00000004
216*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_DL_OFFSET_LSB                        6
217*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_DL_OFFSET_MSB                        11
218*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_DL_OFFSET_MASK                       0x00000fc0
219*5113495bSYour Name 
220*5113495bSYour Name 
221*5113495bSYour Name /* Description		HE_SIG_A_MU_UL_OFFSET
222*5113495bSYour Name 
223*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_HE_SIG_A_MU_UL' within
224*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
225*5113495bSYour Name 			 0, 48, 54>
226*5113495bSYour Name */
227*5113495bSYour Name 
228*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_UL_OFFSET_OFFSET                     0x00000004
229*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_UL_OFFSET_LSB                        12
230*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_UL_OFFSET_MSB                        17
231*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_A_MU_UL_OFFSET_MASK                       0x0003f000
232*5113495bSYour Name 
233*5113495bSYour Name 
234*5113495bSYour Name /* Description		GENERIC_U_SIG_OFFSET
235*5113495bSYour Name 
236*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_GENERIC_U_SIG' within
237*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
238*5113495bSYour Name 			 0, 48, 54>
239*5113495bSYour Name */
240*5113495bSYour Name 
241*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERIC_U_SIG_OFFSET_OFFSET                      0x00000004
242*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERIC_U_SIG_OFFSET_LSB                         18
243*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERIC_U_SIG_OFFSET_MSB                         23
244*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERIC_U_SIG_OFFSET_MASK                        0x00fc0000
245*5113495bSYour Name 
246*5113495bSYour Name 
247*5113495bSYour Name /* Description		RSSI_HT_OFFSET
248*5113495bSYour Name 
249*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_RSSI_HT' within 'RX_PPDU_END'
250*5113495bSYour Name 			Set to zero if the TLV is not included<legal 0, 49-127>
251*5113495bSYour Name */
252*5113495bSYour Name 
253*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_HT_OFFSET_OFFSET                            0x00000004
254*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_HT_OFFSET_LSB                               24
255*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_HT_OFFSET_MSB                               30
256*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RSSI_HT_OFFSET_MASK                              0x7f000000
257*5113495bSYour Name 
258*5113495bSYour Name 
259*5113495bSYour Name /* Description		RESERVED_1A
260*5113495bSYour Name 
261*5113495bSYour Name 			<legal 0>
262*5113495bSYour Name */
263*5113495bSYour Name 
264*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_1A_OFFSET                               0x00000004
265*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_1A_LSB                                  31
266*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_1A_MSB                                  31
267*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_1A_MASK                                 0x80000000
268*5113495bSYour Name 
269*5113495bSYour Name 
270*5113495bSYour Name /* Description		VHT_SIG_B_SU20_OFFSET
271*5113495bSYour Name 
272*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_SU20' within
273*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
274*5113495bSYour Name 			 0, 67, 74>
275*5113495bSYour Name */
276*5113495bSYour Name 
277*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU20_OFFSET_OFFSET                     0x00000008
278*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU20_OFFSET_LSB                        0
279*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU20_OFFSET_MSB                        6
280*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU20_OFFSET_MASK                       0x0000007f
281*5113495bSYour Name 
282*5113495bSYour Name 
283*5113495bSYour Name /* Description		VHT_SIG_B_SU40_OFFSET
284*5113495bSYour Name 
285*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_SU40' within
286*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
287*5113495bSYour Name 			 0, 67, 74>
288*5113495bSYour Name */
289*5113495bSYour Name 
290*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU40_OFFSET_OFFSET                     0x00000008
291*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU40_OFFSET_LSB                        7
292*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU40_OFFSET_MSB                        13
293*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU40_OFFSET_MASK                       0x00003f80
294*5113495bSYour Name 
295*5113495bSYour Name 
296*5113495bSYour Name /* Description		VHT_SIG_B_SU80_OFFSET
297*5113495bSYour Name 
298*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_SU80' within
299*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
300*5113495bSYour Name 			 0, 67, 74>
301*5113495bSYour Name */
302*5113495bSYour Name 
303*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU80_OFFSET_OFFSET                     0x00000008
304*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU80_OFFSET_LSB                        14
305*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU80_OFFSET_MSB                        20
306*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU80_OFFSET_MASK                       0x001fc000
307*5113495bSYour Name 
308*5113495bSYour Name 
309*5113495bSYour Name /* Description		VHT_SIG_B_SU160_OFFSET
310*5113495bSYour Name 
311*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_SU160' within
312*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
313*5113495bSYour Name 			 0, 67, 74>
314*5113495bSYour Name */
315*5113495bSYour Name 
316*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU160_OFFSET_OFFSET                    0x00000008
317*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU160_OFFSET_LSB                       21
318*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU160_OFFSET_MSB                       27
319*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_SU160_OFFSET_MASK                      0x0fe00000
320*5113495bSYour Name 
321*5113495bSYour Name 
322*5113495bSYour Name /* Description		RESERVED_2A
323*5113495bSYour Name 
324*5113495bSYour Name 			<legal 0>
325*5113495bSYour Name */
326*5113495bSYour Name 
327*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_2A_OFFSET                               0x00000008
328*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_2A_LSB                                  28
329*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_2A_MSB                                  31
330*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_2A_MASK                                 0xf0000000
331*5113495bSYour Name 
332*5113495bSYour Name 
333*5113495bSYour Name /* Description		VHT_SIG_B_MU20_OFFSET
334*5113495bSYour Name 
335*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_MU20' within
336*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
337*5113495bSYour Name 			 0, 67, 74>
338*5113495bSYour Name */
339*5113495bSYour Name 
340*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU20_OFFSET_OFFSET                     0x0000000c
341*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU20_OFFSET_LSB                        0
342*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU20_OFFSET_MSB                        6
343*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU20_OFFSET_MASK                       0x0000007f
344*5113495bSYour Name 
345*5113495bSYour Name 
346*5113495bSYour Name /* Description		VHT_SIG_B_MU40_OFFSET
347*5113495bSYour Name 
348*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_MU40' within
349*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
350*5113495bSYour Name 			 0, 67, 74>
351*5113495bSYour Name */
352*5113495bSYour Name 
353*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU40_OFFSET_OFFSET                     0x0000000c
354*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU40_OFFSET_LSB                        7
355*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU40_OFFSET_MSB                        13
356*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU40_OFFSET_MASK                       0x00003f80
357*5113495bSYour Name 
358*5113495bSYour Name 
359*5113495bSYour Name /* Description		VHT_SIG_B_MU80_OFFSET
360*5113495bSYour Name 
361*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_MU80' within
362*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
363*5113495bSYour Name 			 0, 67, 74>
364*5113495bSYour Name */
365*5113495bSYour Name 
366*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU80_OFFSET_OFFSET                     0x0000000c
367*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU80_OFFSET_LSB                        14
368*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU80_OFFSET_MSB                        20
369*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU80_OFFSET_MASK                       0x001fc000
370*5113495bSYour Name 
371*5113495bSYour Name 
372*5113495bSYour Name /* Description		VHT_SIG_B_MU160_OFFSET
373*5113495bSYour Name 
374*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_VHT_SIG_B_MU160' within
375*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
376*5113495bSYour Name 			 0, 67, 74>
377*5113495bSYour Name */
378*5113495bSYour Name 
379*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU160_OFFSET_OFFSET                    0x0000000c
380*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU160_OFFSET_LSB                       21
381*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU160_OFFSET_MSB                       27
382*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_VHT_SIG_B_MU160_OFFSET_MASK                      0x0fe00000
383*5113495bSYour Name 
384*5113495bSYour Name 
385*5113495bSYour Name /* Description		RESERVED_3A
386*5113495bSYour Name 
387*5113495bSYour Name 			<legal 0>
388*5113495bSYour Name */
389*5113495bSYour Name 
390*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_3A_OFFSET                               0x0000000c
391*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_3A_LSB                                  28
392*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_3A_MSB                                  31
393*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_3A_MASK                                 0xf0000000
394*5113495bSYour Name 
395*5113495bSYour Name 
396*5113495bSYour Name /* Description		HE_SIG_B1_MU_OFFSET
397*5113495bSYour Name 
398*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_HE_SIG_B1_MU' within
399*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
400*5113495bSYour Name 			 0, 51, 58>
401*5113495bSYour Name */
402*5113495bSYour Name 
403*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B1_MU_OFFSET_OFFSET                       0x00000010
404*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B1_MU_OFFSET_LSB                          0
405*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B1_MU_OFFSET_MSB                          6
406*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B1_MU_OFFSET_MASK                         0x0000007f
407*5113495bSYour Name 
408*5113495bSYour Name 
409*5113495bSYour Name /* Description		HE_SIG_B2_MU_OFFSET
410*5113495bSYour Name 
411*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_HE_SIG_B2_MU' within
412*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
413*5113495bSYour Name 			 0, 51, 58>
414*5113495bSYour Name */
415*5113495bSYour Name 
416*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_MU_OFFSET_OFFSET                       0x00000010
417*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_MU_OFFSET_LSB                          7
418*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_MU_OFFSET_MSB                          13
419*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_MU_OFFSET_MASK                         0x00003f80
420*5113495bSYour Name 
421*5113495bSYour Name 
422*5113495bSYour Name /* Description		HE_SIG_B2_OFDMA_OFFSET
423*5113495bSYour Name 
424*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_HE_SIG_B2_OFDMA' within
425*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
426*5113495bSYour Name 			 0, 53, 62>
427*5113495bSYour Name */
428*5113495bSYour Name 
429*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_OFDMA_OFFSET_OFFSET                    0x00000010
430*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_OFDMA_OFFSET_LSB                       14
431*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_OFDMA_OFFSET_MSB                       20
432*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_HE_SIG_B2_OFDMA_OFFSET_MASK                      0x001fc000
433*5113495bSYour Name 
434*5113495bSYour Name 
435*5113495bSYour Name /* Description		FIRST_GENERIC_EHT_SIG_OFFSET
436*5113495bSYour Name 
437*5113495bSYour Name 			Offset in units of 4 bytes of the first 'PHYRX_GENERIC_EHT_SIG'
438*5113495bSYour Name 			within 'RX_PPDU_END' Set to zero if the TLV is not included<legal
439*5113495bSYour Name 			 0, 51, 58>
440*5113495bSYour Name */
441*5113495bSYour Name 
442*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_GENERIC_EHT_SIG_OFFSET_OFFSET              0x00000010
443*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_GENERIC_EHT_SIG_OFFSET_LSB                 21
444*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_GENERIC_EHT_SIG_OFFSET_MSB                 27
445*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_GENERIC_EHT_SIG_OFFSET_MASK                0x0fe00000
446*5113495bSYour Name 
447*5113495bSYour Name 
448*5113495bSYour Name /* Description		MULTIPLE_GENERIC_EHT_SIG_INCLUDED
449*5113495bSYour Name 
450*5113495bSYour Name 			Set to one if more than one 'PHYRX_GENERIC_EHT_SIG' TLVs
451*5113495bSYour Name 			 are included in 'RX_PPDU_END,' set to zero otherwise
452*5113495bSYour Name 			<legal all>
453*5113495bSYour Name */
454*5113495bSYour Name 
455*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_GENERIC_EHT_SIG_INCLUDED_OFFSET         0x00000010
456*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_GENERIC_EHT_SIG_INCLUDED_LSB            28
457*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_GENERIC_EHT_SIG_INCLUDED_MSB            28
458*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_GENERIC_EHT_SIG_INCLUDED_MASK           0x10000000
459*5113495bSYour Name 
460*5113495bSYour Name 
461*5113495bSYour Name /* Description		RESERVED_4A
462*5113495bSYour Name 
463*5113495bSYour Name 			<legal 0>
464*5113495bSYour Name */
465*5113495bSYour Name 
466*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_4A_OFFSET                               0x00000010
467*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_4A_LSB                                  29
468*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_4A_MSB                                  31
469*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_4A_MASK                                 0xe0000000
470*5113495bSYour Name 
471*5113495bSYour Name 
472*5113495bSYour Name /* Description		COMMON_USER_INFO_OFFSET
473*5113495bSYour Name 
474*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_COMMON_USER_INFO' within
475*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
476*5113495bSYour Name 			 0, 46, 50, 67, 70-127>
477*5113495bSYour Name */
478*5113495bSYour Name 
479*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_COMMON_USER_INFO_OFFSET_OFFSET                   0x00000014
480*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_COMMON_USER_INFO_OFFSET_LSB                      0
481*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_COMMON_USER_INFO_OFFSET_MSB                      6
482*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_COMMON_USER_INFO_OFFSET_MASK                     0x0000007f
483*5113495bSYour Name 
484*5113495bSYour Name 
485*5113495bSYour Name /* Description		FIRST_DEBUG_INFO_OFFSET
486*5113495bSYour Name 
487*5113495bSYour Name 			Offset in units of 4 bytes of the first 'PHYRX_DEBUG_INFO'
488*5113495bSYour Name 			within 'RX_PPDU_END' Set to zero if the TLV is not included<legal
489*5113495bSYour Name 			 all>
490*5113495bSYour Name */
491*5113495bSYour Name 
492*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_DEBUG_INFO_OFFSET_OFFSET                   0x00000014
493*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_DEBUG_INFO_OFFSET_LSB                      7
494*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_DEBUG_INFO_OFFSET_MSB                      14
495*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_DEBUG_INFO_OFFSET_MASK                     0x00007f80
496*5113495bSYour Name 
497*5113495bSYour Name 
498*5113495bSYour Name /* Description		MULTIPLE_DEBUG_INFO_INCLUDED
499*5113495bSYour Name 
500*5113495bSYour Name 			Set to one if more than one 'PHYRX_DEBUG_INFO' TLVs are
501*5113495bSYour Name 			included in 'RX_PPDU_END,' set to zero otherwise<legal all>
502*5113495bSYour Name 
503*5113495bSYour Name */
504*5113495bSYour Name 
505*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_DEBUG_INFO_INCLUDED_OFFSET              0x00000014
506*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_DEBUG_INFO_INCLUDED_LSB                 15
507*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_DEBUG_INFO_INCLUDED_MSB                 15
508*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_DEBUG_INFO_INCLUDED_MASK                0x00008000
509*5113495bSYour Name 
510*5113495bSYour Name 
511*5113495bSYour Name /* Description		FIRST_OTHER_RECEIVE_INFO_OFFSET
512*5113495bSYour Name 
513*5113495bSYour Name 			Offset in units of 4 bytes of the first 'PHYRX_OTHER_RECEIVE_INFO'
514*5113495bSYour Name 			within 'RX_PPDU_END' Set to zero if the TLV is not included<legal
515*5113495bSYour Name 			 all>
516*5113495bSYour Name */
517*5113495bSYour Name 
518*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_OTHER_RECEIVE_INFO_OFFSET_OFFSET           0x00000014
519*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_OTHER_RECEIVE_INFO_OFFSET_LSB              16
520*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_OTHER_RECEIVE_INFO_OFFSET_MSB              23
521*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_FIRST_OTHER_RECEIVE_INFO_OFFSET_MASK             0x00ff0000
522*5113495bSYour Name 
523*5113495bSYour Name 
524*5113495bSYour Name /* Description		MULTIPLE_OTHER_RECEIVE_INFO_INCLUDED
525*5113495bSYour Name 
526*5113495bSYour Name 			Set to one if more than one 'PHYRX_OTHER_RECEIVE_INFO' TLVs
527*5113495bSYour Name 			 are included in 'RX_PPDU_END,' set to zero otherwise<legal
528*5113495bSYour Name 			 all>
529*5113495bSYour Name */
530*5113495bSYour Name 
531*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_OTHER_RECEIVE_INFO_INCLUDED_OFFSET      0x00000014
532*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_OTHER_RECEIVE_INFO_INCLUDED_LSB         24
533*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_OTHER_RECEIVE_INFO_INCLUDED_MSB         24
534*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_MULTIPLE_OTHER_RECEIVE_INFO_INCLUDED_MASK        0x01000000
535*5113495bSYour Name 
536*5113495bSYour Name 
537*5113495bSYour Name /* Description		RESERVED_5A
538*5113495bSYour Name 
539*5113495bSYour Name 			<legal 0>
540*5113495bSYour Name */
541*5113495bSYour Name 
542*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_5A_OFFSET                               0x00000014
543*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_5A_LSB                                  25
544*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_5A_MSB                                  31
545*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_5A_MASK                                 0xfe000000
546*5113495bSYour Name 
547*5113495bSYour Name 
548*5113495bSYour Name /* Description		DATA_DONE_OFFSET
549*5113495bSYour Name 
550*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_DATA_DONE' within 'RX_PPDU_END'
551*5113495bSYour Name 			Set to zero if the TLV is not included<legal all>
552*5113495bSYour Name */
553*5113495bSYour Name 
554*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_DATA_DONE_OFFSET_OFFSET                          0x00000018
555*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_DATA_DONE_OFFSET_LSB                             0
556*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_DATA_DONE_OFFSET_MSB                             7
557*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_DATA_DONE_OFFSET_MASK                            0x000000ff
558*5113495bSYour Name 
559*5113495bSYour Name 
560*5113495bSYour Name /* Description		GENERATED_CBF_DETAILS_OFFSET
561*5113495bSYour Name 
562*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_GENERATED_CBF_DETAILS'
563*5113495bSYour Name 			within 'RX_PPDU_END'Set to zero if the TLV is not included<legal
564*5113495bSYour Name 			 0, 70-127>
565*5113495bSYour Name */
566*5113495bSYour Name 
567*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERATED_CBF_DETAILS_OFFSET_OFFSET              0x00000018
568*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERATED_CBF_DETAILS_OFFSET_LSB                 8
569*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERATED_CBF_DETAILS_OFFSET_MSB                 15
570*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_GENERATED_CBF_DETAILS_OFFSET_MASK                0x0000ff00
571*5113495bSYour Name 
572*5113495bSYour Name 
573*5113495bSYour Name /* Description		PKT_END_PART1_OFFSET
574*5113495bSYour Name 
575*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_PKT_END_PART1' within
576*5113495bSYour Name 			 'RX_PPDU_END' Set to zero if the TLV is not included<legal
577*5113495bSYour Name 			 all>
578*5113495bSYour Name */
579*5113495bSYour Name 
580*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_PART1_OFFSET_OFFSET                      0x00000018
581*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_PART1_OFFSET_LSB                         16
582*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_PART1_OFFSET_MSB                         23
583*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_PART1_OFFSET_MASK                        0x00ff0000
584*5113495bSYour Name 
585*5113495bSYour Name 
586*5113495bSYour Name /* Description		LOCATION_OFFSET
587*5113495bSYour Name 
588*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_LOCATION' within 'RX_PPDU_END'
589*5113495bSYour Name 			Set to zero if the TLV is not included<legal all>
590*5113495bSYour Name */
591*5113495bSYour Name 
592*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_LOCATION_OFFSET_OFFSET                           0x00000018
593*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_LOCATION_OFFSET_LSB                              24
594*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_LOCATION_OFFSET_MSB                              31
595*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_LOCATION_OFFSET_MASK                             0xff000000
596*5113495bSYour Name 
597*5113495bSYour Name 
598*5113495bSYour Name /* Description		AZ_INTEGRITY_DATA_OFFSET
599*5113495bSYour Name 
600*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_11AZ_INTEGRITY_DATA'
601*5113495bSYour Name 			within 'RX_PPDU_END'
602*5113495bSYour Name 
603*5113495bSYour Name 			Set to zero if the TLV is not included
604*5113495bSYour Name 			<legal all>
605*5113495bSYour Name */
606*5113495bSYour Name 
607*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_AZ_INTEGRITY_DATA_OFFSET_OFFSET                  0x0000001c
608*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_AZ_INTEGRITY_DATA_OFFSET_LSB                     0
609*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_AZ_INTEGRITY_DATA_OFFSET_MSB                     7
610*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_AZ_INTEGRITY_DATA_OFFSET_MASK                    0x000000ff
611*5113495bSYour Name 
612*5113495bSYour Name 
613*5113495bSYour Name /* Description		PKT_END_OFFSET
614*5113495bSYour Name 
615*5113495bSYour Name 			Offset in units of 4 bytes of 'PHYRX_PKT_END' within 'RX_PPDU_END'
616*5113495bSYour Name 			Set to zero if the TLV is not included<legal all>
617*5113495bSYour Name */
618*5113495bSYour Name 
619*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_OFFSET_OFFSET                            0x0000001c
620*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_OFFSET_LSB                               8
621*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_OFFSET_MSB                               15
622*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_PKT_END_OFFSET_MASK                              0x0000ff00
623*5113495bSYour Name 
624*5113495bSYour Name 
625*5113495bSYour Name /* Description		ABORT_REQUEST_ACK_OFFSET
626*5113495bSYour Name 
627*5113495bSYour Name 			Offset in units of 4 bytes of either 'PHYRX_ABORT_REQUEST'
628*5113495bSYour Name 			or 'PHYRX_ABORT_ACK' within 'RX_PPDU_END'
629*5113495bSYour Name 
630*5113495bSYour Name 			Set to zero if the TLV is not included
631*5113495bSYour Name 			<legal all>
632*5113495bSYour Name */
633*5113495bSYour Name 
634*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_ABORT_REQUEST_ACK_OFFSET_OFFSET                  0x0000001c
635*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_ABORT_REQUEST_ACK_OFFSET_LSB                     16
636*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_ABORT_REQUEST_ACK_OFFSET_MSB                     23
637*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_ABORT_REQUEST_ACK_OFFSET_MASK                    0x00ff0000
638*5113495bSYour Name 
639*5113495bSYour Name 
640*5113495bSYour Name /* Description		RESERVED_7A
641*5113495bSYour Name 
642*5113495bSYour Name 			Spare space in case the widths of the above offsets grow<legal
643*5113495bSYour Name 			 all>
644*5113495bSYour Name */
645*5113495bSYour Name 
646*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_7A_OFFSET                               0x0000001c
647*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_7A_LSB                                  24
648*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_7A_MSB                                  31
649*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_7A_MASK                                 0xff000000
650*5113495bSYour Name 
651*5113495bSYour Name 
652*5113495bSYour Name /* Description		RESERVED_8A
653*5113495bSYour Name 
654*5113495bSYour Name 			Spare space in case the widths of the above offsets grow
655*5113495bSYour Name 
656*5113495bSYour Name 			<legal all>
657*5113495bSYour Name */
658*5113495bSYour Name 
659*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_8A_OFFSET                               0x00000020
660*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_8A_LSB                                  0
661*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_8A_MSB                                  31
662*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_8A_MASK                                 0xffffffff
663*5113495bSYour Name 
664*5113495bSYour Name 
665*5113495bSYour Name /* Description		RESERVED_9A
666*5113495bSYour Name 
667*5113495bSYour Name 			Spare space in case the widths of the above offsets grow
668*5113495bSYour Name 
669*5113495bSYour Name 			<legal all>
670*5113495bSYour Name */
671*5113495bSYour Name 
672*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_9A_OFFSET                               0x00000024
673*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_9A_LSB                                  0
674*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_9A_MSB                                  31
675*5113495bSYour Name #define RXPCU_PPDU_END_LAYOUT_INFO_RESERVED_9A_MASK                                 0xffffffff
676*5113495bSYour Name 
677*5113495bSYour Name 
678*5113495bSYour Name 
679*5113495bSYour Name #endif   // RXPCU_PPDU_END_LAYOUT_INFO
680