phyrx_pkt_end_info.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. /*
  2. * Copyright (c) 2017 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. #ifndef _PHYRX_PKT_END_INFO_H_
  19. #define _PHYRX_PKT_END_INFO_H_
  20. #if !defined(__ASSEMBLER__)
  21. #endif
  22. #include "rx_location_info.h"
  23. #include "rx_timing_offset_info.h"
  24. #include "receive_rssi_info.h"
  25. // ################ START SUMMARY #################
  26. //
  27. // Dword Fields
  28. // 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[31:6]
  29. // 1 phy_timestamp_1_lower_32[31:0]
  30. // 2 phy_timestamp_1_upper_32[31:0]
  31. // 3 phy_timestamp_2_lower_32[31:0]
  32. // 4 phy_timestamp_2_upper_32[31:0]
  33. // 5-13 struct rx_location_info rx_location_info_details;
  34. // 14 struct rx_timing_offset_info rx_timing_offset_info_details;
  35. // 15-30 struct receive_rssi_info post_rssi_info_details;
  36. // 31 phy_sw_status_31_0[31:0]
  37. // 32 phy_sw_status_63_32[31:0]
  38. //
  39. // ################ END SUMMARY #################
  40. #define NUM_OF_DWORDS_PHYRX_PKT_END_INFO 33
  41. struct phyrx_pkt_end_info {
  42. uint32_t phy_internal_nap : 1, //[0]
  43. location_info_valid : 1, //[1]
  44. timing_info_valid : 1, //[2]
  45. rssi_info_valid : 1, //[3]
  46. rx_frame_correction_needed : 1, //[4]
  47. frameless_frame_received : 1, //[5]
  48. reserved_0a : 26; //[31:6]
  49. uint32_t phy_timestamp_1_lower_32 : 32; //[31:0]
  50. uint32_t phy_timestamp_1_upper_32 : 32; //[31:0]
  51. uint32_t phy_timestamp_2_lower_32 : 32; //[31:0]
  52. uint32_t phy_timestamp_2_upper_32 : 32; //[31:0]
  53. struct rx_location_info rx_location_info_details;
  54. struct rx_timing_offset_info rx_timing_offset_info_details;
  55. struct receive_rssi_info post_rssi_info_details;
  56. uint32_t phy_sw_status_31_0 : 32; //[31:0]
  57. uint32_t phy_sw_status_63_32 : 32; //[31:0]
  58. };
  59. /*
  60. phy_internal_nap
  61. When set, PHY RX entered an internal NAP state, as PHY
  62. determined that this reception was not destined to this
  63. device
  64. location_info_valid
  65. Indicates that the RX_LOCATION_INFO structure later on
  66. in the TLV contains valid info
  67. timing_info_valid
  68. Indicates that the RX_TIMING_OFFSET_INFO structure later
  69. on in the TLV contains valid info
  70. rssi_info_valid
  71. Indicates that the RECEIVE_RSSI_INFO structure later on
  72. in the TLV contains valid info
  73. rx_frame_correction_needed
  74. When clear, no action is needed in the MAC.
  75. When set, the falling edge of the rx_frame happened 4us
  76. too late. MAC will need to compensate for this delay in
  77. order to maintain proper SIFS timing and/or not to get
  78. de-slotted.
  79. PHY uses this for very short 11a frames.
  80. When set, PHY will have passed this TLV to the MAC up to
  81. 8 us into the 'real SIFS' time, and thus within 4us from the
  82. falling edge of the rx_frame.
  83. <legal all>
  84. frameless_frame_received
  85. When set, PHY has received the 'frameless frame' . Can
  86. be used in the 'MU-RTS -CTS exchange where CTS reception can
  87. be problematic.
  88. <legal all>
  89. reserved_0a
  90. <legal 0>
  91. phy_timestamp_1_lower_32
  92. TODO PHY: cleanup descriptionThe PHY timestamp in the
  93. AMPI of the first rising edge of rx_clear_pri after
  94. TX_PHY_DESC. . This field should set to 0 by the PHY and
  95. should be updated by the AMPI before being forwarded to the
  96. rest of the MAC. This field indicates the lower 32 bits of
  97. the timestamp
  98. phy_timestamp_1_upper_32
  99. TODO PHY: cleanup description
  100. The PHY timestamp in the AMPI of the first rising edge
  101. of rx_clear_pri after TX_PHY_DESC. This field should set to
  102. 0 by the PHY and should be updated by the AMPI before being
  103. forwarded to the rest of the MAC. This field indicates the
  104. upper 32 bits of the timestamp
  105. phy_timestamp_2_lower_32
  106. TODO PHY: cleanup description
  107. The PHY timestamp in the AMPI of the rising edge of
  108. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  109. 0 by the PHY and should be updated by the AMPI before being
  110. forwarded to the rest of the MAC. This field indicates the
  111. lower 32 bits of the timestamp
  112. phy_timestamp_2_upper_32
  113. TODO PHY: cleanup description
  114. The PHY timestamp in the AMPI of the rising edge of
  115. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  116. 0 by the PHY and should be updated by the AMPI before being
  117. forwarded to the rest of the MAC. This field indicates the
  118. upper 32 bits of the timestamp
  119. struct rx_location_info rx_location_info_details
  120. Overview of location related info
  121. struct rx_timing_offset_info rx_timing_offset_info_details
  122. Overview of timing offset related info
  123. struct receive_rssi_info post_rssi_info_details
  124. Overview of the post-RSSI values.
  125. phy_sw_status_31_0
  126. Some PHY micro code status that can be put in here.
  127. Details of definition within SW specification
  128. This field can be used for debugging, FW - SW message
  129. exchange, etc.
  130. It could for example be a pointer to a DDR memory
  131. location where PHY FW put some debug info.
  132. <legal all>
  133. phy_sw_status_63_32
  134. Some PHY micro code status that can be put in here.
  135. Details of definition within SW specification
  136. This field can be used for debugging, FW - SW message
  137. exchange, etc.
  138. It could for example be a pointer to a DDR memory
  139. location where PHY FW put some debug info.
  140. <legal all>
  141. */
  142. /* Description PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP
  143. When set, PHY RX entered an internal NAP state, as PHY
  144. determined that this reception was not destined to this
  145. device
  146. */
  147. #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_OFFSET 0x00000000
  148. #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_LSB 0
  149. #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_MASK 0x00000001
  150. /* Description PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID
  151. Indicates that the RX_LOCATION_INFO structure later on
  152. in the TLV contains valid info
  153. */
  154. #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_OFFSET 0x00000000
  155. #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_LSB 1
  156. #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_MASK 0x00000002
  157. /* Description PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID
  158. Indicates that the RX_TIMING_OFFSET_INFO structure later
  159. on in the TLV contains valid info
  160. */
  161. #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_OFFSET 0x00000000
  162. #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_LSB 2
  163. #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_MASK 0x00000004
  164. /* Description PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID
  165. Indicates that the RECEIVE_RSSI_INFO structure later on
  166. in the TLV contains valid info
  167. */
  168. #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_OFFSET 0x00000000
  169. #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_LSB 3
  170. #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_MASK 0x00000008
  171. /* Description PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED
  172. When clear, no action is needed in the MAC.
  173. When set, the falling edge of the rx_frame happened 4us
  174. too late. MAC will need to compensate for this delay in
  175. order to maintain proper SIFS timing and/or not to get
  176. de-slotted.
  177. PHY uses this for very short 11a frames.
  178. When set, PHY will have passed this TLV to the MAC up to
  179. 8 us into the 'real SIFS' time, and thus within 4us from the
  180. falling edge of the rx_frame.
  181. <legal all>
  182. */
  183. #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_OFFSET 0x00000000
  184. #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_LSB 4
  185. #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_MASK 0x00000010
  186. /* Description PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED
  187. When set, PHY has received the 'frameless frame' . Can
  188. be used in the 'MU-RTS -CTS exchange where CTS reception can
  189. be problematic.
  190. <legal all>
  191. */
  192. #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_OFFSET 0x00000000
  193. #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_LSB 5
  194. #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_MASK 0x00000020
  195. /* Description PHYRX_PKT_END_INFO_0_RESERVED_0A
  196. <legal 0>
  197. */
  198. #define PHYRX_PKT_END_INFO_0_RESERVED_0A_OFFSET 0x00000000
  199. #define PHYRX_PKT_END_INFO_0_RESERVED_0A_LSB 6
  200. #define PHYRX_PKT_END_INFO_0_RESERVED_0A_MASK 0xffffffc0
  201. /* Description PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32
  202. TODO PHY: cleanup descriptionThe PHY timestamp in the
  203. AMPI of the first rising edge of rx_clear_pri after
  204. TX_PHY_DESC. . This field should set to 0 by the PHY and
  205. should be updated by the AMPI before being forwarded to the
  206. rest of the MAC. This field indicates the lower 32 bits of
  207. the timestamp
  208. */
  209. #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_OFFSET 0x00000004
  210. #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_LSB 0
  211. #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_MASK 0xffffffff
  212. /* Description PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32
  213. TODO PHY: cleanup description
  214. The PHY timestamp in the AMPI of the first rising edge
  215. of rx_clear_pri after TX_PHY_DESC. This field should set to
  216. 0 by the PHY and should be updated by the AMPI before being
  217. forwarded to the rest of the MAC. This field indicates the
  218. upper 32 bits of the timestamp
  219. */
  220. #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_OFFSET 0x00000008
  221. #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_LSB 0
  222. #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_MASK 0xffffffff
  223. /* Description PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32
  224. TODO PHY: cleanup description
  225. The PHY timestamp in the AMPI of the rising edge of
  226. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  227. 0 by the PHY and should be updated by the AMPI before being
  228. forwarded to the rest of the MAC. This field indicates the
  229. lower 32 bits of the timestamp
  230. */
  231. #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_OFFSET 0x0000000c
  232. #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_LSB 0
  233. #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_MASK 0xffffffff
  234. /* Description PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32
  235. TODO PHY: cleanup description
  236. The PHY timestamp in the AMPI of the rising edge of
  237. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  238. 0 by the PHY and should be updated by the AMPI before being
  239. forwarded to the rest of the MAC. This field indicates the
  240. upper 32 bits of the timestamp
  241. */
  242. #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_OFFSET 0x00000010
  243. #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_LSB 0
  244. #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_MASK 0xffffffff
  245. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000014
  246. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  247. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  248. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000018
  249. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  250. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  251. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x0000001c
  252. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  253. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  254. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000020
  255. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  256. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  257. #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000024
  258. #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  259. #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  260. #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000028
  261. #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  262. #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  263. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x0000002c
  264. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  265. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  266. #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000030
  267. #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  268. #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  269. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_OFFSET 0x00000034
  270. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_LSB 0
  271. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_RX_LOCATION_INFO_DETAILS_MASK 0xffffffff
  272. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_RX_TIMING_OFFSET_INFO_DETAILS_OFFSET 0x00000038
  273. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_RX_TIMING_OFFSET_INFO_DETAILS_LSB 0
  274. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_RX_TIMING_OFFSET_INFO_DETAILS_MASK 0xffffffff
  275. #define PHYRX_PKT_END_INFO_15_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000003c
  276. #define PHYRX_PKT_END_INFO_15_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  277. #define PHYRX_PKT_END_INFO_15_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  278. #define PHYRX_PKT_END_INFO_16_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000040
  279. #define PHYRX_PKT_END_INFO_16_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  280. #define PHYRX_PKT_END_INFO_16_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  281. #define PHYRX_PKT_END_INFO_17_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000044
  282. #define PHYRX_PKT_END_INFO_17_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  283. #define PHYRX_PKT_END_INFO_17_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  284. #define PHYRX_PKT_END_INFO_18_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000048
  285. #define PHYRX_PKT_END_INFO_18_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  286. #define PHYRX_PKT_END_INFO_18_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  287. #define PHYRX_PKT_END_INFO_19_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000004c
  288. #define PHYRX_PKT_END_INFO_19_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  289. #define PHYRX_PKT_END_INFO_19_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  290. #define PHYRX_PKT_END_INFO_20_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000050
  291. #define PHYRX_PKT_END_INFO_20_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  292. #define PHYRX_PKT_END_INFO_20_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  293. #define PHYRX_PKT_END_INFO_21_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000054
  294. #define PHYRX_PKT_END_INFO_21_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  295. #define PHYRX_PKT_END_INFO_21_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  296. #define PHYRX_PKT_END_INFO_22_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000058
  297. #define PHYRX_PKT_END_INFO_22_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  298. #define PHYRX_PKT_END_INFO_22_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  299. #define PHYRX_PKT_END_INFO_23_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000005c
  300. #define PHYRX_PKT_END_INFO_23_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  301. #define PHYRX_PKT_END_INFO_23_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  302. #define PHYRX_PKT_END_INFO_24_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000060
  303. #define PHYRX_PKT_END_INFO_24_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  304. #define PHYRX_PKT_END_INFO_24_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  305. #define PHYRX_PKT_END_INFO_25_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000064
  306. #define PHYRX_PKT_END_INFO_25_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  307. #define PHYRX_PKT_END_INFO_25_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  308. #define PHYRX_PKT_END_INFO_26_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000068
  309. #define PHYRX_PKT_END_INFO_26_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  310. #define PHYRX_PKT_END_INFO_26_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  311. #define PHYRX_PKT_END_INFO_27_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x0000006c
  312. #define PHYRX_PKT_END_INFO_27_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  313. #define PHYRX_PKT_END_INFO_27_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  314. #define PHYRX_PKT_END_INFO_28_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000070
  315. #define PHYRX_PKT_END_INFO_28_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  316. #define PHYRX_PKT_END_INFO_28_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  317. #define PHYRX_PKT_END_INFO_29_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000074
  318. #define PHYRX_PKT_END_INFO_29_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  319. #define PHYRX_PKT_END_INFO_29_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  320. #define PHYRX_PKT_END_INFO_30_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_OFFSET 0x00000078
  321. #define PHYRX_PKT_END_INFO_30_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_LSB 0
  322. #define PHYRX_PKT_END_INFO_30_RECEIVE_RSSI_INFO_POST_RSSI_INFO_DETAILS_MASK 0xffffffff
  323. /* Description PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0
  324. Some PHY micro code status that can be put in here.
  325. Details of definition within SW specification
  326. This field can be used for debugging, FW - SW message
  327. exchange, etc.
  328. It could for example be a pointer to a DDR memory
  329. location where PHY FW put some debug info.
  330. <legal all>
  331. */
  332. #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_OFFSET 0x0000007c
  333. #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_LSB 0
  334. #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_MASK 0xffffffff
  335. /* Description PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32
  336. Some PHY micro code status that can be put in here.
  337. Details of definition within SW specification
  338. This field can be used for debugging, FW - SW message
  339. exchange, etc.
  340. It could for example be a pointer to a DDR memory
  341. location where PHY FW put some debug info.
  342. <legal all>
  343. */
  344. #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_OFFSET 0x00000080
  345. #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_LSB 0
  346. #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_MASK 0xffffffff
  347. #endif // _PHYRX_PKT_END_INFO_H_