phyrx_pkt_end_info.h 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896
  1. /*
  2. * Copyright (c) 2019, The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. #ifndef _PHYRX_PKT_END_INFO_H_
  17. #define _PHYRX_PKT_END_INFO_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #include "rx_location_info.h"
  21. #include "rx_timing_offset_info.h"
  22. #include "receive_rssi_info.h"
  23. // ################ START SUMMARY #################
  24. //
  25. // Dword Fields
  26. // 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]
  27. // 1 phy_timestamp_1_lower_32[31:0]
  28. // 2 phy_timestamp_1_upper_32[31:0]
  29. // 3 phy_timestamp_2_lower_32[31:0]
  30. // 4 phy_timestamp_2_upper_32[31:0]
  31. // 5-13 struct rx_location_info rx_location_info_details;
  32. // 14 struct rx_timing_offset_info rx_timing_offset_info_details;
  33. // 15-30 struct receive_rssi_info post_rssi_info_details;
  34. // 31 phy_sw_status_31_0[31:0]
  35. // 32 phy_sw_status_63_32[31:0]
  36. //
  37. // ################ END SUMMARY #################
  38. #define NUM_OF_DWORDS_PHYRX_PKT_END_INFO 33
  39. struct phyrx_pkt_end_info {
  40. uint32_t phy_internal_nap : 1, //[0]
  41. location_info_valid : 1, //[1]
  42. timing_info_valid : 1, //[2]
  43. rssi_info_valid : 1, //[3]
  44. rx_frame_correction_needed : 1, //[4]
  45. frameless_frame_received : 1, //[5]
  46. reserved_0a : 6, //[11:6]
  47. dl_ofdma_info_valid : 1, //[12]
  48. dl_ofdma_ru_start_index : 7, //[19:13]
  49. dl_ofdma_ru_width : 7, //[26:20]
  50. reserved_0b : 5; //[31:27]
  51. uint32_t phy_timestamp_1_lower_32 : 32; //[31:0]
  52. uint32_t phy_timestamp_1_upper_32 : 32; //[31:0]
  53. uint32_t phy_timestamp_2_lower_32 : 32; //[31:0]
  54. uint32_t phy_timestamp_2_upper_32 : 32; //[31:0]
  55. struct rx_location_info rx_location_info_details;
  56. struct rx_timing_offset_info rx_timing_offset_info_details;
  57. struct receive_rssi_info post_rssi_info_details;
  58. uint32_t phy_sw_status_31_0 : 32; //[31:0]
  59. uint32_t phy_sw_status_63_32 : 32; //[31:0]
  60. };
  61. /*
  62. phy_internal_nap
  63. When set, PHY RX entered an internal NAP state, as PHY
  64. determined that this reception was not destined to this
  65. device
  66. location_info_valid
  67. Indicates that the RX_LOCATION_INFO structure later on
  68. in the TLV contains valid info
  69. timing_info_valid
  70. Indicates that the RX_TIMING_OFFSET_INFO structure later
  71. on in the TLV contains valid info
  72. rssi_info_valid
  73. Indicates that the RECEIVE_RSSI_INFO structure later on
  74. in the TLV contains valid info
  75. rx_frame_correction_needed
  76. When clear, no action is needed in the MAC.
  77. When set, the falling edge of the rx_frame happened 4us
  78. too late. MAC will need to compensate for this delay in
  79. order to maintain proper SIFS timing and/or not to get
  80. de-slotted.
  81. PHY uses this for very short 11a frames.
  82. When set, PHY will have passed this TLV to the MAC up to
  83. 8 us into the 'real SIFS' time, and thus within 4us from the
  84. falling edge of the rx_frame.
  85. <legal all>
  86. frameless_frame_received
  87. When set, PHY has received the 'frameless frame' . Can
  88. be used in the 'MU-RTS -CTS exchange where CTS reception can
  89. be problematic.
  90. <legal all>
  91. reserved_0a
  92. <legal 0>
  93. dl_ofdma_info_valid
  94. When set, the following DL_ofdma_... fields are valid.
  95. It provides the MAC insight into which RU was allocated
  96. to this device.
  97. <legal all>
  98. dl_ofdma_ru_start_index
  99. RU index number to which User is assigned
  100. RU numbering is over the entire BW, starting from 0 and
  101. in increasing frequency order and not primary-secondary
  102. order
  103. <legal 0-73>
  104. dl_ofdma_ru_width
  105. The size of the RU for this user.
  106. In units of 1 (26 tone) RU
  107. <legal 1-74>
  108. reserved_0b
  109. <legal 0>
  110. phy_timestamp_1_lower_32
  111. TODO PHY: cleanup descriptionThe PHY timestamp in the
  112. AMPI of the first rising edge of rx_clear_pri after
  113. TX_PHY_DESC. . This field should set to 0 by the PHY and
  114. should be updated by the AMPI before being forwarded to the
  115. rest of the MAC. This field indicates the lower 32 bits of
  116. the timestamp
  117. phy_timestamp_1_upper_32
  118. TODO PHY: cleanup description
  119. The PHY timestamp in the AMPI of the first rising edge
  120. of rx_clear_pri after TX_PHY_DESC. This field should set to
  121. 0 by the PHY and should be updated by the AMPI before being
  122. forwarded to the rest of the MAC. This field indicates the
  123. upper 32 bits of the timestamp
  124. phy_timestamp_2_lower_32
  125. TODO PHY: cleanup description
  126. The PHY timestamp in the AMPI of the rising edge of
  127. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  128. 0 by the PHY and should be updated by the AMPI before being
  129. forwarded to the rest of the MAC. This field indicates the
  130. lower 32 bits of the timestamp
  131. phy_timestamp_2_upper_32
  132. TODO PHY: cleanup description
  133. The PHY timestamp in the AMPI of the rising edge of
  134. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  135. 0 by the PHY and should be updated by the AMPI before being
  136. forwarded to the rest of the MAC. This field indicates the
  137. upper 32 bits of the timestamp
  138. struct rx_location_info rx_location_info_details
  139. Overview of location related info
  140. struct rx_timing_offset_info rx_timing_offset_info_details
  141. Overview of timing offset related info
  142. struct receive_rssi_info post_rssi_info_details
  143. Overview of the post-RSSI values.
  144. phy_sw_status_31_0
  145. Some PHY micro code status that can be put in here.
  146. Details of definition within SW specification
  147. This field can be used for debugging, FW - SW message
  148. exchange, etc.
  149. It could for example be a pointer to a DDR memory
  150. location where PHY FW put some debug info.
  151. <legal all>
  152. phy_sw_status_63_32
  153. Some PHY micro code status that can be put in here.
  154. Details of definition within SW specification
  155. This field can be used for debugging, FW - SW message
  156. exchange, etc.
  157. It could for example be a pointer to a DDR memory
  158. location where PHY FW put some debug info.
  159. <legal all>
  160. */
  161. /* Description PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP
  162. When set, PHY RX entered an internal NAP state, as PHY
  163. determined that this reception was not destined to this
  164. device
  165. */
  166. #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_OFFSET 0x00000000
  167. #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_LSB 0
  168. #define PHYRX_PKT_END_INFO_0_PHY_INTERNAL_NAP_MASK 0x00000001
  169. /* Description PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID
  170. Indicates that the RX_LOCATION_INFO structure later on
  171. in the TLV contains valid info
  172. */
  173. #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_OFFSET 0x00000000
  174. #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_LSB 1
  175. #define PHYRX_PKT_END_INFO_0_LOCATION_INFO_VALID_MASK 0x00000002
  176. /* Description PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID
  177. Indicates that the RX_TIMING_OFFSET_INFO structure later
  178. on in the TLV contains valid info
  179. */
  180. #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_OFFSET 0x00000000
  181. #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_LSB 2
  182. #define PHYRX_PKT_END_INFO_0_TIMING_INFO_VALID_MASK 0x00000004
  183. /* Description PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID
  184. Indicates that the RECEIVE_RSSI_INFO structure later on
  185. in the TLV contains valid info
  186. */
  187. #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_OFFSET 0x00000000
  188. #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_LSB 3
  189. #define PHYRX_PKT_END_INFO_0_RSSI_INFO_VALID_MASK 0x00000008
  190. /* Description PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED
  191. When clear, no action is needed in the MAC.
  192. When set, the falling edge of the rx_frame happened 4us
  193. too late. MAC will need to compensate for this delay in
  194. order to maintain proper SIFS timing and/or not to get
  195. de-slotted.
  196. PHY uses this for very short 11a frames.
  197. When set, PHY will have passed this TLV to the MAC up to
  198. 8 us into the 'real SIFS' time, and thus within 4us from the
  199. falling edge of the rx_frame.
  200. <legal all>
  201. */
  202. #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_OFFSET 0x00000000
  203. #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_LSB 4
  204. #define PHYRX_PKT_END_INFO_0_RX_FRAME_CORRECTION_NEEDED_MASK 0x00000010
  205. /* Description PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED
  206. When set, PHY has received the 'frameless frame' . Can
  207. be used in the 'MU-RTS -CTS exchange where CTS reception can
  208. be problematic.
  209. <legal all>
  210. */
  211. #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_OFFSET 0x00000000
  212. #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_LSB 5
  213. #define PHYRX_PKT_END_INFO_0_FRAMELESS_FRAME_RECEIVED_MASK 0x00000020
  214. /* Description PHYRX_PKT_END_INFO_0_RESERVED_0A
  215. <legal 0>
  216. */
  217. #define PHYRX_PKT_END_INFO_0_RESERVED_0A_OFFSET 0x00000000
  218. #define PHYRX_PKT_END_INFO_0_RESERVED_0A_LSB 6
  219. #define PHYRX_PKT_END_INFO_0_RESERVED_0A_MASK 0x00000fc0
  220. /* Description PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID
  221. When set, the following DL_ofdma_... fields are valid.
  222. It provides the MAC insight into which RU was allocated
  223. to this device.
  224. <legal all>
  225. */
  226. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID_OFFSET 0x00000000
  227. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID_LSB 12
  228. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_INFO_VALID_MASK 0x00001000
  229. /* Description PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX
  230. RU index number to which User is assigned
  231. RU numbering is over the entire BW, starting from 0 and
  232. in increasing frequency order and not primary-secondary
  233. order
  234. <legal 0-73>
  235. */
  236. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX_OFFSET 0x00000000
  237. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX_LSB 13
  238. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_START_INDEX_MASK 0x000fe000
  239. /* Description PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH
  240. The size of the RU for this user.
  241. In units of 1 (26 tone) RU
  242. <legal 1-74>
  243. */
  244. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH_OFFSET 0x00000000
  245. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH_LSB 20
  246. #define PHYRX_PKT_END_INFO_0_DL_OFDMA_RU_WIDTH_MASK 0x07f00000
  247. /* Description PHYRX_PKT_END_INFO_0_RESERVED_0B
  248. <legal 0>
  249. */
  250. #define PHYRX_PKT_END_INFO_0_RESERVED_0B_OFFSET 0x00000000
  251. #define PHYRX_PKT_END_INFO_0_RESERVED_0B_LSB 27
  252. #define PHYRX_PKT_END_INFO_0_RESERVED_0B_MASK 0xf8000000
  253. /* Description PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32
  254. TODO PHY: cleanup descriptionThe PHY timestamp in the
  255. AMPI of the first rising edge of rx_clear_pri after
  256. TX_PHY_DESC. . This field should set to 0 by the PHY and
  257. should be updated by the AMPI before being forwarded to the
  258. rest of the MAC. This field indicates the lower 32 bits of
  259. the timestamp
  260. */
  261. #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_OFFSET 0x00000004
  262. #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_LSB 0
  263. #define PHYRX_PKT_END_INFO_1_PHY_TIMESTAMP_1_LOWER_32_MASK 0xffffffff
  264. /* Description PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32
  265. TODO PHY: cleanup description
  266. The PHY timestamp in the AMPI of the first rising edge
  267. of rx_clear_pri after TX_PHY_DESC. This field should set to
  268. 0 by the PHY and should be updated by the AMPI before being
  269. forwarded to the rest of the MAC. This field indicates the
  270. upper 32 bits of the timestamp
  271. */
  272. #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_OFFSET 0x00000008
  273. #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_LSB 0
  274. #define PHYRX_PKT_END_INFO_2_PHY_TIMESTAMP_1_UPPER_32_MASK 0xffffffff
  275. /* Description PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32
  276. TODO PHY: cleanup description
  277. The PHY timestamp in the AMPI of the rising edge of
  278. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  279. 0 by the PHY and should be updated by the AMPI before being
  280. forwarded to the rest of the MAC. This field indicates the
  281. lower 32 bits of the timestamp
  282. */
  283. #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_OFFSET 0x0000000c
  284. #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_LSB 0
  285. #define PHYRX_PKT_END_INFO_3_PHY_TIMESTAMP_2_LOWER_32_MASK 0xffffffff
  286. /* Description PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32
  287. TODO PHY: cleanup description
  288. The PHY timestamp in the AMPI of the rising edge of
  289. rx_clear_pri after RX_RSSI_LEGACY. This field should set to
  290. 0 by the PHY and should be updated by the AMPI before being
  291. forwarded to the rest of the MAC. This field indicates the
  292. upper 32 bits of the timestamp
  293. */
  294. #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_OFFSET 0x00000010
  295. #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_LSB 0
  296. #define PHYRX_PKT_END_INFO_4_PHY_TIMESTAMP_2_UPPER_32_MASK 0xffffffff
  297. /* EXTERNAL REFERENCE : struct rx_location_info rx_location_info_details */
  298. /* Description PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY
  299. For 20/40/80, this field shows the RTT first arrival
  300. correction value computed from L-LTF on the first selected
  301. Rx chain
  302. For 80+80, this field shows the RTT first arrival
  303. correction value computed from L-LTF on pri80 on the
  304. selected pri80 Rx chain
  305. 16 bits, signed 12.4. 12 bits integer to cover -6.4us to
  306. 6.4us, and 4 bits fraction to cover pri80 and 32x FAC
  307. interpolation
  308. clock unit is 320MHz
  309. <legal all>
  310. */
  311. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_OFFSET 0x00000014
  312. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_LSB 0
  313. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_MASK 0x0000ffff
  314. /* Description PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80
  315. For 20/40/80, this field shows the RTT first arrival
  316. correction value computed from L-LTF on the second selected
  317. Rx chain
  318. For 80+80, this field shows the RTT first arrival
  319. correction value computed from L-LTF on ext80 on the
  320. selected ext80 Rx chain
  321. 16 bits, signed 12.4. 12 bits integer to cover -6.4us to
  322. 6.4us, and 4 bits fraction to cover ext80 and 32x FAC
  323. interpolation
  324. clock unit is 320MHz
  325. <legal all>
  326. */
  327. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_OFFSET 0x00000014
  328. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_LSB 16
  329. #define PHYRX_PKT_END_INFO_5_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_MASK 0xffff0000
  330. /* Description PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT
  331. For 20/40/80, this field shows the RTT first arrival
  332. correction value computed from (V)HT/HE-LTF on the first
  333. selected Rx chain
  334. For 80+80, this field shows the RTT first arrival
  335. correction value computed from (V)HT/HE-LTF on pri80 on the
  336. selected pri80 Rx chain
  337. 16 bits, signed 12.4. 12 bits integer to cover -6.4us to
  338. 6.4us, and 4 bits fraction to cover pri80 and 32x FAC
  339. interpolation
  340. clock unit is 320MHz
  341. <legal all>
  342. */
  343. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_OFFSET 0x00000018
  344. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_LSB 0
  345. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_MASK 0x0000ffff
  346. /* Description PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80
  347. For 20/40/80, this field shows the RTT first arrival
  348. correction value computed from (V)HT/HE-LTF on the second
  349. selected Rx chain
  350. For 80+80, this field shows the RTT first arrival
  351. correction value computed from (V)HT/HE-LTF on ext80 on the
  352. selected ext80 Rx chain
  353. 16 bits, signed 12.4. 12 bits integer to cover -6.4us to
  354. 6.4us, and 4 bits fraction to cover ext80 and 32x FAC
  355. interpolation
  356. clock unit is 320MHz
  357. <legal all>
  358. */
  359. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_OFFSET 0x00000018
  360. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_LSB 16
  361. #define PHYRX_PKT_END_INFO_6_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_MASK 0xffff0000
  362. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_STATUS
  363. Status of rtt_fac_legacy
  364. <enum 0 location_fac_legacy_status_not_valid>
  365. <enum 1 location_fac_legacy_status_valid>
  366. <legal all>
  367. */
  368. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_STATUS_OFFSET 0x0000001c
  369. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_STATUS_LSB 0
  370. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_STATUS_MASK 0x00000001
  371. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_STATUS
  372. Status of rtt_fac_legacy_ext80
  373. <enum 0 location_fac_legacy_ext80_status_not_valid>
  374. <enum 1 location_fac_legacy_ext80_status_valid>
  375. <legal all>
  376. */
  377. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_STATUS_OFFSET 0x0000001c
  378. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_STATUS_LSB 1
  379. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_LEGACY_EXT80_STATUS_MASK 0x00000002
  380. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_STATUS
  381. Status of rtt_fac_vht
  382. <enum 0 location_fac_vht_status_not_valid>
  383. <enum 1 location_fac_vht_status_valid>
  384. <legal all>
  385. */
  386. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_STATUS_OFFSET 0x0000001c
  387. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_STATUS_LSB 2
  388. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_STATUS_MASK 0x00000004
  389. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_STATUS
  390. Status of rtt_fac_vht_ext80
  391. <enum 0 location_fac_vht_ext80_status_not_valid>
  392. <enum 1 location_fac_vht_ext80_status_valid>
  393. <legal all>
  394. */
  395. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_STATUS_OFFSET 0x0000001c
  396. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_STATUS_LSB 3
  397. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_VHT_EXT80_STATUS_MASK 0x00000008
  398. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS
  399. To support fine SIFS adjustment, need to provide FAC
  400. value @ integer number of 320 MHz clock cycles to MAC.  It
  401. is from L-LTF if it is a Legacy packet and from (V)HT/HE-LTF
  402. if it is a (V)HT/HE packet
  403. 12 bits, signed, no fractional part
  404. <legal all>
  405. */
  406. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_OFFSET 0x0000001c
  407. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_LSB 4
  408. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_MASK 0x0000fff0
  409. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_STATUS
  410. Status of rtt_fac_sifs
  411. 0: not valid
  412. 1: valid and from L-LTF
  413. 2: valid and from (V)HT/HE-LTF
  414. 3: reserved
  415. <legal 0-2>
  416. */
  417. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_STATUS_OFFSET 0x0000001c
  418. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_STATUS_LSB 16
  419. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_FAC_SIFS_STATUS_MASK 0x00030000
  420. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CFR_STATUS
  421. Status of channel frequency response dump
  422. <enum 0 location_CFR_dump_not_valid>
  423. <enum 1 location_CFR_dump_valid>
  424. <legal all>
  425. */
  426. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CFR_STATUS_OFFSET 0x0000001c
  427. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CFR_STATUS_LSB 18
  428. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CFR_STATUS_MASK 0x00040000
  429. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CIR_STATUS
  430. Status of channel impulse response dump
  431. <enum 0 location_CIR_dump_not_valid>
  432. <enum 1 location_CIR_dump_valid>
  433. <legal all>
  434. */
  435. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CIR_STATUS_OFFSET 0x0000001c
  436. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CIR_STATUS_LSB 19
  437. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CIR_STATUS_MASK 0x00080000
  438. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CHANNEL_DUMP_SIZE
  439. Channel dump size.  It shows how many tones in CFR in
  440. one chain, for example, it will show 52 for Legacy20 and 484
  441. for VHT160
  442. <legal all>
  443. */
  444. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CHANNEL_DUMP_SIZE_OFFSET 0x0000001c
  445. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CHANNEL_DUMP_SIZE_LSB 20
  446. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_CHANNEL_DUMP_SIZE_MASK 0x7ff00000
  447. /* Description PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_HW_IFFT_MODE
  448. Indicator showing if HW IFFT mode or SW IFFT mode
  449. <enum 0 location_sw_ifft_mode>
  450. <enum 1 location_hw_ifft_mode>
  451. <legal all>
  452. */
  453. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_HW_IFFT_MODE_OFFSET 0x0000001c
  454. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_HW_IFFT_MODE_LSB 31
  455. #define PHYRX_PKT_END_INFO_7_RX_LOCATION_INFO_DETAILS_RTT_HW_IFFT_MODE_MASK 0x80000000
  456. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_BTCF_STATUS
  457. Indicate if BTCF is used to capture the timestamps
  458. <enum 0 location_not_BTCF_based_ts>
  459. <enum 1 location_BTCF_based_ts>
  460. <legal all>
  461. */
  462. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_BTCF_STATUS_OFFSET 0x00000020
  463. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_BTCF_STATUS_LSB 0
  464. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_BTCF_STATUS_MASK 0x00000001
  465. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PREAMBLE_TYPE
  466. Indicate preamble type
  467. <enum 0 location_preamble_type_legacy>
  468. <enum 1 location_preamble_type_ht>
  469. <enum 2 location_preamble_type_vht>
  470. <enum 3 location_preamble_type_he_su_4xltf>
  471. <enum 4 location_preamble_type_he_su_2xltf>
  472. <enum 5 location_preamble_type_he_su_1xltf>
  473. <enum 6
  474. location_preamble_type_he_trigger_based_ul_4xltf>
  475. <enum 7
  476. location_preamble_type_he_trigger_based_ul_2xltf>
  477. <enum 8
  478. location_preamble_type_he_trigger_based_ul_1xltf>
  479. <enum 9 location_preamble_type_he_mu_4xltf>
  480. <enum 10 location_preamble_type_he_mu_2xltf>
  481. <enum 11 location_preamble_type_he_mu_1xltf>
  482. <enum 12
  483. location_preamble_type_he_extended_range_su_4xltf>
  484. <enum 13
  485. location_preamble_type_he_extended_range_su_2xltf>
  486. <enum 14
  487. location_preamble_type_he_extended_range_su_1xltf>
  488. <legal 0-14>
  489. */
  490. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PREAMBLE_TYPE_OFFSET 0x00000020
  491. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PREAMBLE_TYPE_LSB 1
  492. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PREAMBLE_TYPE_MASK 0x0000003e
  493. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_LEG
  494. Indicate the bandwidth of L-LTF
  495. <enum 0 location_pkt_bw_20MHz>
  496. <enum 1 location_pkt_bw_40MHz>
  497. <enum 2 location_pkt_bw_80MHz>
  498. <enum 3 location_pkt_bw_160MHz>
  499. <legal all>
  500. */
  501. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_LEG_OFFSET 0x00000020
  502. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_LEG_LSB 6
  503. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_LEG_MASK 0x000000c0
  504. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_VHT
  505. Indicate the bandwidth of (V)HT/HE-LTF
  506. <enum 0 location_pkt_bw_20MHz>
  507. <enum 1 location_pkt_bw_40MHz>
  508. <enum 2 location_pkt_bw_80MHz>
  509. <enum 3 location_pkt_bw_160MHz>
  510. <legal all>
  511. */
  512. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_VHT_OFFSET 0x00000020
  513. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_VHT_LSB 8
  514. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_PKT_BW_VHT_MASK 0x00000300
  515. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_GI_TYPE
  516. Indicate GI (guard interval) type
  517. <enum 0 gi_0_8_us > HE related GI. Can also be used
  518. for HE
  519. <enum 1 gi_0_4_us > HE related GI. Can also be used
  520. for HE
  521. <enum 2 gi_1_6_us > HE related GI
  522. <enum 3 gi_3_2_us > HE related GI
  523. <legal 0 - 3>
  524. */
  525. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_GI_TYPE_OFFSET 0x00000020
  526. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_GI_TYPE_LSB 10
  527. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_GI_TYPE_MASK 0x00000c00
  528. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_MCS_RATE
  529. Bits 0~4 indicate MCS rate, if Legacy,
  530. 0: 48 Mbps,
  531. 1: 24 Mbps,
  532. 2: 12 Mbps,
  533. 3: 6 Mbps,
  534. 4: 54 Mbps,
  535. 5: 36 Mbps,
  536. 6: 18 Mbps,
  537. 7: 9 Mbps,
  538. if HT, 0-7: MCS0-MCS7,
  539. if VHT, 0-9: MCS0-MCS9,
  540. <legal all>
  541. */
  542. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_MCS_RATE_OFFSET 0x00000020
  543. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_MCS_RATE_LSB 12
  544. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_MCS_RATE_MASK 0x0001f000
  545. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN
  546. For 20/40/80, this field shows the first selected Rx
  547. chain that is used in HW IFFT mode
  548. For 80+80, this field shows the selected pri80 Rx chain
  549. that is used in HW IFFT mode
  550. <enum 0 location_strongest_chain_is_0>
  551. <enum 1 location_strongest_chain_is_1>
  552. <enum 2 location_strongest_chain_is_2>
  553. <enum 3 location_strongest_chain_is_3>
  554. <enum 4 location_strongest_chain_is_4>
  555. <enum 5 location_strongest_chain_is_5>
  556. <enum 6 location_strongest_chain_is_6>
  557. <enum 7 location_strongest_chain_is_7>
  558. <legal all>
  559. */
  560. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_OFFSET 0x00000020
  561. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_LSB 17
  562. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_MASK 0x000e0000
  563. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_EXT80
  564. For 20/40/80, this field shows the second selected Rx
  565. chain that is used in HW IFFT mode
  566. For 80+80, this field shows the selected ext80 Rx chain
  567. that is used in HW IFFT mode
  568. <enum 0 location_strongest_chain_is_0>
  569. <enum 1 location_strongest_chain_is_1>
  570. <enum 2 location_strongest_chain_is_2>
  571. <enum 3 location_strongest_chain_is_3>
  572. <enum 4 location_strongest_chain_is_4>
  573. <enum 5 location_strongest_chain_is_5>
  574. <enum 6 location_strongest_chain_is_6>
  575. <enum 7 location_strongest_chain_is_7>
  576. <legal all>
  577. */
  578. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_EXT80_OFFSET 0x00000020
  579. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_EXT80_LSB 20
  580. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_STRONGEST_CHAIN_EXT80_MASK 0x00700000
  581. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_RX_CHAIN_MASK
  582. Rx chain mask, each bit is a Rx chain
  583. 0: the Rx chain is not used
  584. 1: the Rx chain is used
  585. Support up to 8 Rx chains
  586. <legal all>
  587. */
  588. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_RX_CHAIN_MASK_OFFSET 0x00000020
  589. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_RX_CHAIN_MASK_LSB 23
  590. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RTT_RX_CHAIN_MASK_MASK 0x7f800000
  591. /* Description PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RESERVED_3
  592. <legal 0>
  593. */
  594. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RESERVED_3_OFFSET 0x00000020
  595. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RESERVED_3_LSB 31
  596. #define PHYRX_PKT_END_INFO_8_RX_LOCATION_INFO_DETAILS_RESERVED_3_MASK 0x80000000
  597. /* Description PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_DETAILS_RX_START_TS
  598. RX packet start timestamp
  599. It reports the time the first L-STF ADC sample arrived
  600. at RX antenna
  601. clock unit is 480MHz
  602. <legal all>
  603. */
  604. #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_DETAILS_RX_START_TS_OFFSET 0x00000024
  605. #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_DETAILS_RX_START_TS_LSB 0
  606. #define PHYRX_PKT_END_INFO_9_RX_LOCATION_INFO_DETAILS_RX_START_TS_MASK 0xffffffff
  607. /* Description PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_DETAILS_RX_END_TS
  608. RX packet end timestamp
  609. It reports the time the last symbol's last ADC sample
  610. arrived at RX antenna
  611. clock unit is 480MHz
  612. <legal all>
  613. */
  614. #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_DETAILS_RX_END_TS_OFFSET 0x00000028
  615. #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_DETAILS_RX_END_TS_LSB 0
  616. #define PHYRX_PKT_END_INFO_10_RX_LOCATION_INFO_DETAILS_RX_END_TS_MASK 0xffffffff
  617. /* Description PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_START
  618. The phase of the SFO of the first symbol's first FFT
  619. input sample
  620. 12 bits, signed 6.6. 6 bits integer to cover -66.7ns to
  621. 66.7ns, and 6 bits fraction to provide a resolution of
  622. 0.03ns
  623. clock unit is 480MHz
  624. <legal all>
  625. */
  626. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_START_OFFSET 0x0000002c
  627. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_START_LSB 0
  628. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_START_MASK 0x00000fff
  629. /* Description PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_END
  630. The phase of the SFO of the last symbol's last FFT input
  631. sample
  632. 12 bits, signed 6.6. 6 bits integer to cover -66.7ns to
  633. 66.7ns, and 6 bits fraction to provide a resolution of
  634. 0.03ns
  635. clock unit is 480MHz
  636. <legal all>
  637. */
  638. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_END_OFFSET 0x0000002c
  639. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_END_LSB 12
  640. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_SFO_PHASE_PKT_END_MASK 0x00fff000
  641. /* Description PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_HIGH8
  642. The high 8 bits of the 40 bits pointer pointed to the
  643. external RTT channel information buffer
  644. 8 bits
  645. <legal all>
  646. */
  647. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_HIGH8_OFFSET 0x0000002c
  648. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_HIGH8_LSB 24
  649. #define PHYRX_PKT_END_INFO_11_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_HIGH8_MASK 0xff000000
  650. /* Description PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_LOW32
  651. The low 32 bits of the 40 bits pointer pointed to the
  652. external RTT channel information buffer
  653. 32 bits
  654. <legal all>
  655. */
  656. #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_LOW32_OFFSET 0x00000030
  657. #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_LOW32_LSB 0
  658. #define PHYRX_PKT_END_INFO_12_RX_LOCATION_INFO_DETAILS_RTT_CHE_BUFFER_POINTER_LOW32_MASK 0xffffffff
  659. /* Description PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CFO_MEASUREMENT
  660. CFO measurement. Needed for passive locationing
  661. 14 bits, signed 1.13. 13 bits fraction to provide a
  662. resolution of 153 Hz
  663. In units of cycles/800 ns
  664. <legal all>
  665. */
  666. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CFO_MEASUREMENT_OFFSET 0x00000034
  667. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CFO_MEASUREMENT_LSB 0
  668. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CFO_MEASUREMENT_MASK 0x00003fff
  669. /* Description PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CHAN_SPREAD
  670. Channel delay spread measurement. Needed for selecting
  671. GI length
  672. 8 bits, unsigned. At 25 ns step. Can represent up to
  673. 6375 ns
  674. In units of cycles @ 40 MHz
  675. <legal all>
  676. */
  677. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CHAN_SPREAD_OFFSET 0x00000034
  678. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CHAN_SPREAD_LSB 14
  679. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_CHAN_SPREAD_MASK 0x003fc000
  680. /* Description PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_TIMING_BACKOFF_SEL
  681. Indicate which timing backoff value is used
  682. <enum 0 timing_backoff_low_rssi>
  683. <enum 1 timing_backoff_mid_rssi>
  684. <enum 2 timing_backoff_high_rssi>
  685. <enum 3 reserved>
  686. <legal all>
  687. */
  688. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_TIMING_BACKOFF_SEL_OFFSET 0x00000034
  689. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_TIMING_BACKOFF_SEL_LSB 22
  690. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RTT_TIMING_BACKOFF_SEL_MASK 0x00c00000
  691. /* Description PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RESERVED_8
  692. <legal 0>
  693. */
  694. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RESERVED_8_OFFSET 0x00000034
  695. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RESERVED_8_LSB 24
  696. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RESERVED_8_MASK 0x7f000000
  697. /* Description PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RX_LOCATION_INFO_VALID
  698. <enum 0 rx_location_info_is_not_valid>
  699. <enum 1 rx_location_info_is_valid>
  700. <legal all>
  701. */
  702. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RX_LOCATION_INFO_VALID_OFFSET 0x00000034
  703. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RX_LOCATION_INFO_VALID_LSB 31
  704. #define PHYRX_PKT_END_INFO_13_RX_LOCATION_INFO_DETAILS_RX_LOCATION_INFO_VALID_MASK 0x80000000
  705. /* EXTERNAL REFERENCE : struct rx_timing_offset_info rx_timing_offset_info_details */
  706. /* Description PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESIDUAL_PHASE_OFFSET
  707. Cumulative reference frequency error at end of RX
  708. <legal all>
  709. */
  710. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESIDUAL_PHASE_OFFSET_OFFSET 0x00000038
  711. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESIDUAL_PHASE_OFFSET_LSB 0
  712. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESIDUAL_PHASE_OFFSET_MASK 0x00000fff
  713. /* Description PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESERVED
  714. <legal 0>
  715. */
  716. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESERVED_OFFSET 0x00000038
  717. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESERVED_LSB 12
  718. #define PHYRX_PKT_END_INFO_14_RX_TIMING_OFFSET_INFO_DETAILS_RESERVED_MASK 0xfffff000
  719. /* EXTERNAL REFERENCE : struct receive_rssi_info post_rssi_info_details */
  720. /* Description PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN0
  721. RSSI of RX PPDU on chain 0 of primary 20 MHz bandwidth.
  722. Value of 0x80 indicates invalid.
  723. */
  724. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN0_OFFSET 0x0000003c
  725. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN0_LSB 0
  726. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN0_MASK 0x000000ff
  727. /* Description PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN0
  728. RSSI of RX PPDU on chain 0 of extension 20 MHz
  729. bandwidth.
  730. Value of 0x80 indicates invalid.
  731. */
  732. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN0_OFFSET 0x0000003c
  733. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN0_LSB 8
  734. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN0_MASK 0x0000ff00
  735. /* Description PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN0
  736. RSSI of RX PPDU on chain 0 of extension 40, low 20 MHz
  737. bandwidth.
  738. Value of 0x80 indicates invalid.
  739. */
  740. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN0_OFFSET 0x0000003c
  741. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN0_LSB 16
  742. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN0_MASK 0x00ff0000
  743. /* Description PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN0
  744. RSSI of RX PPDU on chain 0 of extension 40, high 20 MHz
  745. bandwidth.
  746. Value of 0x80 indicates invalid.
  747. */
  748. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN0_OFFSET 0x0000003c
  749. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN0_LSB 24
  750. #define PHYRX_PKT_END_INFO_15_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN0_MASK 0xff000000
  751. /* Description PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN0
  752. RSSI of RX PPDU on chain 0 of extension 80, low 20 MHz
  753. bandwidth.
  754. Value of 0x80 indicates invalid.
  755. */
  756. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN0_OFFSET 0x00000040
  757. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN0_LSB 0
  758. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN0_MASK 0x000000ff
  759. /* Description PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN0
  760. RSSI of RX PPDU on chain 0 of extension 80, low-high 20
  761. MHz bandwidth.
  762. Value of 0x80 indicates invalid.
  763. */
  764. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN0_OFFSET 0x00000040
  765. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN0_LSB 8
  766. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN0_MASK 0x0000ff00
  767. /* Description PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN0
  768. RSSI of RX PPDU on chain 0 of extension 80, high-low 20
  769. MHz bandwidth.
  770. Value of 0x80 indicates invalid.
  771. */
  772. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN0_OFFSET 0x00000040
  773. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN0_LSB 16
  774. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN0_MASK 0x00ff0000
  775. /* Description PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN0
  776. RSSI of RX PPDU on chain 0 of extension 80, high 20 MHz
  777. bandwidth.
  778. Value of 0x80 indicates invalid.
  779. */
  780. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN0_OFFSET 0x00000040
  781. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN0_LSB 24
  782. #define PHYRX_PKT_END_INFO_16_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN0_MASK 0xff000000
  783. /* Description PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN1
  784. RSSI of RX PPDU on chain 1 of primary 20 MHz bandwidth.
  785. Value of 0x80 indicates invalid.
  786. */
  787. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN1_OFFSET 0x00000044
  788. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN1_LSB 0
  789. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN1_MASK 0x000000ff
  790. /* Description PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN1
  791. RSSI of RX PPDU on chain 1 of extension 20 MHz
  792. bandwidth.
  793. Value of 0x80 indicates invalid.
  794. */
  795. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN1_OFFSET 0x00000044
  796. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN1_LSB 8
  797. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN1_MASK 0x0000ff00
  798. /* Description PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN1
  799. RSSI of RX PPDU on chain 1 of extension 40, low 20 MHz
  800. bandwidth.
  801. Value of 0x80 indicates invalid.
  802. */
  803. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN1_OFFSET 0x00000044
  804. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN1_LSB 16
  805. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN1_MASK 0x00ff0000
  806. /* Description PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN1
  807. RSSI of RX PPDU on chain 1 of extension 40, high 20 MHz
  808. bandwidth.
  809. Value of 0x80 indicates invalid.
  810. */
  811. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN1_OFFSET 0x00000044
  812. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN1_LSB 24
  813. #define PHYRX_PKT_END_INFO_17_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN1_MASK 0xff000000
  814. /* Description PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN1
  815. RSSI of RX PPDU on chain 1 of extension 80, low 20 MHz
  816. bandwidth.
  817. Value of 0x80 indicates invalid.
  818. */
  819. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN1_OFFSET 0x00000048
  820. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN1_LSB 0
  821. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN1_MASK 0x000000ff
  822. /* Description PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN1
  823. RSSI of RX PPDU on chain 1 of extension 80, low-high 20
  824. MHz bandwidth.
  825. Value of 0x80 indicates invalid.
  826. */
  827. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN1_OFFSET 0x00000048
  828. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN1_LSB 8
  829. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN1_MASK 0x0000ff00
  830. /* Description PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN1
  831. RSSI of RX PPDU on chain 1 of extension 80, high-low 20
  832. MHz bandwidth.
  833. Value of 0x80 indicates invalid.
  834. */
  835. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN1_OFFSET 0x00000048
  836. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN1_LSB 16
  837. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN1_MASK 0x00ff0000
  838. /* Description PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN1
  839. RSSI of RX PPDU on chain 1 of extension 80, high 20 MHz
  840. bandwidth.
  841. Value of 0x80 indicates invalid.
  842. */
  843. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN1_OFFSET 0x00000048
  844. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN1_LSB 24
  845. #define PHYRX_PKT_END_INFO_18_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN1_MASK 0xff000000
  846. /* Description PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN2
  847. RSSI of RX PPDU on chain 2 of primary 20 MHz bandwidth.
  848. Value of 0x80 indicates invalid.
  849. */
  850. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN2_OFFSET 0x0000004c
  851. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN2_LSB 0
  852. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN2_MASK 0x000000ff
  853. /* Description PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN2
  854. RSSI of RX PPDU on chain 2 of extension 20 MHz
  855. bandwidth.
  856. Value of 0x80 indicates invalid.
  857. */
  858. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN2_OFFSET 0x0000004c
  859. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN2_LSB 8
  860. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN2_MASK 0x0000ff00
  861. /* Description PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN2
  862. RSSI of RX PPDU on chain 2 of extension 40, low 20 MHz
  863. bandwidth.
  864. Value of 0x80 indicates invalid.
  865. */
  866. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN2_OFFSET 0x0000004c
  867. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN2_LSB 16
  868. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN2_MASK 0x00ff0000
  869. /* Description PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN2
  870. RSSI of RX PPDU on chain 2 of extension 40, high 20 MHz
  871. bandwidth.
  872. Value of 0x80 indicates invalid.
  873. */
  874. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN2_OFFSET 0x0000004c
  875. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN2_LSB 24
  876. #define PHYRX_PKT_END_INFO_19_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN2_MASK 0xff000000
  877. /* Description PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN2
  878. RSSI of RX PPDU on chain 2 of extension 80, low 20 MHz
  879. bandwidth.
  880. Value of 0x80 indicates invalid.
  881. */
  882. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN2_OFFSET 0x00000050
  883. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN2_LSB 0
  884. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN2_MASK 0x000000ff
  885. /* Description PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN2
  886. RSSI of RX PPDU on chain 2 of extension 80, low-high 20
  887. MHz bandwidth.
  888. Value of 0x80 indicates invalid.
  889. */
  890. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN2_OFFSET 0x00000050
  891. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN2_LSB 8
  892. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN2_MASK 0x0000ff00
  893. /* Description PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN2
  894. RSSI of RX PPDU on chain 2 of extension 80, high-low 20
  895. MHz bandwidth.
  896. Value of 0x80 indicates invalid.
  897. */
  898. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN2_OFFSET 0x00000050
  899. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN2_LSB 16
  900. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN2_MASK 0x00ff0000
  901. /* Description PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN2
  902. RSSI of RX PPDU on chain 2 of extension 80, high 20 MHz
  903. bandwidth.
  904. Value of 0x80 indicates invalid.
  905. */
  906. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN2_OFFSET 0x00000050
  907. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN2_LSB 24
  908. #define PHYRX_PKT_END_INFO_20_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN2_MASK 0xff000000
  909. /* Description PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN3
  910. RSSI of RX PPDU on chain 3 of primary 20 MHz bandwidth.
  911. Value of 0x80 indicates invalid.
  912. */
  913. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN3_OFFSET 0x00000054
  914. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN3_LSB 0
  915. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN3_MASK 0x000000ff
  916. /* Description PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN3
  917. RSSI of RX PPDU on chain 3 of extension 20 MHz
  918. bandwidth.
  919. Value of 0x80 indicates invalid.
  920. */
  921. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN3_OFFSET 0x00000054
  922. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN3_LSB 8
  923. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN3_MASK 0x0000ff00
  924. /* Description PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN3
  925. RSSI of RX PPDU on chain 3 of extension 40, low 20 MHz
  926. bandwidth.
  927. Value of 0x80 indicates invalid.
  928. */
  929. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN3_OFFSET 0x00000054
  930. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN3_LSB 16
  931. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN3_MASK 0x00ff0000
  932. /* Description PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN3
  933. RSSI of RX PPDU on chain 3 of extension 40, high 20 MHz
  934. bandwidth.
  935. Value of 0x80 indicates invalid.
  936. */
  937. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN3_OFFSET 0x00000054
  938. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN3_LSB 24
  939. #define PHYRX_PKT_END_INFO_21_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN3_MASK 0xff000000
  940. /* Description PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN3
  941. RSSI of RX PPDU on chain 3 of extension 80, low 20 MHz
  942. bandwidth.
  943. Value of 0x80 indicates invalid.
  944. */
  945. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN3_OFFSET 0x00000058
  946. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN3_LSB 0
  947. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN3_MASK 0x000000ff
  948. /* Description PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN3
  949. RSSI of RX PPDU on chain 3 of extension 80, low-high 20
  950. MHz bandwidth.
  951. Value of 0x80 indicates invalid.
  952. */
  953. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN3_OFFSET 0x00000058
  954. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN3_LSB 8
  955. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN3_MASK 0x0000ff00
  956. /* Description PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN3
  957. RSSI of RX PPDU on chain 3 of extension 80, high-low 20
  958. MHz bandwidth.
  959. Value of 0x80 indicates invalid.
  960. */
  961. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN3_OFFSET 0x00000058
  962. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN3_LSB 16
  963. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN3_MASK 0x00ff0000
  964. /* Description PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN3
  965. RSSI of RX PPDU on chain 3 of extension 80, high 20 MHz
  966. bandwidth.
  967. Value of 0x80 indicates invalid.
  968. */
  969. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN3_OFFSET 0x00000058
  970. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN3_LSB 24
  971. #define PHYRX_PKT_END_INFO_22_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN3_MASK 0xff000000
  972. /* Description PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN4
  973. RSSI of RX PPDU on chain 4 of primary 20 MHz bandwidth.
  974. Value of 0x80 indicates invalid.
  975. */
  976. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN4_OFFSET 0x0000005c
  977. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN4_LSB 0
  978. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN4_MASK 0x000000ff
  979. /* Description PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN4
  980. RSSI of RX PPDU on chain 4 of extension 20 MHz
  981. bandwidth.
  982. Value of 0x80 indicates invalid.
  983. */
  984. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN4_OFFSET 0x0000005c
  985. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN4_LSB 8
  986. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN4_MASK 0x0000ff00
  987. /* Description PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN4
  988. RSSI of RX PPDU on chain 4 of extension 40, low 20 MHz
  989. bandwidth.
  990. Value of 0x80 indicates invalid.
  991. */
  992. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN4_OFFSET 0x0000005c
  993. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN4_LSB 16
  994. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN4_MASK 0x00ff0000
  995. /* Description PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN4
  996. RSSI of RX PPDU on chain 4 of extension 40, high 20 MHz
  997. bandwidth.
  998. Value of 0x80 indicates invalid.
  999. */
  1000. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN4_OFFSET 0x0000005c
  1001. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN4_LSB 24
  1002. #define PHYRX_PKT_END_INFO_23_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN4_MASK 0xff000000
  1003. /* Description PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN4
  1004. RSSI of RX PPDU on chain 4 of extension 80, low 20 MHz
  1005. bandwidth.
  1006. Value of 0x80 indicates invalid.
  1007. */
  1008. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN4_OFFSET 0x00000060
  1009. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN4_LSB 0
  1010. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN4_MASK 0x000000ff
  1011. /* Description PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN4
  1012. RSSI of RX PPDU on chain 4 of extension 80, low-high 20
  1013. MHz bandwidth.
  1014. Value of 0x80 indicates invalid.
  1015. */
  1016. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN4_OFFSET 0x00000060
  1017. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN4_LSB 8
  1018. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN4_MASK 0x0000ff00
  1019. /* Description PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN4
  1020. RSSI of RX PPDU on chain 4 of extension 80, high-low 20
  1021. MHz bandwidth.
  1022. Value of 0x80 indicates invalid.
  1023. */
  1024. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN4_OFFSET 0x00000060
  1025. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN4_LSB 16
  1026. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN4_MASK 0x00ff0000
  1027. /* Description PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN4
  1028. RSSI of RX PPDU on chain 4 of extension 80, high 20 MHz
  1029. bandwidth.
  1030. Value of 0x80 indicates invalid.
  1031. */
  1032. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN4_OFFSET 0x00000060
  1033. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN4_LSB 24
  1034. #define PHYRX_PKT_END_INFO_24_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN4_MASK 0xff000000
  1035. /* Description PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN5
  1036. RSSI of RX PPDU on chain 0 of primary 20 MHz bandwidth.
  1037. Value of 0x80 indicates invalid.
  1038. */
  1039. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN5_OFFSET 0x00000064
  1040. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN5_LSB 0
  1041. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN5_MASK 0x000000ff
  1042. /* Description PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN5
  1043. RSSI of RX PPDU on chain 5 of extension 20 MHz
  1044. bandwidth.
  1045. Value of 0x80 indicates invalid.
  1046. */
  1047. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN5_OFFSET 0x00000064
  1048. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN5_LSB 8
  1049. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN5_MASK 0x0000ff00
  1050. /* Description PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN5
  1051. RSSI of RX PPDU on chain 5 of extension 40, low 20 MHz
  1052. bandwidth.
  1053. Value of 0x80 indicates invalid.
  1054. */
  1055. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN5_OFFSET 0x00000064
  1056. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN5_LSB 16
  1057. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN5_MASK 0x00ff0000
  1058. /* Description PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN5
  1059. RSSI of RX PPDU on chain 5 of extension 40, high 20 MHz
  1060. bandwidth.
  1061. Value of 0x80 indicates invalid.
  1062. */
  1063. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN5_OFFSET 0x00000064
  1064. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN5_LSB 24
  1065. #define PHYRX_PKT_END_INFO_25_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN5_MASK 0xff000000
  1066. /* Description PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN5
  1067. RSSI of RX PPDU on chain 5 of extension 80, low 20 MHz
  1068. bandwidth.
  1069. Value of 0x80 indicates invalid.
  1070. */
  1071. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN5_OFFSET 0x00000068
  1072. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN5_LSB 0
  1073. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN5_MASK 0x000000ff
  1074. /* Description PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN5
  1075. RSSI of RX PPDU on chain 5 of extension 80, low-high 20
  1076. MHz bandwidth.
  1077. Value of 0x80 indicates invalid.
  1078. */
  1079. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN5_OFFSET 0x00000068
  1080. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN5_LSB 8
  1081. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN5_MASK 0x0000ff00
  1082. /* Description PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN5
  1083. RSSI of RX PPDU on chain 5 of extension 80, high-low 20
  1084. MHz bandwidth.
  1085. Value of 0x80 indicates invalid.
  1086. */
  1087. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN5_OFFSET 0x00000068
  1088. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN5_LSB 16
  1089. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN5_MASK 0x00ff0000
  1090. /* Description PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN5
  1091. RSSI of RX PPDU on chain 5 of extension 80, high 20 MHz
  1092. bandwidth.
  1093. Value of 0x80 indicates invalid.
  1094. */
  1095. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN5_OFFSET 0x00000068
  1096. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN5_LSB 24
  1097. #define PHYRX_PKT_END_INFO_26_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN5_MASK 0xff000000
  1098. /* Description PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN6
  1099. RSSI of RX PPDU on chain 6 of primary 20 MHz bandwidth.
  1100. Value of 0x80 indicates invalid.
  1101. */
  1102. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN6_OFFSET 0x0000006c
  1103. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN6_LSB 0
  1104. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN6_MASK 0x000000ff
  1105. /* Description PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN6
  1106. RSSI of RX PPDU on chain 6 of extension 20 MHz
  1107. bandwidth.
  1108. Value of 0x80 indicates invalid.
  1109. */
  1110. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN6_OFFSET 0x0000006c
  1111. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN6_LSB 8
  1112. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN6_MASK 0x0000ff00
  1113. /* Description PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN6
  1114. RSSI of RX PPDU on chain 6 of extension 40, low 20 MHz
  1115. bandwidth.
  1116. Value of 0x80 indicates invalid.
  1117. */
  1118. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN6_OFFSET 0x0000006c
  1119. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN6_LSB 16
  1120. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN6_MASK 0x00ff0000
  1121. /* Description PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN6
  1122. RSSI of RX PPDU on chain 6 of extension 40, high 20 MHz
  1123. bandwidth.
  1124. Value of 0x80 indicates invalid.
  1125. */
  1126. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN6_OFFSET 0x0000006c
  1127. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN6_LSB 24
  1128. #define PHYRX_PKT_END_INFO_27_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN6_MASK 0xff000000
  1129. /* Description PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN6
  1130. RSSI of RX PPDU on chain 6 of extension 80, low 20 MHz
  1131. bandwidth.
  1132. Value of 0x80 indicates invalid.
  1133. */
  1134. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN6_OFFSET 0x00000070
  1135. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN6_LSB 0
  1136. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN6_MASK 0x000000ff
  1137. /* Description PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN6
  1138. RSSI of RX PPDU on chain 6 of extension 80, low-high 20
  1139. MHz bandwidth.
  1140. Value of 0x80 indicates invalid.
  1141. */
  1142. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN6_OFFSET 0x00000070
  1143. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN6_LSB 8
  1144. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN6_MASK 0x0000ff00
  1145. /* Description PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN6
  1146. RSSI of RX PPDU on chain 6 of extension 80, high-low 20
  1147. MHz bandwidth.
  1148. Value of 0x80 indicates invalid.
  1149. */
  1150. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN6_OFFSET 0x00000070
  1151. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN6_LSB 16
  1152. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN6_MASK 0x00ff0000
  1153. /* Description PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN6
  1154. RSSI of RX PPDU on chain 6 of extension 80, high 20 MHz
  1155. bandwidth.
  1156. Value of 0x80 indicates invalid.
  1157. */
  1158. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN6_OFFSET 0x00000070
  1159. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN6_LSB 24
  1160. #define PHYRX_PKT_END_INFO_28_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN6_MASK 0xff000000
  1161. /* Description PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN7
  1162. RSSI of RX PPDU on chain 7 of primary 20 MHz bandwidth.
  1163. Value of 0x80 indicates invalid.
  1164. */
  1165. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN7_OFFSET 0x00000074
  1166. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN7_LSB 0
  1167. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_PRI20_CHAIN7_MASK 0x000000ff
  1168. /* Description PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN7
  1169. RSSI of RX PPDU on chain 7 of extension 20 MHz
  1170. bandwidth.
  1171. Value of 0x80 indicates invalid.
  1172. */
  1173. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN7_OFFSET 0x00000074
  1174. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN7_LSB 8
  1175. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT20_CHAIN7_MASK 0x0000ff00
  1176. /* Description PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN7
  1177. RSSI of RX PPDU on chain 7 of extension 40, low 20 MHz
  1178. bandwidth.
  1179. Value of 0x80 indicates invalid.
  1180. */
  1181. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN7_OFFSET 0x00000074
  1182. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN7_LSB 16
  1183. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_LOW20_CHAIN7_MASK 0x00ff0000
  1184. /* Description PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN7
  1185. RSSI of RX PPDU on chain 7 of extension 40, high 20 MHz
  1186. bandwidth.
  1187. Value of 0x80 indicates invalid.
  1188. */
  1189. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN7_OFFSET 0x00000074
  1190. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN7_LSB 24
  1191. #define PHYRX_PKT_END_INFO_29_POST_RSSI_INFO_DETAILS_RSSI_EXT40_HIGH20_CHAIN7_MASK 0xff000000
  1192. /* Description PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN7
  1193. RSSI of RX PPDU on chain 7 of extension 80, low 20 MHz
  1194. bandwidth.
  1195. Value of 0x80 indicates invalid.
  1196. */
  1197. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN7_OFFSET 0x00000078
  1198. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN7_LSB 0
  1199. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW20_CHAIN7_MASK 0x000000ff
  1200. /* Description PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN7
  1201. RSSI of RX PPDU on chain 7 of extension 80, low-high 20
  1202. MHz bandwidth.
  1203. Value of 0x80 indicates invalid.
  1204. */
  1205. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN7_OFFSET 0x00000078
  1206. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN7_LSB 8
  1207. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_LOW_HIGH20_CHAIN7_MASK 0x0000ff00
  1208. /* Description PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN7
  1209. RSSI of RX PPDU on chain 7 of extension 80, high-low 20
  1210. MHz bandwidth.
  1211. Value of 0x80 indicates invalid.
  1212. */
  1213. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN7_OFFSET 0x00000078
  1214. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN7_LSB 16
  1215. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH_LOW20_CHAIN7_MASK 0x00ff0000
  1216. /* Description PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN7
  1217. RSSI of RX PPDU on chain 7 of extension 80, high 20 MHz
  1218. bandwidth.
  1219. Value of 0x80 indicates invalid.
  1220. */
  1221. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN7_OFFSET 0x00000078
  1222. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN7_LSB 24
  1223. #define PHYRX_PKT_END_INFO_30_POST_RSSI_INFO_DETAILS_RSSI_EXT80_HIGH20_CHAIN7_MASK 0xff000000
  1224. /* Description PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0
  1225. Some PHY micro code status that can be put in here.
  1226. Details of definition within SW specification
  1227. This field can be used for debugging, FW - SW message
  1228. exchange, etc.
  1229. It could for example be a pointer to a DDR memory
  1230. location where PHY FW put some debug info.
  1231. <legal all>
  1232. */
  1233. #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_OFFSET 0x0000007c
  1234. #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_LSB 0
  1235. #define PHYRX_PKT_END_INFO_31_PHY_SW_STATUS_31_0_MASK 0xffffffff
  1236. /* Description PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32
  1237. Some PHY micro code status that can be put in here.
  1238. Details of definition within SW specification
  1239. This field can be used for debugging, FW - SW message
  1240. exchange, etc.
  1241. It could for example be a pointer to a DDR memory
  1242. location where PHY FW put some debug info.
  1243. <legal all>
  1244. */
  1245. #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_OFFSET 0x00000080
  1246. #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_LSB 0
  1247. #define PHYRX_PKT_END_INFO_32_PHY_SW_STATUS_63_32_MASK 0xffffffff
  1248. #endif // _PHYRX_PKT_END_INFO_H_