xref: /wlan-driver/fw-api/hw/qca6390/v1/phyrx_pkt_end_info.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2018 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _PHYRX_PKT_END_INFO_H_
20 #define _PHYRX_PKT_END_INFO_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 #include "rx_location_info.h"
25 #include "rx_timing_offset_info.h"
26 #include "receive_rssi_info.h"
27 
28 // ################ START SUMMARY #################
29 //
30 //	Dword	Fields
31 //	0	phy_internal_nap[0], location_info_valid[1], timing_info_valid[2], rssi_info_valid[3], rx_frame_correction_needed[4], frameless_frame_received[5], reserved_0a[11:6], dl_ofdma_info_valid[12], dl_ofdma_ru_start_index[19:13], dl_ofdma_ru_width[26:20], reserved_0b[31:27]
32 //	1	phy_timestamp_1_lower_32[31:0]
33 //	2	phy_timestamp_1_upper_32[31:0]
34 //	3	phy_timestamp_2_lower_32[31:0]
35 //	4	phy_timestamp_2_upper_32[31:0]
36 //	5-13	struct rx_location_info rx_location_info_details;
37 //	14	struct rx_timing_offset_info rx_timing_offset_info_details;
38 //	15-30	struct receive_rssi_info post_rssi_info_details;
39 //	31	phy_sw_status_31_0[31:0]
40 //	32	phy_sw_status_63_32[31:0]
41 //
42 // ################ END SUMMARY #################
43 
44 #define NUM_OF_DWORDS_PHYRX_PKT_END_INFO 33
45 
46 struct phyrx_pkt_end_info {
47              uint32_t phy_internal_nap                :  1, //[0]
48                       location_info_valid             :  1, //[1]
49                       timing_info_valid               :  1, //[2]
50                       rssi_info_valid                 :  1, //[3]
51                       rx_frame_correction_needed      :  1, //[4]
52                       frameless_frame_received        :  1, //[5]
53                       reserved_0a                     :  6, //[11:6]
54                       dl_ofdma_info_valid             :  1, //[12]
55                       dl_ofdma_ru_start_index         :  7, //[19:13]
56                       dl_ofdma_ru_width               :  7, //[26:20]
57                       reserved_0b                     :  5; //[31:27]
58              uint32_t phy_timestamp_1_lower_32        : 32; //[31:0]
59              uint32_t phy_timestamp_1_upper_32        : 32; //[31:0]
60              uint32_t phy_timestamp_2_lower_32        : 32; //[31:0]
61              uint32_t phy_timestamp_2_upper_32        : 32; //[31:0]
62     struct            rx_location_info                       rx_location_info_details;
63     struct            rx_timing_offset_info                       rx_timing_offset_info_details;
64     struct            receive_rssi_info                       post_rssi_info_details;
65              uint32_t phy_sw_status_31_0              : 32; //[31:0]
66              uint32_t phy_sw_status_63_32             : 32; //[31:0]
67 };
68 
69 /*
70 
71 phy_internal_nap
72 
73 			When set, PHY RX entered an internal NAP state, as PHY
74 			determined that this reception was not destined to this
75 			device
76 
77 location_info_valid
78 
79 			Indicates that the RX_LOCATION_INFO structure later on
80 			in the TLV contains valid info
81 
82 timing_info_valid
83 
84 			Indicates that the RX_TIMING_OFFSET_INFO structure later
85 			on in the TLV contains valid info
86 
87 rssi_info_valid
88 
89 			Indicates that the RECEIVE_RSSI_INFO structure later on
90 			in the TLV contains valid info
91 
92 rx_frame_correction_needed
93 
94 			When clear, no action is needed in the MAC.
95 
96 
97 
98 			When set, the falling edge of the rx_frame happened 4us
99 			too late. MAC will need to compensate for this delay in
100 			order to maintain proper SIFS timing and/or not to get
101 			de-slotted.
102 
103 
104 
105 			PHY uses this for very short 11a frames.
106 
107 
108 
109 			When set, PHY will have passed this TLV to the MAC up to
110 			8 us into the 'real SIFS' time, and thus within 4us from the
111 			falling edge of the rx_frame.
112 
113 
114 
115 			<legal all>
116 
117 frameless_frame_received
118 
119 			When set, PHY has received the 'frameless frame' . Can
120 			be used in the 'MU-RTS -CTS exchange where CTS reception can
121 			be problematic.
122 
123 			<legal all>
124 
125 reserved_0a
126 
127 			<legal 0>
128 
129 dl_ofdma_info_valid
130 
131 			When set, the following DL_ofdma_... fields are valid.
132 
133 			It provides the MAC insight into which RU was allocated
134 			to this device.
135 
136 			<legal all>
137 
138 dl_ofdma_ru_start_index
139 
140 			RU index number to which User is assigned
141 
142 			RU numbering is over the entire BW, starting from 0
143 
144 			<legal 0-73>
145 
146 dl_ofdma_ru_width
147 
148 			The size of the RU for this user.
149 
150 			In units of 1 (26 tone) RU
151 
152 			<legal 1-74>
153 
154 reserved_0b
155 
156 			<legal 0>
157 
158 phy_timestamp_1_lower_32
159 
160 			TODO PHY: cleanup descriptionThe PHY timestamp in the
161 			AMPI of the first rising edge of rx_clear_pri after
162 			TX_PHY_DESC. .  This field should set to 0 by the PHY and
163 			should be updated by the AMPI before being forwarded to the
164 			rest of the MAC. This field indicates the lower 32 bits of
165 			the timestamp
166 
167 phy_timestamp_1_upper_32
168 
169 			TODO PHY: cleanup description
170 
171 			The PHY timestamp in the AMPI of the first rising edge
172 			of rx_clear_pri after TX_PHY_DESC.  This field should set to
173 			0 by the PHY and should be updated by the AMPI before being
174 			forwarded to the rest of the MAC. This field indicates the
175 			upper 32 bits of the timestamp
176 
177 phy_timestamp_2_lower_32
178 
179 			TODO PHY: cleanup description
180 
181 			The PHY timestamp in the AMPI of the rising edge of
182 			rx_clear_pri after RX_RSSI_LEGACY.  This field should set to
183 			0 by the PHY and should be updated by the AMPI before being
184 			forwarded to the rest of the MAC. This field indicates the
185 			lower 32 bits of the timestamp
186 
187 phy_timestamp_2_upper_32
188 
189 			TODO PHY: cleanup description
190 
191 			The PHY timestamp in the AMPI of the rising edge of
192 			rx_clear_pri after RX_RSSI_LEGACY.  This field should set to
193 			0 by the PHY and should be updated by the AMPI before being
194 			forwarded to the rest of the MAC. This field indicates the
195 			upper 32 bits of the timestamp
196 
197 struct rx_location_info rx_location_info_details
198 
199 			Overview of location related info
200 
201 struct rx_timing_offset_info rx_timing_offset_info_details
202 
203 			Overview of timing offset related info
204 
205 struct receive_rssi_info post_rssi_info_details
206 
207 			Overview of the post-RSSI values.
208 
209 phy_sw_status_31_0
210 
211 			Some PHY micro code status that can be put in here.
212 			Details of definition within SW specification
213 
214 			This field can be used for debugging, FW - SW message
215 			exchange, etc.
216 
217 			It could for example be a pointer to a DDR memory
218 			location where PHY FW put some debug info.
219 
220 			<legal all>
221 
222 phy_sw_status_63_32
223 
224 			Some PHY micro code status that can be put in here.
225 			Details of definition within SW specification
226 
227 			This field can be used for debugging, FW - SW message
228 			exchange, etc.
229 
230 			It could for example be a pointer to a DDR memory
231 			location where PHY FW put some debug info.
232 
233 			<legal all>
234 */
235 
236 
237 /* Description		PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP
238 
239 			When set, PHY RX entered an internal NAP state, as PHY
240 			determined that this reception was not destined to this
241 			device
242 */
243 #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_OFFSET                 0x00000000
244 #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_LSB                    0
245 #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_MASK                   0x00000001
246 
247 /* Description		PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID
248 
249 			Indicates that the RX_LOCATION_INFO structure later on
250 			in the TLV contains valid info
251 */
252 #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_OFFSET              0x00000000
253 #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_LSB                 1
254 #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_MASK                0x00000002
255 
256 /* Description		PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID
257 
258 			Indicates that the RX_TIMING_OFFSET_INFO structure later
259 			on in the TLV contains valid info
260 */
261 #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_OFFSET                0x00000000
262 #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_LSB                   2
263 #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_MASK                  0x00000004
264 
265 /* Description		PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID
266 
267 			Indicates that the RECEIVE_RSSI_INFO structure later on
268 			in the TLV contains valid info
269 */
270 #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_OFFSET                  0x00000000
271 #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_LSB                     3
272 #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_MASK                    0x00000008
273 
274 /* Description		PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED
275 
276 			When clear, no action is needed in the MAC.
277 
278 
279 
280 			When set, the falling edge of the rx_frame happened 4us
281 			too late. MAC will need to compensate for this delay in
282 			order to maintain proper SIFS timing and/or not to get
283 			de-slotted.
284 
285 
286 
287 			PHY uses this for very short 11a frames.
288 
289 
290 
291 			When set, PHY will have passed this TLV to the MAC up to
292 			8 us into the 'real SIFS' time, and thus within 4us from the
293 			falling edge of the rx_frame.
294 
295 
296 
297 			<legal all>
298 */
299 #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_OFFSET       0x00000000
300 #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_LSB          4
301 #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_MASK         0x00000010
302 
303 /* Description		PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED
304 
305 			When set, PHY has received the 'frameless frame' . Can
306 			be used in the 'MU-RTS -CTS exchange where CTS reception can
307 			be problematic.
308 
309 			<legal all>
310 */
311 #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_OFFSET         0x00000000
312 #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_LSB            5
313 #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_MASK           0x00000020
314 
315 /* Description		PHYRX_PKT_END_INFO_0_RESERVED_0A
316 
317 			<legal 0>
318 */
319 #define PHYRX_PKT_END_INFO_0_RESERVED_0A_OFFSET                      0x00000000
320 #define PHYRX_PKT_END_INFO_0_RESERVED_0A_LSB                         6
321 #define PHYRX_PKT_END_INFO_0_RESERVED_0A_MASK                        0x00000fc0
322 
323 /* Description		PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID
324 
325 			When set, the following DL_ofdma_... fields are valid.
326 
327 			It provides the MAC insight into which RU was allocated
328 			to this device.
329 
330 			<legal all>
331 */
332 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID_OFFSET              0x00000000
333 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID_LSB                 12
334 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID_MASK                0x00001000
335 
336 /* Description		PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX
337 
338 			RU index number to which User is assigned
339 
340 			RU numbering is over the entire BW, starting from 0
341 
342 			<legal 0-73>
343 */
344 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX_OFFSET          0x00000000
345 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX_LSB             13
346 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX_MASK            0x000fe000
347 
348 /* Description		PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH
349 
350 			The size of the RU for this user.
351 
352 			In units of 1 (26 tone) RU
353 
354 			<legal 1-74>
355 */
356 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH_OFFSET                0x00000000
357 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH_LSB                   20
358 #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH_MASK                  0x07f00000
359 
360 /* Description		PHYRX_PKT_END_INFO_0_RESERVED_0B
361 
362 			<legal 0>
363 */
364 #define PHYRX_PKT_END_INFO_0_RESERVED_0B_OFFSET                      0x00000000
365 #define PHYRX_PKT_END_INFO_0_RESERVED_0B_LSB                         27
366 #define PHYRX_PKT_END_INFO_0_RESERVED_0B_MASK                        0xf8000000
367 
368 /* Description		PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32
369 
370 			TODO PHY: cleanup descriptionThe PHY timestamp in the
371 			AMPI of the first rising edge of rx_clear_pri after
372 			TX_PHY_DESC. .  This field should set to 0 by the PHY and
373 			should be updated by the AMPI before being forwarded to the
374 			rest of the MAC. This field indicates the lower 32 bits of
375 			the timestamp
376 */
377 #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_OFFSET         0x00000004
378 #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_LSB            0
379 #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_MASK           0xffffffff
380 
381 /* Description		PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32
382 
383 			TODO PHY: cleanup description
384 
385 			The PHY timestamp in the AMPI of the first rising edge
386 			of rx_clear_pri after TX_PHY_DESC.  This field should set to
387 			0 by the PHY and should be updated by the AMPI before being
388 			forwarded to the rest of the MAC. This field indicates the
389 			upper 32 bits of the timestamp
390 */
391 #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_OFFSET         0x00000008
392 #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_LSB            0
393 #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_MASK           0xffffffff
394 
395 /* Description		PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32
396 
397 			TODO PHY: cleanup description
398 
399 			The PHY timestamp in the AMPI of the rising edge of
400 			rx_clear_pri after RX_RSSI_LEGACY.  This field should set to
401 			0 by the PHY and should be updated by the AMPI before being
402 			forwarded to the rest of the MAC. This field indicates the
403 			lower 32 bits of the timestamp
404 */
405 #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_OFFSET         0x0000000c
406 #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_LSB            0
407 #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_MASK           0xffffffff
408 
409 /* Description		PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32
410 
411 			TODO PHY: cleanup description
412 
413 			The PHY timestamp in the AMPI of the rising edge of
414 			rx_clear_pri after RX_RSSI_LEGACY.  This field should set to
415 			0 by the PHY and should be updated by the AMPI before being
416 			forwarded to the rest of the MAC. This field indicates the
417 			upper 32 bits of the timestamp
418 */
419 #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_OFFSET         0x00000010
420 #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_LSB            0
421 #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_MASK           0xffffffff
422 #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000014
423 #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
424 #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
425 #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000018
426 #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
427 #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
428 #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x0000001c
429 #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
430 #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
431 #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000020
432 #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
433 #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
434 #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000024
435 #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
436 #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
437 #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000028
438 #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
439 #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
440 #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x0000002c
441 #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
442 #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
443 #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000030
444 #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
445 #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
446 #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000034
447 #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
448 #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
449 #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_RX_TIMING_OFFSET_INFO_DETAILS_OFFSET 0x00000038
450 #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_RX_TIMING_OFFSET_INFO_DETAILS_LSB 0
451 #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_RX_TIMING_OFFSET_INFO_DETAILS_MASK 0xffffffff
452 #define PHYRX_PKT_END_INFO_15_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000003c
453 #define PHYRX_PKT_END_INFO_15_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
454 #define PHYRX_PKT_END_INFO_15_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
455 #define PHYRX_PKT_END_INFO_16_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000040
456 #define PHYRX_PKT_END_INFO_16_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
457 #define PHYRX_PKT_END_INFO_16_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
458 #define PHYRX_PKT_END_INFO_17_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000044
459 #define PHYRX_PKT_END_INFO_17_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
460 #define PHYRX_PKT_END_INFO_17_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
461 #define PHYRX_PKT_END_INFO_18_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000048
462 #define PHYRX_PKT_END_INFO_18_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
463 #define PHYRX_PKT_END_INFO_18_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
464 #define PHYRX_PKT_END_INFO_19_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000004c
465 #define PHYRX_PKT_END_INFO_19_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
466 #define PHYRX_PKT_END_INFO_19_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
467 #define PHYRX_PKT_END_INFO_20_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000050
468 #define PHYRX_PKT_END_INFO_20_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
469 #define PHYRX_PKT_END_INFO_20_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
470 #define PHYRX_PKT_END_INFO_21_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000054
471 #define PHYRX_PKT_END_INFO_21_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
472 #define PHYRX_PKT_END_INFO_21_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
473 #define PHYRX_PKT_END_INFO_22_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000058
474 #define PHYRX_PKT_END_INFO_22_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
475 #define PHYRX_PKT_END_INFO_22_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
476 #define PHYRX_PKT_END_INFO_23_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000005c
477 #define PHYRX_PKT_END_INFO_23_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
478 #define PHYRX_PKT_END_INFO_23_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
479 #define PHYRX_PKT_END_INFO_24_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000060
480 #define PHYRX_PKT_END_INFO_24_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
481 #define PHYRX_PKT_END_INFO_24_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
482 #define PHYRX_PKT_END_INFO_25_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000064
483 #define PHYRX_PKT_END_INFO_25_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
484 #define PHYRX_PKT_END_INFO_25_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
485 #define PHYRX_PKT_END_INFO_26_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000068
486 #define PHYRX_PKT_END_INFO_26_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
487 #define PHYRX_PKT_END_INFO_26_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
488 #define PHYRX_PKT_END_INFO_27_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000006c
489 #define PHYRX_PKT_END_INFO_27_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
490 #define PHYRX_PKT_END_INFO_27_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
491 #define PHYRX_PKT_END_INFO_28_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000070
492 #define PHYRX_PKT_END_INFO_28_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
493 #define PHYRX_PKT_END_INFO_28_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
494 #define PHYRX_PKT_END_INFO_29_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000074
495 #define PHYRX_PKT_END_INFO_29_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
496 #define PHYRX_PKT_END_INFO_29_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
497 #define PHYRX_PKT_END_INFO_30_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000078
498 #define PHYRX_PKT_END_INFO_30_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
499 #define PHYRX_PKT_END_INFO_30_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
500 
501 /* Description		PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0
502 
503 			Some PHY micro code status that can be put in here.
504 			Details of definition within SW specification
505 
506 			This field can be used for debugging, FW - SW message
507 			exchange, etc.
508 
509 			It could for example be a pointer to a DDR memory
510 			location where PHY FW put some debug info.
511 
512 			<legal all>
513 */
514 #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_OFFSET              0x0000007c
515 #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_LSB                 0
516 #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_MASK                0xffffffff
517 
518 /* Description		PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32
519 
520 			Some PHY micro code status that can be put in here.
521 			Details of definition within SW specification
522 
523 			This field can be used for debugging, FW - SW message
524 			exchange, etc.
525 
526 			It could for example be a pointer to a DDR memory
527 			location where PHY FW put some debug info.
528 
529 			<legal all>
530 */
531 #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_OFFSET             0x00000080
532 #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_LSB                0
533 #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_MASK               0xffffffff
534 
535 
536 #endif // _PHYRX_PKT_END_INFO_H_
537