ipahal_reg_i.h 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef _IPAHAL_REG_I_H_
  6. #define _IPAHAL_REG_I_H_
  7. int ipahal_reg_init(enum ipa_hw_type ipa_hw_type);
  8. #define IPA_SETFIELD(val, shift, mask) (((val) << (shift)) & (mask))
  9. #define IPA_SETFIELD_IN_REG(reg, val, shift, mask) \
  10. (reg |= ((val) << (shift)) & (mask))
  11. #define IPA_GETFIELD_FROM_REG(reg, shift, mask) \
  12. (((reg) & (mask)) >> (shift))
  13. /* IPA_ROUTE register */
  14. #define IPA_ROUTE_ROUTE_DIS_SHFT 0x0
  15. #define IPA_ROUTE_ROUTE_DIS_BMSK 0x1
  16. #define IPA_ROUTE_ROUTE_DEF_PIPE_SHFT 0x1
  17. #define IPA_ROUTE_ROUTE_DEF_PIPE_BMSK 0x3e
  18. #define IPA_ROUTE_ROUTE_DEF_HDR_TABLE_SHFT 0x6
  19. #define IPA_ROUTE_ROUTE_DEF_HDR_TABLE_BMSK 0X40
  20. #define IPA_ROUTE_ROUTE_DEF_HDR_OFST_SHFT 0x7
  21. #define IPA_ROUTE_ROUTE_DEF_HDR_OFST_BMSK 0x1ff80
  22. #define IPA_ROUTE_ROUTE_FRAG_DEF_PIPE_BMSK 0x3e0000
  23. #define IPA_ROUTE_ROUTE_FRAG_DEF_PIPE_SHFT 0x11
  24. #define IPA_ROUTE_ROUTE_DEF_RETAIN_HDR_BMSK 0x1000000
  25. #define IPA_ROUTE_ROUTE_DEF_RETAIN_HDR_SHFT 0x18
  26. /* IPA_ENDP_INIT_HDR_n register */
  27. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_BMSK 0x3f
  28. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_SHFT 0x0
  29. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_VALID_BMSK 0x40
  30. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_VALID_SHFT 0x6
  31. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_SHFT 0x7
  32. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_BMSK 0x1f80
  33. #define IPA_ENDP_INIT_HDR_n_HDR_ADDITIONAL_CONST_LEN_BMSK 0x7e000
  34. #define IPA_ENDP_INIT_HDR_n_HDR_ADDITIONAL_CONST_LEN_SHFT 0xd
  35. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_VALID_BMSK 0x80000
  36. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_VALID_SHFT 0x13
  37. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_BMSK 0x3f00000
  38. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_SHFT 0x14
  39. #define IPA_ENDP_INIT_HDR_n_HDR_A5_MUX_BMSK 0x4000000
  40. #define IPA_ENDP_INIT_HDR_n_HDR_A5_MUX_SHFT 0x1a
  41. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_INC_DEAGG_HDR_BMSK 0x8000000
  42. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_INC_DEAGG_HDR_SHFT 0x1b
  43. #define IPA_ENDP_INIT_HDR_n_HDR_METADATA_REG_VALID_BMSK 0x10000000
  44. #define IPA_ENDP_INIT_HDR_n_HDR_METADATA_REG_VALID_SHFT 0x1c
  45. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_BMSK_v4_5 0x3f
  46. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_SHFT_v4_5 0x0
  47. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_VALID_BMSK_v4_5 0x40
  48. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_VALID_SHFT_v4_5 0x6
  49. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_SHFT_v4_5 0x7
  50. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_BMSK_v4_5 0x1f80
  51. #define IPA_ENDP_INIT_HDR_n_HDR_ADDITIONAL_CONST_LEN_BMSK_v4_5 0x7e000
  52. #define IPA_ENDP_INIT_HDR_n_HDR_ADDITIONAL_CONST_LEN_SHFT_v4_5 0xd
  53. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_VALID_BMSK_v4_5 0x80000
  54. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_VALID_SHFT_v4_5 0x13
  55. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_BMSK_v4_5 0x3f00000
  56. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_PKT_SIZE_SHFT_v4_5 0x14
  57. #define IPA_ENDP_INIT_HDR_n_HDR_A5_MUX_BMSK_v4_5 0x4000000
  58. #define IPA_ENDP_INIT_HDR_n_HDR_A5_MUX_SHFT_v4_5 0x1a
  59. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_INC_DEAGG_HDR_BMSK_v4_5 0x8000000
  60. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_INC_DEAGG_HDR_SHFT_v4_5 0x1b
  61. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_MSB_BMSK_v4_5 0x30000000
  62. #define IPA_ENDP_INIT_HDR_n_HDR_LEN_MSB_SHFT_v4_5 0x1c
  63. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_MSB_BMSK_v4_5 0xc0000000
  64. #define IPA_ENDP_INIT_HDR_n_HDR_OFST_METADATA_MSB_SHFT_v4_5 0x1e
  65. /* IPA_ENDP_INIT_HDR_EXT_n register */
  66. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_ENDIANNESS_BMSK 0x1
  67. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_ENDIANNESS_SHFT 0x0
  68. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_VALID_BMSK 0x2
  69. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_VALID_SHFT 0x1
  70. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_BMSK 0x4
  71. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_SHFT 0x2
  72. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_PAYLOAD_LEN_INC_PADDING_BMSK 0x8
  73. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_PAYLOAD_LEN_INC_PADDING_SHFT 0x3
  74. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_OFFSET_BMSK 0x3f0
  75. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_OFFSET_SHFT 0x4
  76. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_PAD_TO_ALIGNMENT_SHFT 0xa
  77. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_PAD_TO_ALIGNMENT_BMSK 0x3c00
  78. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_OFFSET_MSB_SHFT_v4_5 0x10
  79. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_TOTAL_LEN_OR_PAD_OFFSET_MSB_BMSK_v4_5 \
  80. 0x30000
  81. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_OFST_PKT_SIZE_MSB_SHFT_v4_5 0x12
  82. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_OFST_PKT_SIZE_MSB_BMSK_v4_5 0xC0000
  83. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_ADDITIONAL_CONST_LEN_MSB_SHFT_v4_5 0x14
  84. #define IPA_ENDP_INIT_HDR_EXT_n_HDR_ADDITIONAL_CONST_LEN_MSB_BMSK_v4_5 0x300000
  85. /* IPA_ENDP_INIT_AGGR_n register */
  86. #define IPA_ENDP_INIT_AGGR_n_AGGR_HARD_BYTE_LIMIT_ENABLE_BMSK 0x1000000
  87. #define IPA_ENDP_INIT_AGGR_n_AGGR_HARD_BYTE_LIMIT_ENABLE_SHFT 0x18
  88. #define IPA_ENDP_INIT_AGGR_n_AGGR_FORCE_CLOSE_BMSK 0x400000
  89. #define IPA_ENDP_INIT_AGGR_n_AGGR_FORCE_CLOSE_SHFT 0x16
  90. #define IPA_ENDP_INIT_AGGR_n_AGGR_SW_EOF_ACTIVE_BMSK 0x200000
  91. #define IPA_ENDP_INIT_AGGR_n_AGGR_SW_EOF_ACTIVE_SHFT 0x15
  92. #define IPA_ENDP_INIT_AGGR_n_AGGR_PKT_LIMIT_BMSK 0x1f8000
  93. #define IPA_ENDP_INIT_AGGR_n_AGGR_PKT_LIMIT_SHFT 0xf
  94. #define IPA_ENDP_INIT_AGGR_n_AGGR_TIME_LIMIT_BMSK 0x7c00
  95. #define IPA_ENDP_INIT_AGGR_n_AGGR_TIME_LIMIT_SHFT 0xa
  96. #define IPA_ENDP_INIT_AGGR_n_AGGR_BYTE_LIMIT_BMSK 0x3e0
  97. #define IPA_ENDP_INIT_AGGR_n_AGGR_BYTE_LIMIT_SHFT 0x5
  98. #define IPA_ENDP_INIT_AGGR_n_AGGR_TYPE_BMSK 0x1c
  99. #define IPA_ENDP_INIT_AGGR_n_AGGR_TYPE_SHFT 0x2
  100. #define IPA_ENDP_INIT_AGGR_n_AGGR_EN_BMSK 0x3
  101. #define IPA_ENDP_INIT_AGGR_n_AGGR_EN_SHFT 0x0
  102. #define IPA_ENDP_INIT_AGGR_n_AGGR_GRAN_SEL_BMSK_V4_5 0x8000000
  103. #define IPA_ENDP_INIT_AGGR_n_AGGR_GRAN_SEL_SHFT_V4_5 27
  104. #define IPA_ENDP_INIT_AGGR_n_AGGR_HARD_BYTE_LIMIT_ENABLE_BMSK_V4_5 0x4000000
  105. #define IPA_ENDP_INIT_AGGR_n_AGGR_HARD_BYTE_LIMIT_ENABLE_SHFT_V4_5 26
  106. #define IPA_ENDP_INIT_AGGR_n_AGGR_FORCE_CLOSE_BMSK_V4_5 0x1000000
  107. #define IPA_ENDP_INIT_AGGR_n_AGGR_FORCE_CLOSE_SHFT_V4_5 24
  108. #define IPA_ENDP_INIT_AGGR_n_AGGR_SW_EOF_ACTIVE_BMSK_V4_5 0x800000
  109. #define IPA_ENDP_INIT_AGGR_n_AGGR_SW_EOF_ACTIVE_SHFT_V4_5 23
  110. #define IPA_ENDP_INIT_AGGR_n_AGGR_PKT_LIMIT_BMSK_V4_5 0x7e0000
  111. #define IPA_ENDP_INIT_AGGR_n_AGGR_PKT_LIMIT_SHFT_V4_5 17
  112. #define IPA_ENDP_INIT_AGGR_n_AGGR_TIME_LIMIT_BMSK_V4_5 0x1f000
  113. #define IPA_ENDP_INIT_AGGR_n_AGGR_TIME_LIMIT_SHFT_V4_5 12
  114. #define IPA_ENDP_INIT_AGGR_n_AGGR_BYTE_LIMIT_BMSK_V4_5 0x7e0
  115. #define IPA_ENDP_INIT_AGGR_n_AGGR_BYTE_LIMIT_SHFT_V4_5 5
  116. #define IPA_ENDP_INIT_AGGR_n_AGGR_TYPE_BMSK_V4_5 0x1c
  117. #define IPA_ENDP_INIT_AGGR_n_AGGR_TYPE_SHFT_V4_5 2
  118. #define IPA_ENDP_INIT_AGGR_n_AGGR_EN_BMSK_V4_5 0x3
  119. #define IPA_ENDP_INIT_AGGR_n_AGGR_EN_SHFT_V4_5 0
  120. /* IPA_AGGR_FORCE_CLOSE register */
  121. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_BMSK 0x3fffffff
  122. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_SHFT 0
  123. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_BMSK_V3_5 0xfffff
  124. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_SHFT_V3_5 0
  125. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_BMSK_V4_0 0x7fffff
  126. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_SHFT_V4_0 0
  127. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_BMSK_V4_2 0x1ffff
  128. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_SHFT_V4_2 0
  129. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_BMSK_V4_5 0x7fffffff
  130. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_SHFT_V4_5 0
  131. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_BMSK_V4_7 0x7fffff
  132. #define IPA_AGGR_FORCE_CLOSE_AGGR_FORCE_CLOSE_PIPE_BITMAP_SHFT_V4_7 0
  133. /* IPA_ENDP_INIT_ROUTE_n register */
  134. #define IPA_ENDP_INIT_ROUTE_n_ROUTE_TABLE_INDEX_BMSK 0x1f
  135. #define IPA_ENDP_INIT_ROUTE_n_ROUTE_TABLE_INDEX_SHFT 0x0
  136. /* IPA_ENDP_INIT_MODE_n register */
  137. #define IPA_ENDP_INIT_MODE_n_HDR_FTCH_DISABLE_BMSK 0x40000000
  138. #define IPA_ENDP_INIT_MODE_n_HDR_FTCH_DISABLE_SHFT 0x1e
  139. #define IPA_ENDP_INIT_MODE_n_PAD_EN_BMSK 0x20000000
  140. #define IPA_ENDP_INIT_MODE_n_PAD_EN_SHFT 0x1d
  141. #define IPA_ENDP_INIT_MODE_n_PIPE_REPLICATION_EN_BMSK 0x10000000
  142. #define IPA_ENDP_INIT_MODE_n_PIPE_REPLICATION_EN_SHFT 0x1c
  143. #define IPA_ENDP_INIT_MODE_n_BYTE_THRESHOLD_BMSK 0xffff000
  144. #define IPA_ENDP_INIT_MODE_n_BYTE_THRESHOLD_SHFT 0xc
  145. #define IPA_ENDP_INIT_MODE_n_DEST_PIPE_INDEX_BMSK 0x1f0
  146. #define IPA_ENDP_INIT_MODE_n_DEST_PIPE_INDEX_SHFT 0x4
  147. #define IPA_ENDP_INIT_MODE_n_MODE_BMSK 0x7
  148. #define IPA_ENDP_INIT_MODE_n_MODE_SHFT 0x0
  149. #define IPA_ENDP_INIT_MODE_n_PAD_EN_BMSK_V4_5 0x20000000
  150. #define IPA_ENDP_INIT_MODE_n_PAD_EN_SHFT_V4_5 0x1d
  151. #define IPA_ENDP_INIT_MODE_n_PIPE_REPLICATION_EN_BMSK_V4_5 0x10000000
  152. #define IPA_ENDP_INIT_MODE_n_PIPE_REPLICATION_EN_SHFT_V4_5 0x1c
  153. #define IPA_ENDP_INIT_MODE_n_BYTE_THRESHOLD_BMSK_V4_5 0xffff000
  154. #define IPA_ENDP_INIT_MODE_n_BYTE_THRESHOLD_SHFT_V4_5 0xc
  155. #define IPA_ENDP_INIT_MODE_n_DEST_PIPE_INDEX_BMSK_V4_5 0x1f0
  156. #define IPA_ENDP_INIT_MODE_n_DEST_PIPE_INDEX_SHFT_V4_5 0x4
  157. #define IPA_ENDP_INIT_MODE_n_DCPH_ENABLE_BMSK_V4_5 0x8
  158. #define IPA_ENDP_INIT_MODE_n_DCPH_ENABLE_SHFT_V4_5 0x3
  159. #define IPA_ENDP_INIT_MODE_n_MODE_BMSK_V4_5 0x7
  160. #define IPA_ENDP_INIT_MODE_n_MODE_SHFT_V4_5 0x0
  161. /* IPA_ENDP_INIT_NAT_n register */
  162. #define IPA_ENDP_INIT_NAT_n_NAT_EN_BMSK 0x3
  163. #define IPA_ENDP_INIT_NAT_n_NAT_EN_SHFT 0x0
  164. /* IPA_ENDP_INIT_CONN_TRACK_n register */
  165. #define IPA_ENDP_INIT_CONN_TRACK_n_CONN_TRACK_EN_BMSK 0x1
  166. #define IPA_ENDP_INIT_CONN_TRACK_n_CONN_TRACK_EN_SHFT 0x0
  167. /* IPA_ENDP_INIT_CTRL_n register */
  168. #define IPA_ENDP_INIT_CTRL_n_ENDP_SUSPEND_BMSK 0x1
  169. #define IPA_ENDP_INIT_CTRL_n_ENDP_SUSPEND_SHFT 0x0
  170. #define IPA_ENDP_INIT_CTRL_n_ENDP_DELAY_BMSK 0x2
  171. #define IPA_ENDP_INIT_CTRL_n_ENDP_DELAY_SHFT 0x1
  172. /* IPA_ENDP_INIT_CTRL_SCND_n register */
  173. #define IPA_ENDP_INIT_CTRL_SCND_n_ENDP_DELAY_BMSK 0x2
  174. #define IPA_ENDP_INIT_CTRL_SCND_n_ENDP_DELAY_SHFT 0x1
  175. /* IPA_ENDP_INIT_HOL_BLOCK_EN_n register */
  176. #define IPA_ENDP_INIT_HOL_BLOCK_EN_n_RMSK 0x1
  177. #define IPA_ENDP_INIT_HOL_BLOCK_EN_n_MAX 19
  178. #define IPA_ENDP_INIT_HOL_BLOCK_EN_n_MAX_V_4_0 22
  179. #define IPA_ENDP_INIT_HOL_BLOCK_EN_n_EN_BMSK 0x1
  180. #define IPA_ENDP_INIT_HOL_BLOCK_EN_n_EN_SHFT 0x0
  181. /* IPA_ENDP_INIT_HOL_BLOCK_TIMER_n register */
  182. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_TIMER_BMSK 0xffffffff
  183. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_TIMER_SHFT 0x0
  184. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_BASE_VALUE_SHFT_V_4_2 0
  185. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_BASE_VALUE_BMSK_V_4_2 0x1f
  186. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_SCALE_SHFT_V_4_2 0x8
  187. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_SCALE_BMSK_V_4_2 0x1f00
  188. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_TIME_LIMIT_BMSK_V4_5 0x1F
  189. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_TIME_LIMIT_SHFT_V4_5 0
  190. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_GRAN_SEL_BMSK_V4_5 0x100
  191. #define IPA_ENDP_INIT_HOL_BLOCK_TIMER_n_GRAN_SEL_SHFT_V4_5 8
  192. /* IPA_ENDP_INIT_DEAGGR_n register */
  193. #define IPA_ENDP_INIT_DEAGGR_n_MAX_PACKET_LEN_BMSK 0xFFFF0000
  194. #define IPA_ENDP_INIT_DEAGGR_n_MAX_PACKET_LEN_SHFT 0x10
  195. #define IPA_ENDP_INIT_DEAGGR_n_PACKET_OFFSET_LOCATION_BMSK 0x3F00
  196. #define IPA_ENDP_INIT_DEAGGR_n_PACKET_OFFSET_LOCATION_SHFT 0x8
  197. #define IPA_ENDP_INIT_DEAGGR_n_PACKET_OFFSET_VALID_BMSK 0x80
  198. #define IPA_ENDP_INIT_DEAGGR_n_PACKET_OFFSET_VALID_SHFT 0x7
  199. #define IPA_ENDP_INIT_DEAGGR_n_DEAGGR_HDR_LEN_BMSK 0x3F
  200. #define IPA_ENDP_INIT_DEAGGR_n_DEAGGR_HDR_LEN_SHFT 0x0
  201. /* IPA_IPA_ENDP_INIT_SEQ_n register */
  202. #define IPA_ENDP_INIT_SEQ_n_DPS_REP_SEQ_TYPE_BMSK 0xf000
  203. #define IPA_ENDP_INIT_SEQ_n_DPS_REP_SEQ_TYPE_SHFT 0xc
  204. #define IPA_ENDP_INIT_SEQ_n_HPS_REP_SEQ_TYPE_BMSK 0xf00
  205. #define IPA_ENDP_INIT_SEQ_n_HPS_REP_SEQ_TYPE_SHFT 0x8
  206. #define IPA_ENDP_INIT_SEQ_n_DPS_SEQ_TYPE_BMSK 0xf0
  207. #define IPA_ENDP_INIT_SEQ_n_DPS_SEQ_TYPE_SHFT 0x4
  208. #define IPA_ENDP_INIT_SEQ_n_HPS_SEQ_TYPE_BMSK 0xf
  209. #define IPA_ENDP_INIT_SEQ_n_HPS_SEQ_TYPE_SHFT 0x0
  210. /* IPA_DEBUG_CNT_REG_m register */
  211. #define IPA_DEBUG_CNT_REG_N_RMSK 0xffffffff
  212. #define IPA_DEBUG_CNT_REG_N_MAX 15
  213. #define IPA_DEBUG_CNT_REG_N_DBG_CNT_REG_BMSK 0xffffffff
  214. #define IPA_DEBUG_CNT_REG_N_DBG_CNT_REG_SHFT 0x0
  215. /* IPA_ENDP_INIT_CFG_n register */
  216. #define IPA_ENDP_INIT_CFG_n_CS_GEN_QMB_MASTER_SEL_BMSK 0x100
  217. #define IPA_ENDP_INIT_CFG_n_CS_GEN_QMB_MASTER_SEL_SHFT 0x8
  218. #define IPA_ENDP_INIT_CFG_n_CS_METADATA_HDR_OFFSET_BMSK 0x78
  219. #define IPA_ENDP_INIT_CFG_n_CS_METADATA_HDR_OFFSET_SHFT 0x3
  220. #define IPA_ENDP_INIT_CFG_n_CS_OFFLOAD_EN_BMSK 0x6
  221. #define IPA_ENDP_INIT_CFG_n_CS_OFFLOAD_EN_SHFT 0x1
  222. #define IPA_ENDP_INIT_CFG_n_FRAG_OFFLOAD_EN_BMSK 0x1
  223. #define IPA_ENDP_INIT_CFG_n_FRAG_OFFLOAD_EN_SHFT 0x0
  224. /* IPA_ENDP_INIT_HDR_METADATA_MASK_n register */
  225. #define IPA_ENDP_INIT_HDR_METADATA_MASK_n_METADATA_MASK_BMSK 0xffffffff
  226. #define IPA_ENDP_INIT_HDR_METADATA_MASK_n_METADATA_MASK_SHFT 0x0
  227. /* IPA_IPA_ENDP_INIT_HDR_METADATA_n register */
  228. #define IPA_ENDP_INIT_HDR_METADATA_n_METADATA_BMSK 0xffffffff
  229. #define IPA_ENDP_INIT_HDR_METADATA_n_METADATA_SHFT 0x0
  230. /* IPA_ENDP_INIT_RSRC_GRP_n register */
  231. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_BMSK 0x7
  232. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_SHFT 0
  233. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_BMSK_v3_5 0x3
  234. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_SHFT_v3_5 0
  235. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_BMSK_v4_5 0x7
  236. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_SHFT_v4_5 0
  237. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_BMSK_v4_9 0x3
  238. #define IPA_ENDP_INIT_RSRC_GRP_n_RSRC_GRP_SHFT_v4_9 0
  239. /* IPA_SHARED_MEM_SIZE register */
  240. #define IPA_SHARED_MEM_SIZE_SHARED_MEM_BADDR_BMSK 0xffff0000
  241. #define IPA_SHARED_MEM_SIZE_SHARED_MEM_BADDR_SHFT 0x10
  242. #define IPA_SHARED_MEM_SIZE_SHARED_MEM_SIZE_BMSK 0xffff
  243. #define IPA_SHARED_MEM_SIZE_SHARED_MEM_SIZE_SHFT 0x0
  244. /* IPA_DEBUG_CNT_CTRL_n register */
  245. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_RULE_INDEX_PIPE_RULE_BMSK 0x10000000
  246. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_RULE_INDEX_PIPE_RULE_SHFT 0x1c
  247. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_RULE_INDEX_BMSK 0x0ff00000
  248. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_RULE_INDEX_BMSK_V3_5 0x1ff00000
  249. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_RULE_INDEX_SHFT 0x14
  250. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_SOURCE_PIPE_BMSK 0x1f000
  251. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_SOURCE_PIPE_SHFT 0xc
  252. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_PRODUCT_BMSK 0x100
  253. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_PRODUCT_SHFT 0x8
  254. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_TYPE_BMSK 0x70
  255. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_TYPE_SHFT 0x4
  256. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_EN_BMSK 0x1
  257. #define IPA_DEBUG_CNT_CTRL_n_DBG_CNT_EN_SHFT 0x0
  258. /* IPA_FILT_ROUT_HASH_FLUSH register */
  259. #define IPA_FILT_ROUT_HASH_FLUSH_IPv4_FILT_SHFT 12
  260. #define IPA_FILT_ROUT_HASH_FLUSH_IPv4_ROUT_SHFT 8
  261. #define IPA_FILT_ROUT_HASH_FLUSH_IPv6_FILT_SHFT 4
  262. #define IPA_FILT_ROUT_HASH_FLUSH_IPv6_ROUT_SHFT 0
  263. /* IPA_SINGLE_NDP_MODE register */
  264. #define IPA_SINGLE_NDP_MODE_UNDEFINED_BMSK 0xfffffffe
  265. #define IPA_SINGLE_NDP_MODE_UNDEFINED_SHFT 0x1
  266. #define IPA_SINGLE_NDP_MODE_SINGLE_NDP_EN_BMSK 0x1
  267. #define IPA_SINGLE_NDP_MODE_SINGLE_NDP_EN_SHFT 0
  268. /* IPA_QCNCM register */
  269. #define IPA_QCNCM_MODE_UNDEFINED2_BMSK 0xf0000000
  270. #define IPA_QCNCM_MODE_UNDEFINED2_SHFT 0x1c
  271. #define IPA_QCNCM_MODE_VAL_BMSK 0xffffff0
  272. #define IPA_QCNCM_MODE_VAL_SHFT 0x4
  273. #define IPA_QCNCM_UNDEFINED1_BMSK 0xe
  274. #define IPA_QCNCM_UNDEFINED1_SHFT 0x1
  275. #define IPA_QCNCM_MODE_EN_BMSK 0x1
  276. #define IPA_QCNCM_MODE_EN_SHFT 0
  277. /* IPA_ENDP_STATUS_n register */
  278. #define IPA_ENDP_STATUS_n_STATUS_PKT_SUPPRESS_BMSK 0x200
  279. #define IPA_ENDP_STATUS_n_STATUS_PKT_SUPPRESS_SHFT 0x9
  280. #define IPA_ENDP_STATUS_n_STATUS_LOCATION_BMSK 0x100
  281. #define IPA_ENDP_STATUS_n_STATUS_LOCATION_SHFT 0x8
  282. #define IPA_ENDP_STATUS_n_STATUS_ENDP_BMSK 0x3e
  283. #define IPA_ENDP_STATUS_n_STATUS_ENDP_SHFT 0x1
  284. #define IPA_ENDP_STATUS_n_STATUS_EN_BMSK 0x1
  285. #define IPA_ENDP_STATUS_n_STATUS_EN_SHFT 0x0
  286. /* IPA_CLKON_CFG register */
  287. #define IPA_CLKON_CFG_CGC_OPEN_DPL_FIFO_BMSK_V4_5 0x40000000
  288. #define IPA_CLKON_CFG_CGC_OPEN_DPL_FIFO_SHFT_V4_5 30
  289. #define IPA_CLKON_CFG_OPEN_GLOBAL_2X_CLK_BMSK 0x20000000
  290. #define IPA_CLKON_CFG_OPEN_GLOBAL_2X_CLK_SHFT 29
  291. #define IPA_CLKON_CFG_OPEN_GLOBAL_BMSK 0x10000000
  292. #define IPA_CLKON_CFG_OPEN_GLOBAL_SHFT 28
  293. #define IPA_CLKON_CFG_OPEN_GSI_IF_BMSK 0x8000000
  294. #define IPA_CLKON_CFG_OPEN_GSI_IF_SHFT 27
  295. #define IPA_CLKON_CFG_OPEN_WEIGHT_ARB_SHFT 26
  296. #define IPA_CLKON_CFG_OPEN_WEIGHT_ARB_BMSK 0x4000000
  297. #define IPA_CLKON_CFG_OPEN_QMB_SHFT 25
  298. #define IPA_CLKON_CFG_OPEN_QMB_BMSK 0x2000000
  299. #define IPA_CLKON_CFG_OPEN_RAM_SLAVEWAY_SHFT 24
  300. #define IPA_CLKON_CFG_OPEN_RAM_SLAVEWAY_BMSK 0x1000000
  301. #define IPA_CLKON_CFG_OPEN_AGGR_WRAPPER_SHFT 23
  302. #define IPA_CLKON_CFG_OPEN_AGGR_WRAPPER_BMSK 0x800000
  303. #define IPA_CLKON_CFG_OPEN_QSB2AXI_CMDQ_L_SHFT 22
  304. #define IPA_CLKON_CFG_OPEN_QSB2AXI_CMDQ_L_BMSK 0x400000
  305. #define IPA_CLKON_CFG_OPEN_FNR_SHFT 21
  306. #define IPA_CLKON_CFG_OPEN_FNR_BMSK 0x200000
  307. #define IPA_CLKON_CFG_OPEN_TX_1_SHFT 20
  308. #define IPA_CLKON_CFG_OPEN_TX_1_BMSK 0x100000
  309. #define IPA_CLKON_CFG_OPEN_TX_0_SHFT 19
  310. #define IPA_CLKON_CFG_OPEN_TX_0_BMSK 0x80000
  311. #define IPA_CLKON_CFG_OPEN_NTF_TX_CMDQS_SHFT 18
  312. #define IPA_CLKON_CFG_OPEN_NTF_TX_CMDQS_BMSK 0x40000
  313. #define IPA_CLKON_CFG_OPEN_DCMP_SHFT 17
  314. #define IPA_CLKON_CFG_OPEN_DCMP_BMSK 0x20000
  315. #define IPA_CLKON_CFG_OPEN_H_DCPH_SHFT 16
  316. #define IPA_CLKON_CFG_OPEN_H_DCPH_BMSK 0x10000
  317. #define IPA_CLKON_CFG_OPEN_D_DCPH_SHFT 15
  318. #define IPA_CLKON_CFG_OPEN_D_DCPH_BMSK 0x8000
  319. #define IPA_CLKON_CFG_OPEN_ACK_MNGR_SHFT 14
  320. #define IPA_CLKON_CFG_OPEN_ACK_MNGR_BMSK 0x4000
  321. #define IPA_CLKON_CFG_OPEN_CTX_HANDLER_SHFT 13
  322. #define IPA_CLKON_CFG_OPEN_CTX_HANDLER_BMSK 0x2000
  323. #define IPA_CLKON_CFG_OPEN_RSRC_MNGR_SHFT 12
  324. #define IPA_CLKON_CFG_OPEN_RSRC_MNGR_BMSK 0x1000
  325. #define IPA_CLKON_CFG_OPEN_DPS_TX_CMDQS_SHFT 11
  326. #define IPA_CLKON_CFG_OPEN_DPS_TX_CMDQS_BMSK 0x800
  327. #define IPA_CLKON_CFG_OPEN_HPS_DPS_CMDQS_SHFT 10
  328. #define IPA_CLKON_CFG_OPEN_HPS_DPS_CMDQS_BMSK 0x400
  329. #define IPA_CLKON_CFG_OPEN_RX_HPS_CMDQS_SHFT 9
  330. #define IPA_CLKON_CFG_OPEN_RX_HPS_CMDQS_BMSK 0x200
  331. #define IPA_CLKON_CFG_OPEN_DPS_SHFT 8
  332. #define IPA_CLKON_CFG_OPEN_DPS_BMSK 0x100
  333. #define IPA_CLKON_CFG_OPEN_HPS_SHFT 7
  334. #define IPA_CLKON_CFG_OPEN_HPS_BMSK 0x80
  335. #define IPA_CLKON_CFG_OPEN_FTCH_DPS_SHFT 6
  336. #define IPA_CLKON_CFG_OPEN_FTCH_DPS_BMSK 0x40
  337. #define IPA_CLKON_CFG_OPEN_FTCH_HPS_SHFT 5
  338. #define IPA_CLKON_CFG_OPEN_FTCH_HPS_BMSK 0x20
  339. #define IPA_CLKON_CFG_OPEN_RAM_ARB_SHFT 4
  340. #define IPA_CLKON_CFG_OPEN_RAM_ARB_BMSK 0x10
  341. #define IPA_CLKON_CFG_OPEN_MISC_SHFT 3
  342. #define IPA_CLKON_CFG_OPEN_MISC_BMSK 0x8
  343. #define IPA_CLKON_CFG_OPEN_TX_WRAPPER_SHFT 2
  344. #define IPA_CLKON_CFG_OPEN_TX_WRAPPER_BMSK 0x4
  345. #define IPA_CLKON_CFG_OPEN_PROC_SHFT 1
  346. #define IPA_CLKON_CFG_OPEN_PROC_BMSK 0x2
  347. #define IPA_CLKON_CFG_OPEN_RX_BMSK 0x1
  348. #define IPA_CLKON_CFG_OPEN_RX_SHFT 0
  349. /* IPA_QTIME_TIMESTAMP_CFG register */
  350. #define IPA_QTIME_TIMESTAMP_CFG_DPL_TIMESTAMP_LSB_SHFT 0
  351. #define IPA_QTIME_TIMESTAMP_CFG_DPL_TIMESTAMP_LSB_BMSK 0x1F
  352. #define IPA_QTIME_TIMESTAMP_CFG_DPL_TIMESTAMP_SEL_SHFT 7
  353. #define IPA_QTIME_TIMESTAMP_CFG_DPL_TIMESTAMP_SEL_BMSK 0x80
  354. #define IPA_QTIME_TIMESTAMP_CFG_TAG_TIMESTAMP_LSB_SHFT 8
  355. #define IPA_QTIME_TIMESTAMP_CFG_TAG_TIMESTAMP_LSB_BMSK 0x1F00
  356. #define IPA_QTIME_TIMESTAMP_CFG_NAT_TIMESTAMP_LSB_SHFT 16
  357. #define IPA_QTIME_TIMESTAMP_CFG_NAT_TIMESTAMP_LSB_BMSK 0x1F0000
  358. /* IPA_TIMERS_PULSE_GRAN_CFG register */
  359. #define IPA_TIMERS_PULSE_GRAN_CFG_GRAN_X_SHFT(x) (3 * (x))
  360. #define IPA_TIMERS_PULSE_GRAN_CFG_GRAN_X_BMSK(x) (0x7 << (3 * (x)))
  361. /* IPA_TIMERS_XO_CLK_DIV_CFG register */
  362. #define IPA_TIMERS_XO_CLK_DIV_CFG_VALUE_SHFT 0
  363. #define IPA_TIMERS_XO_CLK_DIV_CFG_VALUE_BMSK 0x1FF
  364. #define IPA_TIMERS_XO_CLK_DIV_CFG_ENABLE_SHFT 31
  365. #define IPA_TIMERS_XO_CLK_DIV_CFG_ENABLE_BMSK 0x80000000
  366. /* IPA_ENDP_FILTER_ROUTER_HSH_CFG_n register */
  367. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_SRC_ID_SHFT 0
  368. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_SRC_ID_BMSK 0x1
  369. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_SRC_IP_SHFT 1
  370. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_SRC_IP_BMSK 0x2
  371. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_DST_IP_SHFT 2
  372. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_DST_IP_BMSK 0x4
  373. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_SRC_PORT_SHFT 3
  374. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_SRC_PORT_BMSK 0x8
  375. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_DST_PORT_SHFT 4
  376. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_DST_PORT_BMSK 0x10
  377. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_PROTOCOL_SHFT 5
  378. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_PROTOCOL_BMSK 0x20
  379. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_METADATA_SHFT 6
  380. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_FILTER_HASH_MSK_METADATA_BMSK 0x40
  381. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_UNDEFINED1_SHFT 7
  382. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_UNDEFINED1_BMSK 0xff80
  383. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_SRC_ID_SHFT 16
  384. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_SRC_ID_BMSK 0x10000
  385. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_SRC_IP_SHFT 17
  386. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_SRC_IP_BMSK 0x20000
  387. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_DST_IP_SHFT 18
  388. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_DST_IP_BMSK 0x40000
  389. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_SRC_PORT_SHFT 19
  390. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_SRC_PORT_BMSK 0x80000
  391. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_DST_PORT_SHFT 20
  392. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_DST_PORT_BMSK 0x100000
  393. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_PROTOCOL_SHFT 21
  394. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_PROTOCOL_BMSK 0x200000
  395. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_METADATA_SHFT 22
  396. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_ROUTER_HASH_MSK_METADATA_BMSK 0x400000
  397. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_UNDEFINED2_SHFT 23
  398. #define IPA_ENDP_FILTER_ROUTER_HSH_CFG_n_UNDEFINED2_BMSK 0xff800000
  399. /* IPA_RSRC_GRP_XY_RSRC_TYPE_n register */
  400. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MAX_LIM_BMSK 0xFF000000
  401. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MAX_LIM_SHFT 24
  402. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MIN_LIM_BMSK 0xFF0000
  403. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MIN_LIM_SHFT 16
  404. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MAX_LIM_BMSK 0xFF00
  405. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MAX_LIM_SHFT 8
  406. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MIN_LIM_BMSK 0xFF
  407. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MIN_LIM_SHFT 0
  408. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MAX_LIM_BMSK_V3_5 0x3F000000
  409. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MAX_LIM_SHFT_V3_5 24
  410. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MIN_LIM_BMSK_V3_5 0x3F0000
  411. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_Y_MIN_LIM_SHFT_V3_5 16
  412. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MAX_LIM_BMSK_V3_5 0x3F00
  413. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MAX_LIM_SHFT_V3_5 8
  414. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MIN_LIM_BMSK_V3_5 0x3F
  415. #define IPA_RSRC_GRP_XY_RSRC_TYPE_n_X_MIN_LIM_SHFT_V3_5 0
  416. /* IPA_RX_HPS_CLIENTS_MIN/MAX_DEPTH_0/1 registers */
  417. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_X_CLIENT_n_BMSK(n) (0x7F << (8 * (n)))
  418. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_X_CLIENT_n_BMSK_V3_5(n) \
  419. (0xF << (8 * (n)))
  420. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_X_CLIENT_n_SHFT(n) (8 * (n))
  421. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_4_BMSK_v4_5 0xF0000000
  422. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_4_SHFT_v4_5 28
  423. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_3_BMSK_v4_5 0xF000000
  424. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_3_SHFT_v4_5 24
  425. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_2_BMSK_v4_5 0xF0000
  426. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_2_SHFT_v4_5 16
  427. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_1_BMSK_v4_5 0xF00
  428. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_1_SHFT_v4_5 8
  429. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_0_BMSK_v4_5 0xF
  430. #define IPA_RX_HPS_CLIENTS_MINMAX_DEPTH_0_CLIENT_0_SHFT_v4_5 0
  431. /* IPA_QSB_MAX_WRITES register */
  432. #define IPA_QSB_MAX_WRITES_GEN_QMB_0_MAX_WRITES_BMSK (0xf)
  433. #define IPA_QSB_MAX_WRITES_GEN_QMB_0_MAX_WRITES_SHFT (0)
  434. #define IPA_QSB_MAX_WRITES_GEN_QMB_1_MAX_WRITES_BMSK (0xf0)
  435. #define IPA_QSB_MAX_WRITES_GEN_QMB_1_MAX_WRITES_SHFT (4)
  436. /* IPA_QSB_MAX_READS register */
  437. #define IPA_QSB_MAX_READS_GEN_QMB_0_MAX_READS_BMSK (0xf)
  438. #define IPA_QSB_MAX_READS_GEN_QMB_0_MAX_READS_SHFT (0)
  439. #define IPA_QSB_MAX_READS_GEN_QMB_1_MAX_READS_BMSK (0xf0)
  440. #define IPA_QSB_MAX_READS_GEN_QMB_1_MAX_READS_SHFT (4)
  441. /* IPA_QSB_MAX_READS_BEATS register */
  442. #define IPA_QSB_MAX_READS_GEN_QMB_0_MAX_READS_BEATS_BMSK_V4_0 (0xff0000)
  443. #define IPA_QSB_MAX_READS_GEN_QMB_0_MAX_READS_BEATS_SHFT_V4_0 (0x10)
  444. #define IPA_QSB_MAX_READS_GEN_QMB_1_MAX_READS_BEATS_BMSK_V4_0 (0xff000000)
  445. #define IPA_QSB_MAX_READS_GEN_QMB_1_MAX_READS_BEATS_SHFT_V4_0 (0x18)
  446. /* IPA_TX_CFG register */
  447. #define IPA_TX_CFG_TX0_PREFETCH_DISABLE_BMSK_V3_5 (0x1)
  448. #define IPA_TX_CFG_TX0_PREFETCH_DISABLE_SHFT_V3_5 (0)
  449. #define IPA_TX_CFG_TX1_PREFETCH_DISABLE_BMSK_V3_5 (0x2)
  450. #define IPA_TX_CFG_TX1_PREFETCH_DISABLE_SHFT_V3_5 (1)
  451. #define IPA_TX_CFG_PREFETCH_ALMOST_EMPTY_SIZE_BMSK_V3_5 (0x1C)
  452. #define IPA_TX_CFG_PREFETCH_ALMOST_EMPTY_SIZE_SHFT_V3_5 (2)
  453. #define IPA_TX_CFG_SSPND_PA_NO_START_STATE_BMSK_V4_9 (0x40000)
  454. #define IPA_TX_CFG_SSPND_PA_NO_START_STATE_SHFT_V4_9 (0x12)
  455. #define IPA_TX_CFG_DUAL_TX_ENABLE_BMSK_V4_5 (0x20000)
  456. #define IPA_TX_CFG_DUAL_TX_ENABLE_SHFT_V4_5 (0x11)
  457. #define IPA_TX_CFG_PREFETCH_ALMOST_EMPTY_SIZE_TX1_BMSK_V4_0 (0x1e000)
  458. #define IPA_TX_CFG_PREFETCH_ALMOST_EMPTY_SIZE_TX1_SHFT_V4_0 (0xd)
  459. #define IPA_TX_CFG_PA_MASK_EN_BMSK_V4_0 (0x1000)
  460. #define IPA_TX_CFG_PA_MASK_EN_SHFT_V4_0 (0xc)
  461. #define IPA_TX_CFG_DMAW_SCND_OUTSD_PRED_EN_BMSK_V4_0 (0x800)
  462. #define IPA_TX_CFG_DMAW_SCND_OUTSD_PRED_EN_SHFT_V4_0 (0xb)
  463. #define IPA_TX_CFG_DMAW_MAX_BEATS_256_DIS_BMSK_V4_0 (0x400)
  464. #define IPA_TX_CFG_DMAW_MAX_BEATS_256_DIS_SHFT_V4_0 (0xa)
  465. #define IPA_TX_CFG_DMAW_SCND_OUTSD_PRED_THRESHOLD_BMSK_V4_0 (0x3c0)
  466. #define IPA_TX_CFG_DMAW_SCND_OUTSD_PRED_THRESHOLD_SHFT_V4_0 (0x6)
  467. #define IPA_TX_CFG_PREFETCH_ALMOST_EMPTY_SIZE_TX0_BMSK_V4_0 (0x3c)
  468. #define IPA_TX_CFG_PREFETCH_ALMOST_EMPTY_SIZE_TX0_SHFT_V4_0 (0x2)
  469. /* IPA_IDLE_INDICATION_CFG regiser */
  470. #define IPA_IDLE_INDICATION_CFG_ENTER_IDLE_DEBOUNCE_THRESH_BMSK_V3_5 (0xffff)
  471. #define IPA_IDLE_INDICATION_CFG_ENTER_IDLE_DEBOUNCE_THRESH_SHFT_V3_5 (0)
  472. #define IPA_IDLE_INDICATION_CFG_CONST_NON_IDLE_ENABLE_BMSK_V3_5 (0x10000)
  473. #define IPA_IDLE_INDICATION_CFG_CONST_NON_IDLE_ENABLE_SHFT_V3_5 (16)
  474. /* IPA_HPS_FTCH_QUEUE_WEIGHT register */
  475. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_0_BMSK (0xf)
  476. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_0_SHFT (0x0)
  477. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_1_BMSK (0xf0)
  478. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_1_SHFT (0x4)
  479. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_2_BMSK (0xf00)
  480. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_2_SHFT (0x8)
  481. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_3_BMSK (0xf000)
  482. #define IPA_HPS_FTCH_ARB_QUEUE_WEIGHTS_RX_HPS_QUEUE_WEIGHT_3_SHFT (0xc)
  483. /* IPA_COUNTER_CFG register */
  484. #define IPA_COUNTER_CFG_AGGR_GRANULARITY_BMSK (0x1f0)
  485. #define IPA_COUNTER_CFG_AGGR_GRANULARITY_SHFT (0x4)
  486. /* IPA_COMP_CFG register*/
  487. #define IPA_COMP_CFG_IPA_ATOMIC_FETCHER_ARB_LOCK_DIS_BMSK 0x1E0000
  488. #define IPA_COMP_CFG_IPA_ATOMIC_FETCHER_ARB_LOCK_DIS_SHFT 17
  489. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_GLOBAL_EN_BMSK 0x10000
  490. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_GLOBAL_EN_SHFT 16
  491. #define IPA_COMP_CFG_GSI_MULTI_AXI_MASTERS_DIS_BMSK 0x8000
  492. #define IPA_COMP_CFG_GSI_MULTI_AXI_MASTERS_DIS_SHFT 15
  493. #define IPA_COMP_CFG_GSI_SNOC_CNOC_LOOP_PROTECTION_DISABLE_BMSK 0x4000
  494. #define IPA_COMP_CFG_GSI_SNOC_CNOC_LOOP_PROTECTION_DISABLE_SHFT 14
  495. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_CNOC_LOOP_PROTECTION_DISABLE_BMSK 0x2000
  496. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_CNOC_LOOP_PROTECTION_DISABLE_SHFT 13
  497. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_WR_DIS_BMSK 0x1000
  498. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_WR_DIS_SHFT 12
  499. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_WR_DIS_BMSK 0x800
  500. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_WR_DIS_SHFT 11
  501. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_RD_DIS_BMSK 0x400
  502. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_RD_DIS_SHFT 10
  503. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_RD_DIS_BMSK 0x200
  504. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_RD_DIS_SHFT 9
  505. #define IPA_COMP_CFG_GSI_MULTI_INORDER_WR_DIS_BMSK 0x100
  506. #define IPA_COMP_CFG_GSI_MULTI_INORDER_WR_DIS_SHFT 8
  507. #define IPA_COMP_CFG_GSI_MULTI_INORDER_RD_DIS_BMSK 0x80
  508. #define IPA_COMP_CFG_GSI_MULTI_INORDER_RD_DIS_SHFT 7
  509. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_PROD_EN_BMSK 0x40
  510. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_PROD_EN_SHFT 6
  511. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_CONS_EN_BMSK 0x20
  512. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_CONS_EN_SHFT 5
  513. #define IPA_COMP_CFG_IPA_DCMP_FAST_CLK_EN_BMSK 0x10
  514. #define IPA_COMP_CFG_IPA_DCMP_FAST_CLK_EN_SHFT 4
  515. #define IPA_COMP_CFG_GEN_QMB_1_SNOC_BYPASS_DIS_BMSK 0x8
  516. #define IPA_COMP_CFG_GEN_QMB_1_SNOC_BYPASS_DIS_SHFT 3
  517. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_BYPASS_DIS_BMSK 0x4
  518. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_BYPASS_DIS_SHFT 2
  519. #define IPA_COMP_CFG_GSI_SNOC_BYPASS_DIS_BMSK 0x2
  520. #define IPA_COMP_CFG_GSI_SNOC_BYPASS_DIS_SHFT 1
  521. #define IPA_COMP_CFG_ENABLE_BMSK 0x1
  522. #define IPA_COMP_CFG_ENABLE_SHFT 0
  523. #define IPA_COMP_CFG_IPA_FULL_FLUSH_WAIT_RSC_CLOSURE_EN_BMSK_v4_5 0x200000
  524. #define IPA_COMP_CFG_IPA_FULL_FLUSH_WAIT_RSC_CLOSURE_EN_SHFT_v4_5 21
  525. #define IPA_COMP_CFG_IPA_ATOMIC_FETCHER_ARB_LOCK_DIS_BMSK_v4_5 0x1E0000
  526. #define IPA_COMP_CFG_IPA_ATOMIC_FETCHER_ARB_LOCK_DIS_SHFT_v4_5 17
  527. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_GLOBAL_EN_BMSK_v4_5 0x10000
  528. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_GLOBAL_EN_SHFT_v4_5 16
  529. #define IPA_COMP_CFG_GSI_MULTI_AXI_MASTERS_DIS_BMSK_v4_5 0x8000
  530. #define IPA_COMP_CFG_GSI_MULTI_AXI_MASTERS_DIS_SHFT_v4_5 15
  531. #define IPA_COMP_CFG_GSI_SNOC_CNOC_LOOP_PROTECTION_DISABLE_BMSK_v4_5 0x4000
  532. #define IPA_COMP_CFG_GSI_SNOC_CNOC_LOOP_PROTECTION_DISABLE_SHFT_v4_5 14
  533. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_CNOC_LOOP_PROTECTION_DISABLE_BMSK_v4_5 \
  534. 0x2000
  535. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_CNOC_LOOP_PROTECTION_DISABLE_SHFT_v4_5 13
  536. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_WR_DIS_BMSK_v4_5 0x1000
  537. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_WR_DIS_SHFT_v4_5 12
  538. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_WR_DIS_BMSK_v4_5 0x800
  539. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_WR_DIS_SHFT_v4_5 11
  540. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_RD_DIS_BMSK_v4_5 0x400
  541. #define IPA_COMP_CFG_GEN_QMB_1_MULTI_INORDER_RD_DIS_SHFT_v4_5 10
  542. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_RD_DIS_BMSK_v4_5 0x200
  543. #define IPA_COMP_CFG_GEN_QMB_0_MULTI_INORDER_RD_DIS_SHFT_v4_5 9
  544. #define IPA_COMP_CFG_GSI_MULTI_INORDER_WR_DIS_BMSK_v4_5 0x100
  545. #define IPA_COMP_CFG_GSI_MULTI_INORDER_WR_DIS_SHFT_v4_5 8
  546. #define IPA_COMP_CFG_GSI_MULTI_INORDER_RD_DIS_BMSK_v4_5 0x80
  547. #define IPA_COMP_CFG_GSI_MULTI_INORDER_RD_DIS_SHFT_v4_5 7
  548. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_PROD_EN_BMSK_v4_5 0x40
  549. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_PROD_EN_SHFT_v4_5 6
  550. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_CONS_EN_BMSK_v4_5 0x20
  551. #define IPA_COMP_CFG_IPA_QMB_SELECT_BY_ADDRESS_CONS_EN_SHFT_v4_5 5
  552. #define IPA_COMP_CFG_GEN_QMB_1_SNOC_BYPASS_DIS_BMSK_v4_5 0x8
  553. #define IPA_COMP_CFG_GEN_QMB_1_SNOC_BYPASS_DIS_SHFT_v4_5 3
  554. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_BYPASS_DIS_BMSK_v4_5 0x4
  555. #define IPA_COMP_CFG_GEN_QMB_0_SNOC_BYPASS_DIS_SHFT_v4_5 2
  556. #define IPA_COMP_CFG_GSI_SNOC_BYPASS_DIS_BMSK_v4_5 0x2
  557. #define IPA_COMP_CFG_GSI_SNOC_BYPASS_DIS_SHFT_v4_5 1
  558. /*IPA 4.9*/
  559. #define IPA_COMP_CFG_GEN_QMB_0_DYNAMIC_ASIZE_BMSK_v4_9 0x80000000
  560. #define IPA_COMP_CFG_GEN_QMB_0_DYNAMIC_ASIZE_SHFT_v4_9 31
  561. #define IPA_COMP_CFG_GEN_QMB_1_DYNAMIC_ASIZE_BMSK_v4_9 0x40000000
  562. #define IPA_COMP_CFG_GEN_QMB_1_DYNAMIC_ASIZE_SHFT_v4_9 30
  563. #define IPA_COMP_CFG_IPA_ATOMIC_FETCHER_ARB_LOCK_DIS_BMSK_v4_9 0x1C00000
  564. #define IPA_COMP_CFG_IPA_ATOMIC_FETCHER_ARB_LOCK_DIS_SHFT_v4_9 22
  565. #define IPA_COMP_CFG_GSI_IF_OUT_OF_BUF_STOP_RESET_MASK_ENABLE_BMSK_v4_9 0x200000
  566. #define IPA_COMP_CFG_GSI_IF_OUT_OF_BUF_STOP_RESET_MASK_ENABLE_SHFT_v4_9 21
  567. #define IPA_COMP_CFG_GENQMB_AOOOWR_BMSK_v4_9 0x100000
  568. #define IPA_COMP_CFG_GENQMB_AOOOWR_SHFT_v4_9 20
  569. #define IPA_COMP_CFG_QMB_RAM_RD_CACHE_DISABLE_BMSK_v4_9 0x80000
  570. #define IPA_COMP_CFG_QMB_RAM_RD_CACHE_DISABLE_SHFT_v4_9 19
  571. #define IPA_COMP_CFG_IPA_FULL_FLUSH_WAIT_RSC_CLOSURE_EN_BMSK_v4_9 0x20000
  572. #define IPA_COMP_CFG_IPA_FULL_FLUSH_WAIT_RSC_CLOSURE_EN_SHFT_v4_9 17
  573. #define IPA_COMP_CFG_RAM_ARB_PRIORITY_CLIENT_SAMP_FIX_DISABLE_BMSK_v4_9 0x1
  574. #define IPA_COMP_CFG_RAM_ARB_PRIORITY_CLIENT_SAMP_FIX_DISABLE_SHFT_v4_9 0
  575. /* IPA_COAL registers*/
  576. #define IPA_STATE_COAL_MASTER_VP_TIMER_EXPIRED_BMSK 0xF0000000
  577. #define IPA_STATE_COAL_MASTER_VP_TIMER_EXPIRED_SHFT 28
  578. #define IPA_STATE_COAL_MASTER_LRU_VP_BMSK 0xF000000
  579. #define IPA_STATE_COAL_MASTER_LRU_VP_SHFT 24
  580. #define IPA_STATE_COAL_MASTER_INIT_VP_FSM_STATE_BMSK 0xF00000
  581. #define IPA_STATE_COAL_MASTER_INIT_VP_FSM_STATE_SHFT 20
  582. #define IPA_STATE_COAL_MASTER_CHECK_FIR_FSM_STATE_BMSK 0xF0000
  583. #define IPA_STATE_COAL_MASTER_CHECK_FIR_FSM_STATE_SHFT 16
  584. #define IPA_STATE_COAL_MASTER_HASH_CALC_FSM_STATE_BMSK 0xF000
  585. #define IPA_STATE_COAL_MASTER_HASH_CALC_FSM_STATE_SHFT 12
  586. #define IPA_STATE_COAL_MASTER_FIND_OPEN_FSM_STATE_BMSK 0xF00
  587. #define IPA_STATE_COAL_MASTER_FIND_OPEN_FSM_STATE_SHFT 8
  588. #define IPA_STATE_COAL_MASTER_MAIN_FSM_STATE_BMSK 0xF0
  589. #define IPA_STATE_COAL_MASTER_MAIN_FSM_STATE_SHFT 4
  590. #define IPA_STATE_COAL_MASTER_VP_VLD_BMSK 0xF0
  591. #define IPA_STATE_COAL_MASTER_VP_VLD_SHFT 0
  592. #define IPA_COAL_VP_LRU_THRSHLD_BMSK 0x3E
  593. #define IPA_COAL_VP_LRU_THRSHLD_SHFT 1
  594. #define IPA_COAL_EVICTION_EN_BMSK 0x1
  595. #define IPA_COAL_EVICTION_EN_SHFT 0
  596. #define IPA_COAL_QMAP_CFG_BMSK 0x1
  597. #define IPA_COAL_QMAP_CFG_SHFT 0
  598. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_OPEN_FRAME_BMSK 0xf0000000
  599. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_OPEN_FRAME_SHFT 0x1f
  600. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_CTX_IDLE_BMSK 0x100000
  601. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_CTX_IDLE_SHFT 0x10
  602. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_IDLE_BMSK 0x8000
  603. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_IDLE_SHFT 0xf
  604. #define IPA_STATE_TX_WRAPPER_COAL_DIRECT_DMA_BMSK 0x6000
  605. #define IPA_STATE_TX_WRAPPER_COAL_DIRECT_DMA_SHFT 0xd
  606. #define IPA_STATE_TX_WRAPPER_NLO_DIRECT_DMA_BMSK 0x1800
  607. #define IPA_STATE_TX_WRAPPER_NLO_DIRECT_DMA_SHFT 0xb
  608. #define IPA_STATE_TX_WRAPPER_PKT_DROP_CNT_IDLE_BMSK 0x400
  609. #define IPA_STATE_TX_WRAPPER_PKT_DROP_CNT_IDLE_SHFT 0xa
  610. #define IPA_STATE_TX_WRAPPER_TRNSEQ_FORCE_VALID_BMSK 0x200
  611. #define IPA_STATE_TX_WRAPPER_TRNSEQ_FORCE_VALID_SHFT 0x9
  612. #define IPA_STATE_TX_WRAPPER_MBIM_DIRECT_DMA_BMSK 0x180
  613. #define IPA_STATE_TX_WRAPPER_MBIM_DIRECT_DMA_SHFT 0x7
  614. #define IPA_STATE_TX_WRAPPER_IPA_MBIM_PKT_FMS_IDLE_BMSK 0x40
  615. #define IPA_STATE_TX_WRAPPER_IPA_MBIM_PKT_FMS_IDLE_SHFT 0x6
  616. #define IPA_STATE_TX_WRAPPER_IPA_PROD_BRESP_TOGGLE_IDLE_BMSK 0x20
  617. #define IPA_STATE_TX_WRAPPER_IPA_PROD_BRESP_TOGGLE_IDLE_SHFT 0x5
  618. #define IPA_STATE_TX_WRAPPER_IPA_PROD_BRESP_EMPTY_BMSK 0x10
  619. #define IPA_STATE_TX_WRAPPER_IPA_PROD_BRESP_EMPTY_SHFT 0x4
  620. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_STATE_IDLE_BMSK 0x8
  621. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_STATE_IDLE_SHFT 0x3
  622. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_DB_EMPTY_BMSK 0x4
  623. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_DB_EMPTY_SHFT 0x2
  624. #define IPA_STATE_TX_WRAPPER_TX1_IDLE_BMSK 0x2
  625. #define IPA_STATE_TX_WRAPPER_TX1_IDLE_SHFT 0x1
  626. #define IPA_STATE_TX_WRAPPER_TX0_IDLE_BMSK 0x1
  627. #define IPA_STATE_TX_WRAPPER_TX0_IDLE_SHFT 0x0
  628. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_OPEN_FRAME_BMSK_v4_7 0xf0000000
  629. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_OPEN_FRAME_SHFT_v4_7 28
  630. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_CTX_IDLE_BMSK_v4_7 0x80000
  631. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_CTX_IDLE_SHFT_v4_7 19
  632. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_IDLE_BMSK_v4_7 0x40000
  633. #define IPA_STATE_TX_WRAPPER_COAL_SLAVE_IDLE_SHFT_v4_7 18
  634. #define IPA_STATE_TX_WRAPPER_IPA_PROD_BRESP_EMPTY_BMSK_v4_7 0x10
  635. #define IPA_STATE_TX_WRAPPER_IPA_PROD_BRESP_EMPTY_SHFT_v4_7 4
  636. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_STATE_IDLE_BMSK_v4_7 0x8
  637. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_STATE_IDLE_SHFT_v4_7 3
  638. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_DB_EMPTY_BMSK_v4_7 0x4
  639. #define IPA_STATE_TX_WRAPPER_IPA_PROD_ACKMNGR_DB_EMPTY_SHFT_v4_7 2
  640. #define IPA_STATE_TX_WRAPPER_TX1_IDLE_BMSK_v4_7 0x2
  641. #define IPA_STATE_TX_WRAPPER_TX1_IDLE_SHFT_v4_7 1
  642. #define IPA_STATE_TX_WRAPPER_TX0_IDLE_BMSK_v4_7 0x1
  643. #define IPA_STATE_TX_WRAPPER_TX0_IDLE_SHFT_v4_7 0
  644. #endif /* _IPAHAL_REG_I_H_ */