response_end_status.h 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674
  1. /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  2. *
  3. * Permission to use, copy, modify, and/or distribute this software for any
  4. * purpose with or without fee is hereby granted, provided that the above
  5. * copyright notice and this permission notice appear in all copies.
  6. *
  7. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  10. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  12. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  13. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  14. */
  15. #ifndef _RESPONSE_END_STATUS_H_
  16. #define _RESPONSE_END_STATUS_H_
  17. #if !defined(__ASSEMBLER__)
  18. #endif
  19. #include "phytx_abort_request_info.h"
  20. #define NUM_OF_DWORDS_RESPONSE_END_STATUS 22
  21. #define NUM_OF_QWORDS_RESPONSE_END_STATUS 11
  22. struct response_end_status {
  23. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  24. uint32_t coex_bt_tx_while_wlan_tx : 1,
  25. coex_wan_tx_while_wlan_tx : 1,
  26. coex_wlan_tx_while_wlan_tx : 1,
  27. global_data_underflow_warning : 1,
  28. response_transmit_status : 4,
  29. phytx_pkt_end_info_valid : 1,
  30. phytx_abort_request_info_valid : 1,
  31. generated_response : 3,
  32. mba_user_count : 7,
  33. mba_fake_bitmap_count : 7,
  34. coex_based_tx_bw : 3,
  35. trig_response_related : 1,
  36. dpdtrain_done : 1;
  37. struct phytx_abort_request_info phytx_abort_request_info_details;
  38. uint16_t cbf_segment_request_mask : 8,
  39. cbf_segment_sent_mask : 8;
  40. uint32_t underflow_mpdu_count : 9,
  41. data_underflow_warning : 2,
  42. phy_tx_gain_setting : 8,
  43. timing_status : 2,
  44. only_null_delim_sent : 1,
  45. brp_info_valid : 1,
  46. reserved_2a : 9;
  47. uint32_t mu_response_bitmap_31_0 : 32;
  48. uint32_t mu_response_bitmap_36_32 : 5,
  49. reserved_4a : 11,
  50. transmit_delay : 16;
  51. uint32_t start_of_frame_timestamp_15_0 : 16,
  52. start_of_frame_timestamp_31_16 : 16;
  53. uint32_t end_of_frame_timestamp_15_0 : 16,
  54. end_of_frame_timestamp_31_16 : 16;
  55. uint32_t tx_group_delay : 12,
  56. reserved_7a : 4,
  57. tpc_dbg_info_cmn_15_0 : 16;
  58. uint32_t tpc_dbg_info_31_16 : 16,
  59. tpc_dbg_info_47_32 : 16;
  60. uint32_t tpc_dbg_info_chn1_15_0 : 16,
  61. tpc_dbg_info_chn1_31_16 : 16;
  62. uint32_t tpc_dbg_info_chn1_47_32 : 16,
  63. tpc_dbg_info_chn1_63_48 : 16;
  64. uint32_t tpc_dbg_info_chn1_79_64 : 16,
  65. tpc_dbg_info_chn2_15_0 : 16;
  66. uint32_t tpc_dbg_info_chn2_31_16 : 16,
  67. tpc_dbg_info_chn2_47_32 : 16;
  68. uint32_t tpc_dbg_info_chn2_63_48 : 16,
  69. tpc_dbg_info_chn2_79_64 : 16;
  70. uint32_t phytx_tx_end_sw_info_15_0 : 16,
  71. phytx_tx_end_sw_info_31_16 : 16;
  72. uint32_t phytx_tx_end_sw_info_47_32 : 16,
  73. phytx_tx_end_sw_info_63_48 : 16;
  74. uint32_t addr1_31_0 : 32;
  75. uint32_t addr1_47_32 : 16,
  76. addr2_15_0 : 16;
  77. uint32_t addr2_47_16 : 32;
  78. uint32_t addr3_31_0 : 32;
  79. uint32_t addr3_47_32 : 16,
  80. ranging : 1,
  81. secure : 1,
  82. ranging_ftm_frame_sent : 1,
  83. reserved_20a : 13;
  84. uint32_t tlv64_padding : 32;
  85. #else
  86. uint32_t dpdtrain_done : 1,
  87. trig_response_related : 1,
  88. coex_based_tx_bw : 3,
  89. mba_fake_bitmap_count : 7,
  90. mba_user_count : 7,
  91. generated_response : 3,
  92. phytx_abort_request_info_valid : 1,
  93. phytx_pkt_end_info_valid : 1,
  94. response_transmit_status : 4,
  95. global_data_underflow_warning : 1,
  96. coex_wlan_tx_while_wlan_tx : 1,
  97. coex_wan_tx_while_wlan_tx : 1,
  98. coex_bt_tx_while_wlan_tx : 1;
  99. uint32_t cbf_segment_sent_mask : 8,
  100. cbf_segment_request_mask : 8;
  101. struct phytx_abort_request_info phytx_abort_request_info_details;
  102. uint32_t reserved_2a : 9,
  103. brp_info_valid : 1,
  104. only_null_delim_sent : 1,
  105. timing_status : 2,
  106. phy_tx_gain_setting : 8,
  107. data_underflow_warning : 2,
  108. underflow_mpdu_count : 9;
  109. uint32_t mu_response_bitmap_31_0 : 32;
  110. uint32_t transmit_delay : 16,
  111. reserved_4a : 11,
  112. mu_response_bitmap_36_32 : 5;
  113. uint32_t start_of_frame_timestamp_31_16 : 16,
  114. start_of_frame_timestamp_15_0 : 16;
  115. uint32_t end_of_frame_timestamp_31_16 : 16,
  116. end_of_frame_timestamp_15_0 : 16;
  117. uint32_t tpc_dbg_info_cmn_15_0 : 16,
  118. reserved_7a : 4,
  119. tx_group_delay : 12;
  120. uint32_t tpc_dbg_info_47_32 : 16,
  121. tpc_dbg_info_31_16 : 16;
  122. uint32_t tpc_dbg_info_chn1_31_16 : 16,
  123. tpc_dbg_info_chn1_15_0 : 16;
  124. uint32_t tpc_dbg_info_chn1_63_48 : 16,
  125. tpc_dbg_info_chn1_47_32 : 16;
  126. uint32_t tpc_dbg_info_chn2_15_0 : 16,
  127. tpc_dbg_info_chn1_79_64 : 16;
  128. uint32_t tpc_dbg_info_chn2_47_32 : 16,
  129. tpc_dbg_info_chn2_31_16 : 16;
  130. uint32_t tpc_dbg_info_chn2_79_64 : 16,
  131. tpc_dbg_info_chn2_63_48 : 16;
  132. uint32_t phytx_tx_end_sw_info_31_16 : 16,
  133. phytx_tx_end_sw_info_15_0 : 16;
  134. uint32_t phytx_tx_end_sw_info_63_48 : 16,
  135. phytx_tx_end_sw_info_47_32 : 16;
  136. uint32_t addr1_31_0 : 32;
  137. uint32_t addr2_15_0 : 16,
  138. addr1_47_32 : 16;
  139. uint32_t addr2_47_16 : 32;
  140. uint32_t addr3_31_0 : 32;
  141. uint32_t reserved_20a : 13,
  142. ranging_ftm_frame_sent : 1,
  143. secure : 1,
  144. ranging : 1,
  145. addr3_47_32 : 16;
  146. uint32_t tlv64_padding : 32;
  147. #endif
  148. };
  149. #define RESPONSE_END_STATUS_COEX_BT_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
  150. #define RESPONSE_END_STATUS_COEX_BT_TX_WHILE_WLAN_TX_LSB 0
  151. #define RESPONSE_END_STATUS_COEX_BT_TX_WHILE_WLAN_TX_MSB 0
  152. #define RESPONSE_END_STATUS_COEX_BT_TX_WHILE_WLAN_TX_MASK 0x0000000000000001
  153. #define RESPONSE_END_STATUS_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
  154. #define RESPONSE_END_STATUS_COEX_WAN_TX_WHILE_WLAN_TX_LSB 1
  155. #define RESPONSE_END_STATUS_COEX_WAN_TX_WHILE_WLAN_TX_MSB 1
  156. #define RESPONSE_END_STATUS_COEX_WAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000002
  157. #define RESPONSE_END_STATUS_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
  158. #define RESPONSE_END_STATUS_COEX_WLAN_TX_WHILE_WLAN_TX_LSB 2
  159. #define RESPONSE_END_STATUS_COEX_WLAN_TX_WHILE_WLAN_TX_MSB 2
  160. #define RESPONSE_END_STATUS_COEX_WLAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000004
  161. #define RESPONSE_END_STATUS_GLOBAL_DATA_UNDERFLOW_WARNING_OFFSET 0x0000000000000000
  162. #define RESPONSE_END_STATUS_GLOBAL_DATA_UNDERFLOW_WARNING_LSB 3
  163. #define RESPONSE_END_STATUS_GLOBAL_DATA_UNDERFLOW_WARNING_MSB 3
  164. #define RESPONSE_END_STATUS_GLOBAL_DATA_UNDERFLOW_WARNING_MASK 0x0000000000000008
  165. #define RESPONSE_END_STATUS_RESPONSE_TRANSMIT_STATUS_OFFSET 0x0000000000000000
  166. #define RESPONSE_END_STATUS_RESPONSE_TRANSMIT_STATUS_LSB 4
  167. #define RESPONSE_END_STATUS_RESPONSE_TRANSMIT_STATUS_MSB 7
  168. #define RESPONSE_END_STATUS_RESPONSE_TRANSMIT_STATUS_MASK 0x00000000000000f0
  169. #define RESPONSE_END_STATUS_PHYTX_PKT_END_INFO_VALID_OFFSET 0x0000000000000000
  170. #define RESPONSE_END_STATUS_PHYTX_PKT_END_INFO_VALID_LSB 8
  171. #define RESPONSE_END_STATUS_PHYTX_PKT_END_INFO_VALID_MSB 8
  172. #define RESPONSE_END_STATUS_PHYTX_PKT_END_INFO_VALID_MASK 0x0000000000000100
  173. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_VALID_OFFSET 0x0000000000000000
  174. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_VALID_LSB 9
  175. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_VALID_MSB 9
  176. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_VALID_MASK 0x0000000000000200
  177. #define RESPONSE_END_STATUS_GENERATED_RESPONSE_OFFSET 0x0000000000000000
  178. #define RESPONSE_END_STATUS_GENERATED_RESPONSE_LSB 10
  179. #define RESPONSE_END_STATUS_GENERATED_RESPONSE_MSB 12
  180. #define RESPONSE_END_STATUS_GENERATED_RESPONSE_MASK 0x0000000000001c00
  181. #define RESPONSE_END_STATUS_MBA_USER_COUNT_OFFSET 0x0000000000000000
  182. #define RESPONSE_END_STATUS_MBA_USER_COUNT_LSB 13
  183. #define RESPONSE_END_STATUS_MBA_USER_COUNT_MSB 19
  184. #define RESPONSE_END_STATUS_MBA_USER_COUNT_MASK 0x00000000000fe000
  185. #define RESPONSE_END_STATUS_MBA_FAKE_BITMAP_COUNT_OFFSET 0x0000000000000000
  186. #define RESPONSE_END_STATUS_MBA_FAKE_BITMAP_COUNT_LSB 20
  187. #define RESPONSE_END_STATUS_MBA_FAKE_BITMAP_COUNT_MSB 26
  188. #define RESPONSE_END_STATUS_MBA_FAKE_BITMAP_COUNT_MASK 0x0000000007f00000
  189. #define RESPONSE_END_STATUS_COEX_BASED_TX_BW_OFFSET 0x0000000000000000
  190. #define RESPONSE_END_STATUS_COEX_BASED_TX_BW_LSB 27
  191. #define RESPONSE_END_STATUS_COEX_BASED_TX_BW_MSB 29
  192. #define RESPONSE_END_STATUS_COEX_BASED_TX_BW_MASK 0x0000000038000000
  193. #define RESPONSE_END_STATUS_TRIG_RESPONSE_RELATED_OFFSET 0x0000000000000000
  194. #define RESPONSE_END_STATUS_TRIG_RESPONSE_RELATED_LSB 30
  195. #define RESPONSE_END_STATUS_TRIG_RESPONSE_RELATED_MSB 30
  196. #define RESPONSE_END_STATUS_TRIG_RESPONSE_RELATED_MASK 0x0000000040000000
  197. #define RESPONSE_END_STATUS_DPDTRAIN_DONE_OFFSET 0x0000000000000000
  198. #define RESPONSE_END_STATUS_DPDTRAIN_DONE_LSB 31
  199. #define RESPONSE_END_STATUS_DPDTRAIN_DONE_MSB 31
  200. #define RESPONSE_END_STATUS_DPDTRAIN_DONE_MASK 0x0000000080000000
  201. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_OFFSET 0x0000000000000000
  202. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_LSB 32
  203. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MSB 39
  204. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MASK 0x000000ff00000000
  205. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_OFFSET 0x0000000000000000
  206. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_LSB 40
  207. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MSB 45
  208. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MASK 0x00003f0000000000
  209. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_OFFSET 0x0000000000000000
  210. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_LSB 46
  211. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MSB 47
  212. #define RESPONSE_END_STATUS_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MASK 0x0000c00000000000
  213. #define RESPONSE_END_STATUS_CBF_SEGMENT_REQUEST_MASK_OFFSET 0x0000000000000000
  214. #define RESPONSE_END_STATUS_CBF_SEGMENT_REQUEST_MASK_LSB 48
  215. #define RESPONSE_END_STATUS_CBF_SEGMENT_REQUEST_MASK_MSB 55
  216. #define RESPONSE_END_STATUS_CBF_SEGMENT_REQUEST_MASK_MASK 0x00ff000000000000
  217. #define RESPONSE_END_STATUS_CBF_SEGMENT_SENT_MASK_OFFSET 0x0000000000000000
  218. #define RESPONSE_END_STATUS_CBF_SEGMENT_SENT_MASK_LSB 56
  219. #define RESPONSE_END_STATUS_CBF_SEGMENT_SENT_MASK_MSB 63
  220. #define RESPONSE_END_STATUS_CBF_SEGMENT_SENT_MASK_MASK 0xff00000000000000
  221. #define RESPONSE_END_STATUS_UNDERFLOW_MPDU_COUNT_OFFSET 0x0000000000000008
  222. #define RESPONSE_END_STATUS_UNDERFLOW_MPDU_COUNT_LSB 0
  223. #define RESPONSE_END_STATUS_UNDERFLOW_MPDU_COUNT_MSB 8
  224. #define RESPONSE_END_STATUS_UNDERFLOW_MPDU_COUNT_MASK 0x00000000000001ff
  225. #define RESPONSE_END_STATUS_DATA_UNDERFLOW_WARNING_OFFSET 0x0000000000000008
  226. #define RESPONSE_END_STATUS_DATA_UNDERFLOW_WARNING_LSB 9
  227. #define RESPONSE_END_STATUS_DATA_UNDERFLOW_WARNING_MSB 10
  228. #define RESPONSE_END_STATUS_DATA_UNDERFLOW_WARNING_MASK 0x0000000000000600
  229. #define RESPONSE_END_STATUS_PHY_TX_GAIN_SETTING_OFFSET 0x0000000000000008
  230. #define RESPONSE_END_STATUS_PHY_TX_GAIN_SETTING_LSB 11
  231. #define RESPONSE_END_STATUS_PHY_TX_GAIN_SETTING_MSB 18
  232. #define RESPONSE_END_STATUS_PHY_TX_GAIN_SETTING_MASK 0x000000000007f800
  233. #define RESPONSE_END_STATUS_TIMING_STATUS_OFFSET 0x0000000000000008
  234. #define RESPONSE_END_STATUS_TIMING_STATUS_LSB 19
  235. #define RESPONSE_END_STATUS_TIMING_STATUS_MSB 20
  236. #define RESPONSE_END_STATUS_TIMING_STATUS_MASK 0x0000000000180000
  237. #define RESPONSE_END_STATUS_ONLY_NULL_DELIM_SENT_OFFSET 0x0000000000000008
  238. #define RESPONSE_END_STATUS_ONLY_NULL_DELIM_SENT_LSB 21
  239. #define RESPONSE_END_STATUS_ONLY_NULL_DELIM_SENT_MSB 21
  240. #define RESPONSE_END_STATUS_ONLY_NULL_DELIM_SENT_MASK 0x0000000000200000
  241. #define RESPONSE_END_STATUS_BRP_INFO_VALID_OFFSET 0x0000000000000008
  242. #define RESPONSE_END_STATUS_BRP_INFO_VALID_LSB 22
  243. #define RESPONSE_END_STATUS_BRP_INFO_VALID_MSB 22
  244. #define RESPONSE_END_STATUS_BRP_INFO_VALID_MASK 0x0000000000400000
  245. #define RESPONSE_END_STATUS_RESERVED_2A_OFFSET 0x0000000000000008
  246. #define RESPONSE_END_STATUS_RESERVED_2A_LSB 23
  247. #define RESPONSE_END_STATUS_RESERVED_2A_MSB 31
  248. #define RESPONSE_END_STATUS_RESERVED_2A_MASK 0x00000000ff800000
  249. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_31_0_OFFSET 0x0000000000000008
  250. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_31_0_LSB 32
  251. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_31_0_MSB 63
  252. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_31_0_MASK 0xffffffff00000000
  253. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_36_32_OFFSET 0x0000000000000010
  254. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_36_32_LSB 0
  255. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_36_32_MSB 4
  256. #define RESPONSE_END_STATUS_MU_RESPONSE_BITMAP_36_32_MASK 0x000000000000001f
  257. #define RESPONSE_END_STATUS_RESERVED_4A_OFFSET 0x0000000000000010
  258. #define RESPONSE_END_STATUS_RESERVED_4A_LSB 5
  259. #define RESPONSE_END_STATUS_RESERVED_4A_MSB 15
  260. #define RESPONSE_END_STATUS_RESERVED_4A_MASK 0x000000000000ffe0
  261. #define RESPONSE_END_STATUS_TRANSMIT_DELAY_OFFSET 0x0000000000000010
  262. #define RESPONSE_END_STATUS_TRANSMIT_DELAY_LSB 16
  263. #define RESPONSE_END_STATUS_TRANSMIT_DELAY_MSB 31
  264. #define RESPONSE_END_STATUS_TRANSMIT_DELAY_MASK 0x00000000ffff0000
  265. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_15_0_OFFSET 0x0000000000000010
  266. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_15_0_LSB 32
  267. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_15_0_MSB 47
  268. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_15_0_MASK 0x0000ffff00000000
  269. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_31_16_OFFSET 0x0000000000000010
  270. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_31_16_LSB 48
  271. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_31_16_MSB 63
  272. #define RESPONSE_END_STATUS_START_OF_FRAME_TIMESTAMP_31_16_MASK 0xffff000000000000
  273. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_15_0_OFFSET 0x0000000000000018
  274. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_15_0_LSB 0
  275. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_15_0_MSB 15
  276. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_15_0_MASK 0x000000000000ffff
  277. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_31_16_OFFSET 0x0000000000000018
  278. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_31_16_LSB 16
  279. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_31_16_MSB 31
  280. #define RESPONSE_END_STATUS_END_OF_FRAME_TIMESTAMP_31_16_MASK 0x00000000ffff0000
  281. #define RESPONSE_END_STATUS_TX_GROUP_DELAY_OFFSET 0x0000000000000018
  282. #define RESPONSE_END_STATUS_TX_GROUP_DELAY_LSB 32
  283. #define RESPONSE_END_STATUS_TX_GROUP_DELAY_MSB 43
  284. #define RESPONSE_END_STATUS_TX_GROUP_DELAY_MASK 0x00000fff00000000
  285. #define RESPONSE_END_STATUS_RESERVED_7A_OFFSET 0x0000000000000018
  286. #define RESPONSE_END_STATUS_RESERVED_7A_LSB 44
  287. #define RESPONSE_END_STATUS_RESERVED_7A_MSB 47
  288. #define RESPONSE_END_STATUS_RESERVED_7A_MASK 0x0000f00000000000
  289. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CMN_15_0_OFFSET 0x0000000000000018
  290. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CMN_15_0_LSB 48
  291. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CMN_15_0_MSB 63
  292. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CMN_15_0_MASK 0xffff000000000000
  293. #define RESPONSE_END_STATUS_TPC_DBG_INFO_31_16_OFFSET 0x0000000000000020
  294. #define RESPONSE_END_STATUS_TPC_DBG_INFO_31_16_LSB 0
  295. #define RESPONSE_END_STATUS_TPC_DBG_INFO_31_16_MSB 15
  296. #define RESPONSE_END_STATUS_TPC_DBG_INFO_31_16_MASK 0x000000000000ffff
  297. #define RESPONSE_END_STATUS_TPC_DBG_INFO_47_32_OFFSET 0x0000000000000020
  298. #define RESPONSE_END_STATUS_TPC_DBG_INFO_47_32_LSB 16
  299. #define RESPONSE_END_STATUS_TPC_DBG_INFO_47_32_MSB 31
  300. #define RESPONSE_END_STATUS_TPC_DBG_INFO_47_32_MASK 0x00000000ffff0000
  301. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_15_0_OFFSET 0x0000000000000020
  302. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_15_0_LSB 32
  303. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_15_0_MSB 47
  304. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_15_0_MASK 0x0000ffff00000000
  305. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_31_16_OFFSET 0x0000000000000020
  306. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_31_16_LSB 48
  307. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_31_16_MSB 63
  308. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_31_16_MASK 0xffff000000000000
  309. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_47_32_OFFSET 0x0000000000000028
  310. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_47_32_LSB 0
  311. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_47_32_MSB 15
  312. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_47_32_MASK 0x000000000000ffff
  313. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_63_48_OFFSET 0x0000000000000028
  314. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_63_48_LSB 16
  315. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_63_48_MSB 31
  316. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_63_48_MASK 0x00000000ffff0000
  317. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_79_64_OFFSET 0x0000000000000028
  318. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_79_64_LSB 32
  319. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_79_64_MSB 47
  320. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN1_79_64_MASK 0x0000ffff00000000
  321. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_15_0_OFFSET 0x0000000000000028
  322. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_15_0_LSB 48
  323. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_15_0_MSB 63
  324. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_15_0_MASK 0xffff000000000000
  325. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_31_16_OFFSET 0x0000000000000030
  326. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_31_16_LSB 0
  327. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_31_16_MSB 15
  328. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_31_16_MASK 0x000000000000ffff
  329. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_47_32_OFFSET 0x0000000000000030
  330. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_47_32_LSB 16
  331. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_47_32_MSB 31
  332. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_47_32_MASK 0x00000000ffff0000
  333. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_63_48_OFFSET 0x0000000000000030
  334. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_63_48_LSB 32
  335. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_63_48_MSB 47
  336. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_63_48_MASK 0x0000ffff00000000
  337. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_79_64_OFFSET 0x0000000000000030
  338. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_79_64_LSB 48
  339. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_79_64_MSB 63
  340. #define RESPONSE_END_STATUS_TPC_DBG_INFO_CHN2_79_64_MASK 0xffff000000000000
  341. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_15_0_OFFSET 0x0000000000000038
  342. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_15_0_LSB 0
  343. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_15_0_MSB 15
  344. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_15_0_MASK 0x000000000000ffff
  345. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_31_16_OFFSET 0x0000000000000038
  346. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_31_16_LSB 16
  347. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_31_16_MSB 31
  348. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_31_16_MASK 0x00000000ffff0000
  349. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_47_32_OFFSET 0x0000000000000038
  350. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_47_32_LSB 32
  351. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_47_32_MSB 47
  352. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_47_32_MASK 0x0000ffff00000000
  353. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_63_48_OFFSET 0x0000000000000038
  354. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_63_48_LSB 48
  355. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_63_48_MSB 63
  356. #define RESPONSE_END_STATUS_PHYTX_TX_END_SW_INFO_63_48_MASK 0xffff000000000000
  357. #define RESPONSE_END_STATUS_ADDR1_31_0_OFFSET 0x0000000000000040
  358. #define RESPONSE_END_STATUS_ADDR1_31_0_LSB 0
  359. #define RESPONSE_END_STATUS_ADDR1_31_0_MSB 31
  360. #define RESPONSE_END_STATUS_ADDR1_31_0_MASK 0x00000000ffffffff
  361. #define RESPONSE_END_STATUS_ADDR1_47_32_OFFSET 0x0000000000000040
  362. #define RESPONSE_END_STATUS_ADDR1_47_32_LSB 32
  363. #define RESPONSE_END_STATUS_ADDR1_47_32_MSB 47
  364. #define RESPONSE_END_STATUS_ADDR1_47_32_MASK 0x0000ffff00000000
  365. #define RESPONSE_END_STATUS_ADDR2_15_0_OFFSET 0x0000000000000040
  366. #define RESPONSE_END_STATUS_ADDR2_15_0_LSB 48
  367. #define RESPONSE_END_STATUS_ADDR2_15_0_MSB 63
  368. #define RESPONSE_END_STATUS_ADDR2_15_0_MASK 0xffff000000000000
  369. #define RESPONSE_END_STATUS_ADDR2_47_16_OFFSET 0x0000000000000048
  370. #define RESPONSE_END_STATUS_ADDR2_47_16_LSB 0
  371. #define RESPONSE_END_STATUS_ADDR2_47_16_MSB 31
  372. #define RESPONSE_END_STATUS_ADDR2_47_16_MASK 0x00000000ffffffff
  373. #define RESPONSE_END_STATUS_ADDR3_31_0_OFFSET 0x0000000000000048
  374. #define RESPONSE_END_STATUS_ADDR3_31_0_LSB 32
  375. #define RESPONSE_END_STATUS_ADDR3_31_0_MSB 63
  376. #define RESPONSE_END_STATUS_ADDR3_31_0_MASK 0xffffffff00000000
  377. #define RESPONSE_END_STATUS_ADDR3_47_32_OFFSET 0x0000000000000050
  378. #define RESPONSE_END_STATUS_ADDR3_47_32_LSB 0
  379. #define RESPONSE_END_STATUS_ADDR3_47_32_MSB 15
  380. #define RESPONSE_END_STATUS_ADDR3_47_32_MASK 0x000000000000ffff
  381. #define RESPONSE_END_STATUS_RANGING_OFFSET 0x0000000000000050
  382. #define RESPONSE_END_STATUS_RANGING_LSB 16
  383. #define RESPONSE_END_STATUS_RANGING_MSB 16
  384. #define RESPONSE_END_STATUS_RANGING_MASK 0x0000000000010000
  385. #define RESPONSE_END_STATUS_SECURE_OFFSET 0x0000000000000050
  386. #define RESPONSE_END_STATUS_SECURE_LSB 17
  387. #define RESPONSE_END_STATUS_SECURE_MSB 17
  388. #define RESPONSE_END_STATUS_SECURE_MASK 0x0000000000020000
  389. #define RESPONSE_END_STATUS_RANGING_FTM_FRAME_SENT_OFFSET 0x0000000000000050
  390. #define RESPONSE_END_STATUS_RANGING_FTM_FRAME_SENT_LSB 18
  391. #define RESPONSE_END_STATUS_RANGING_FTM_FRAME_SENT_MSB 18
  392. #define RESPONSE_END_STATUS_RANGING_FTM_FRAME_SENT_MASK 0x0000000000040000
  393. #define RESPONSE_END_STATUS_RESERVED_20A_OFFSET 0x0000000000000050
  394. #define RESPONSE_END_STATUS_RESERVED_20A_LSB 19
  395. #define RESPONSE_END_STATUS_RESERVED_20A_MSB 31
  396. #define RESPONSE_END_STATUS_RESERVED_20A_MASK 0x00000000fff80000
  397. #define RESPONSE_END_STATUS_TLV64_PADDING_OFFSET 0x0000000000000050
  398. #define RESPONSE_END_STATUS_TLV64_PADDING_LSB 32
  399. #define RESPONSE_END_STATUS_TLV64_PADDING_MSB 63
  400. #define RESPONSE_END_STATUS_TLV64_PADDING_MASK 0xffffffff00000000
  401. #endif