phyrx_rssi_legacy.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  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_RSSI_LEGACY_H_
  19. #define _PHYRX_RSSI_LEGACY_H_
  20. #if !defined(__ASSEMBLER__)
  21. #endif
  22. #include "receive_rssi_info.h"
  23. // ################ START SUMMARY #################
  24. //
  25. // Dword Fields
  26. // 0 reception_type[3:0], reserved_0[7:4], rx_chain_mask[15:8], phy_ppdu_id[31:16]
  27. // 1 sw_phy_meta_data[31:0]
  28. // 2 ppdu_start_timestamp[31:0]
  29. // 3-18 struct receive_rssi_info pre_rssi_info_details;
  30. // 19-34 struct receive_rssi_info preamble_rssi_info_details;
  31. // 35 pre_rssi_comb[7:0], rssi_comb[15:8], receive_bandwidth[17:16], reserved[31:18]
  32. //
  33. // ################ END SUMMARY #################
  34. #define NUM_OF_DWORDS_PHYRX_RSSI_LEGACY 36
  35. struct phyrx_rssi_legacy {
  36. uint32_t reception_type : 4, //[3:0]
  37. reserved_0 : 4, //[7:4]
  38. rx_chain_mask : 8, //[15:8]
  39. phy_ppdu_id : 16; //[31:16]
  40. uint32_t sw_phy_meta_data : 32; //[31:0]
  41. uint32_t ppdu_start_timestamp : 32; //[31:0]
  42. struct receive_rssi_info pre_rssi_info_details;
  43. struct receive_rssi_info preamble_rssi_info_details;
  44. uint32_t pre_rssi_comb : 8, //[7:0]
  45. rssi_comb : 8, //[15:8]
  46. receive_bandwidth : 2, //[17:16]
  47. reserved : 14; //[31:18]
  48. };
  49. /*
  50. reception_type
  51. This field helps MAC SW determine which field in this
  52. (and following TLVs) will contain valid information. For
  53. example some RSSI info not valid in case of uplink_ofdma..
  54. <enum 0 reception_is_uplink_ofdma>
  55. <enum 1 reception_is_uplink_mimo>
  56. <enum 2 reception_is_other>
  57. <enum 3 reception_is_frameless> PHY RX has been
  58. instructed in advance that the upcoming reception is
  59. frameless. This implieas that in advance it is known that
  60. all frames will collide in the medium, and nothing can be
  61. properly decoded... This can happen during the CTS reception
  62. in response to the triggered MU-RTS transmission.
  63. MAC takes no action when seeing this e_num. For the
  64. frameless reception the indication in pkt_end is the final
  65. one evaluated by the MAC
  66. <legal 0-3>
  67. reserved_0
  68. <legal 0>
  69. rx_chain_mask
  70. The chain mask at the start of the reception of this
  71. frame.
  72. each bit is one antenna
  73. 0: the chain is NOT used
  74. 1: the chain is used
  75. Supports up to 8 chains
  76. Used in 11ax TPC calculations for UL OFDMA/MIMO and has
  77. to be in sync with the rssi_comb value as this is also used
  78. by the MAC for the TPC calculations.
  79. <legal all>
  80. phy_ppdu_id
  81. A ppdu counter value that PHY increments for every PPDU
  82. received. The counter value wraps around
  83. <legal all>
  84. sw_phy_meta_data
  85. 32 bit Meta data that SW can program in a 32 bit PHY
  86. register and PHY will insert the value in every
  87. RX_RSSI_LEGACY TLV that it generates.
  88. SW uses this field to embed among other things some SW
  89. channel info.
  90. ppdu_start_timestamp
  91. Timestamp that indicates when the PPDU that contained
  92. this MPDU started on the medium.
  93. Note that PHY will detect the start later, and will have
  94. to derive out of the preamble info when the frame actually
  95. appeared on the medium
  96. <legal 0- 10>
  97. struct receive_rssi_info pre_rssi_info_details
  98. This field is not valid when reception_is_uplink_ofdma
  99. Overview of the pre-RSSI values. That is RSSI values
  100. measured on the medium before this reception started.
  101. struct receive_rssi_info preamble_rssi_info_details
  102. This field is not valid when reception_is_uplink_ofdma
  103. Overview of the RSSI values measured during the
  104. pre-amble phase of this reception
  105. pre_rssi_comb
  106. Combined pre_rssi of all chains. Based on primary
  107. channel RSSI.
  108. <legal all>
  109. rssi_comb
  110. Combined rssi of all chains. Based on primary channel
  111. RSSI.
  112. <legal all>
  113. receive_bandwidth
  114. Full receive Bandwidth
  115. <enum 0 full_rx_bw_20_mhz>
  116. <enum 1 full_rx_bw_40_mhz>
  117. <enum 2 full_rx_bw_80_mhz>
  118. <enum 3 full_rx_bw_160_mhz>
  119. <legal 0-3>
  120. reserved
  121. <legal 0>
  122. */
  123. /* Description PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE
  124. This field helps MAC SW determine which field in this
  125. (and following TLVs) will contain valid information. For
  126. example some RSSI info not valid in case of uplink_ofdma..
  127. <enum 0 reception_is_uplink_ofdma>
  128. <enum 1 reception_is_uplink_mimo>
  129. <enum 2 reception_is_other>
  130. <enum 3 reception_is_frameless> PHY RX has been
  131. instructed in advance that the upcoming reception is
  132. frameless. This implieas that in advance it is known that
  133. all frames will collide in the medium, and nothing can be
  134. properly decoded... This can happen during the CTS reception
  135. in response to the triggered MU-RTS transmission.
  136. MAC takes no action when seeing this e_num. For the
  137. frameless reception the indication in pkt_end is the final
  138. one evaluated by the MAC
  139. <legal 0-3>
  140. */
  141. #define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_OFFSET 0x00000000
  142. #define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_LSB 0
  143. #define PHYRX_RSSI_LEGACY_0_RECEPTION_TYPE_MASK 0x0000000f
  144. /* Description PHYRX_RSSI_LEGACY_0_RESERVED_0
  145. <legal 0>
  146. */
  147. #define PHYRX_RSSI_LEGACY_0_RESERVED_0_OFFSET 0x00000000
  148. #define PHYRX_RSSI_LEGACY_0_RESERVED_0_LSB 4
  149. #define PHYRX_RSSI_LEGACY_0_RESERVED_0_MASK 0x000000f0
  150. /* Description PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK
  151. The chain mask at the start of the reception of this
  152. frame.
  153. each bit is one antenna
  154. 0: the chain is NOT used
  155. 1: the chain is used
  156. Supports up to 8 chains
  157. Used in 11ax TPC calculations for UL OFDMA/MIMO and has
  158. to be in sync with the rssi_comb value as this is also used
  159. by the MAC for the TPC calculations.
  160. <legal all>
  161. */
  162. #define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_OFFSET 0x00000000
  163. #define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_LSB 8
  164. #define PHYRX_RSSI_LEGACY_0_RX_CHAIN_MASK_MASK 0x0000ff00
  165. /* Description PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID
  166. A ppdu counter value that PHY increments for every PPDU
  167. received. The counter value wraps around
  168. <legal all>
  169. */
  170. #define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_OFFSET 0x00000000
  171. #define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_LSB 16
  172. #define PHYRX_RSSI_LEGACY_0_PHY_PPDU_ID_MASK 0xffff0000
  173. /* Description PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA
  174. 32 bit Meta data that SW can program in a 32 bit PHY
  175. register and PHY will insert the value in every
  176. RX_RSSI_LEGACY TLV that it generates.
  177. SW uses this field to embed among other things some SW
  178. channel info.
  179. */
  180. #define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_OFFSET 0x00000004
  181. #define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_LSB 0
  182. #define PHYRX_RSSI_LEGACY_1_SW_PHY_META_DATA_MASK 0xffffffff
  183. /* Description PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP
  184. Timestamp that indicates when the PPDU that contained
  185. this MPDU started on the medium.
  186. Note that PHY will detect the start later, and will have
  187. to derive out of the preamble info when the frame actually
  188. appeared on the medium
  189. <legal 0- 10>
  190. */
  191. #define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_OFFSET 0x00000008
  192. #define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_LSB 0
  193. #define PHYRX_RSSI_LEGACY_2_PPDU_START_TIMESTAMP_MASK 0xffffffff
  194. #define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000000c
  195. #define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  196. #define PHYRX_RSSI_LEGACY_3_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  197. #define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000010
  198. #define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  199. #define PHYRX_RSSI_LEGACY_4_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  200. #define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000014
  201. #define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  202. #define PHYRX_RSSI_LEGACY_5_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  203. #define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000018
  204. #define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  205. #define PHYRX_RSSI_LEGACY_6_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  206. #define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000001c
  207. #define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  208. #define PHYRX_RSSI_LEGACY_7_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  209. #define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000020
  210. #define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  211. #define PHYRX_RSSI_LEGACY_8_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  212. #define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000024
  213. #define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  214. #define PHYRX_RSSI_LEGACY_9_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  215. #define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000028
  216. #define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  217. #define PHYRX_RSSI_LEGACY_10_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  218. #define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000002c
  219. #define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  220. #define PHYRX_RSSI_LEGACY_11_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  221. #define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000030
  222. #define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  223. #define PHYRX_RSSI_LEGACY_12_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  224. #define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000034
  225. #define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  226. #define PHYRX_RSSI_LEGACY_13_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  227. #define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000038
  228. #define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  229. #define PHYRX_RSSI_LEGACY_14_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  230. #define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x0000003c
  231. #define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  232. #define PHYRX_RSSI_LEGACY_15_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  233. #define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000040
  234. #define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  235. #define PHYRX_RSSI_LEGACY_16_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  236. #define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000044
  237. #define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  238. #define PHYRX_RSSI_LEGACY_17_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  239. #define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_OFFSET 0x00000048
  240. #define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_LSB 0
  241. #define PHYRX_RSSI_LEGACY_18_RECEIVE_RSSI_INFO_PRE_RSSI_INFO_DETAILS_MASK 0xffffffff
  242. #define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000004c
  243. #define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  244. #define PHYRX_RSSI_LEGACY_19_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  245. #define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000050
  246. #define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  247. #define PHYRX_RSSI_LEGACY_20_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  248. #define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000054
  249. #define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  250. #define PHYRX_RSSI_LEGACY_21_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  251. #define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000058
  252. #define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  253. #define PHYRX_RSSI_LEGACY_22_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  254. #define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000005c
  255. #define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  256. #define PHYRX_RSSI_LEGACY_23_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  257. #define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000060
  258. #define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  259. #define PHYRX_RSSI_LEGACY_24_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  260. #define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000064
  261. #define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  262. #define PHYRX_RSSI_LEGACY_25_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  263. #define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000068
  264. #define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  265. #define PHYRX_RSSI_LEGACY_26_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  266. #define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000006c
  267. #define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  268. #define PHYRX_RSSI_LEGACY_27_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  269. #define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000070
  270. #define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  271. #define PHYRX_RSSI_LEGACY_28_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  272. #define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000074
  273. #define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  274. #define PHYRX_RSSI_LEGACY_29_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  275. #define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000078
  276. #define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  277. #define PHYRX_RSSI_LEGACY_30_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  278. #define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x0000007c
  279. #define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  280. #define PHYRX_RSSI_LEGACY_31_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  281. #define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000080
  282. #define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  283. #define PHYRX_RSSI_LEGACY_32_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  284. #define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000084
  285. #define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  286. #define PHYRX_RSSI_LEGACY_33_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  287. #define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_OFFSET 0x00000088
  288. #define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_LSB 0
  289. #define PHYRX_RSSI_LEGACY_34_RECEIVE_RSSI_INFO_PREAMBLE_RSSI_INFO_DETAILS_MASK 0xffffffff
  290. /* Description PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB
  291. Combined pre_rssi of all chains. Based on primary
  292. channel RSSI.
  293. <legal all>
  294. */
  295. #define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_OFFSET 0x0000008c
  296. #define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_LSB 0
  297. #define PHYRX_RSSI_LEGACY_35_PRE_RSSI_COMB_MASK 0x000000ff
  298. /* Description PHYRX_RSSI_LEGACY_35_RSSI_COMB
  299. Combined rssi of all chains. Based on primary channel
  300. RSSI.
  301. <legal all>
  302. */
  303. #define PHYRX_RSSI_LEGACY_35_RSSI_COMB_OFFSET 0x0000008c
  304. #define PHYRX_RSSI_LEGACY_35_RSSI_COMB_LSB 8
  305. #define PHYRX_RSSI_LEGACY_35_RSSI_COMB_MASK 0x0000ff00
  306. /* Description PHYRX_RSSI_LEGACY_35_RECEIVE_BANDWIDTH
  307. Full receive Bandwidth
  308. <enum 0 full_rx_bw_20_mhz>
  309. <enum 1 full_rx_bw_40_mhz>
  310. <enum 2 full_rx_bw_80_mhz>
  311. <enum 3 full_rx_bw_160_mhz>
  312. <legal 0-3>
  313. */
  314. #define PHYRX_RSSI_LEGACY_35_RECEIVE_BANDWIDTH_OFFSET 0x0000008c
  315. #define PHYRX_RSSI_LEGACY_35_RECEIVE_BANDWIDTH_LSB 16
  316. #define PHYRX_RSSI_LEGACY_35_RECEIVE_BANDWIDTH_MASK 0x00030000
  317. /* Description PHYRX_RSSI_LEGACY_35_RESERVED
  318. <legal 0>
  319. */
  320. #define PHYRX_RSSI_LEGACY_35_RESERVED_OFFSET 0x0000008c
  321. #define PHYRX_RSSI_LEGACY_35_RESERVED_LSB 18
  322. #define PHYRX_RSSI_LEGACY_35_RESERVED_MASK 0xfffc0000
  323. #endif // _PHYRX_RSSI_LEGACY_H_