ar9888def.h 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. /*
  2. * Copyright (c) 2011-2016, 2018 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 _AR9888DEF_H_
  19. #define _AR9888DEF_H_
  20. /* Base Addresses */
  21. #define AR9888_RTC_SOC_BASE_ADDRESS 0x00004000
  22. #define AR9888_RTC_WMAC_BASE_ADDRESS 0x00005000
  23. #define AR9888_MAC_COEX_BASE_ADDRESS 0x00006000
  24. #define AR9888_BT_COEX_BASE_ADDRESS 0x00007000
  25. #define AR9888_SOC_PCIE_BASE_ADDRESS 0x00008000
  26. #define AR9888_SOC_CORE_BASE_ADDRESS 0x00009000
  27. #define AR9888_WLAN_UART_BASE_ADDRESS 0x0000c000
  28. #define AR9888_WLAN_SI_BASE_ADDRESS 0x00010000
  29. #define AR9888_WLAN_GPIO_BASE_ADDRESS 0x00014000
  30. #define AR9888_WLAN_ANALOG_INTF_BASE_ADDRESS 0x0001c000
  31. #define AR9888_WLAN_MAC_BASE_ADDRESS 0x00020000
  32. #define AR9888_EFUSE_BASE_ADDRESS 0x00030000
  33. #define AR9888_FPGA_REG_BASE_ADDRESS 0x00039000
  34. #define AR9888_WLAN_UART2_BASE_ADDRESS 0x00054c00
  35. #if defined(HIF_PCI) || defined(HIF_SNOC) || defined(HIF_AHB)
  36. #define AR9888_CE_WRAPPER_BASE_ADDRESS 0x00057000
  37. #define AR9888_CE0_BASE_ADDRESS 0x00057400
  38. #define AR9888_CE1_BASE_ADDRESS 0x00057800
  39. #define AR9888_CE2_BASE_ADDRESS 0x00057c00
  40. #define AR9888_CE3_BASE_ADDRESS 0x00058000
  41. #define AR9888_CE4_BASE_ADDRESS 0x00058400
  42. #define AR9888_CE5_BASE_ADDRESS 0x00058800
  43. #define AR9888_CE6_BASE_ADDRESS 0x00058c00
  44. #define AR9888_CE7_BASE_ADDRESS 0x00059000
  45. #define AR9888_WLAN_ANALOG_INTF_PCIE_BASE_ADDRESS 0x0006c000
  46. #define AR9888_CE_CTRL1_ADDRESS 0x0010
  47. #define AR9888_CE_CTRL1_DMAX_LENGTH_MASK 0x0000ffff
  48. #define AR9888_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS 0x0000
  49. #define AR9888_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK 0x0000ff00
  50. #define AR9888_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB 8
  51. #define AR9888_CE_CTRL1_DMAX_LENGTH_LSB 0
  52. #define AR9888_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK 0x00010000
  53. #define AR9888_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK 0x00020000
  54. #define AR9888_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB 16
  55. #define AR9888_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB 17
  56. #define AR9888_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_MASK 0x00000004
  57. #define AR9888_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_LSB 2
  58. #define AR9888_PCIE_SOC_WAKE_RESET 0x00000000
  59. #define AR9888_PCIE_SOC_WAKE_ADDRESS 0x0004
  60. #define AR9888_PCIE_SOC_WAKE_V_MASK 0x00000001
  61. #define AR9888_PCIE_INTR_ENABLE_ADDRESS 0x0008
  62. #define AR9888_PCIE_INTR_CLR_ADDRESS 0x0014
  63. #define AR9888_PCIE_INTR_FIRMWARE_MASK 0x00000400
  64. #define AR9888_PCIE_INTR_CE0_MASK 0x00000800
  65. #define AR9888_PCIE_INTR_CE_MASK_ALL 0x0007f800
  66. #define AR9888_PCIE_INTR_CAUSE_ADDRESS 0x000c
  67. #define AR9888_MUX_ID_MASK 0x0000
  68. #define AR9888_TRANSACTION_ID_MASK 0x3fff
  69. #define AR9888_PCIE_LOCAL_BASE_ADDRESS 0x80000
  70. #define AR9888_SOC_RESET_CONTROL_CE_RST_MASK 0x00040000
  71. #define AR9888_PCIE_INTR_CE_MASK(n) (AR9888_PCIE_INTR_CE0_MASK << (n))
  72. #endif
  73. #define AR9888_DBI_BASE_ADDRESS 0x00060000
  74. #define AR9888_SCRATCH_3_ADDRESS 0x0030
  75. #define AR9888_TARG_DRAM_START 0x00400000
  76. #define AR9888_SOC_SYSTEM_SLEEP_OFFSET 0x000000c4
  77. #define AR9888_SOC_RESET_CONTROL_OFFSET 0x00000000
  78. #define AR9888_SOC_CLOCK_CONTROL_OFFSET 0x00000028
  79. #define AR9888_SOC_CLOCK_CONTROL_SI0_CLK_MASK 0x00000001
  80. #define AR9888_SOC_RESET_CONTROL_SI0_RST_MASK 0x00000001
  81. #define AR9888_WLAN_GPIO_BASE_ADDRESS 0x00014000
  82. #define AR9888_WLAN_GPIO_PIN0_ADDRESS 0x00000028
  83. #define AR9888_WLAN_GPIO_PIN1_ADDRESS 0x0000002c
  84. #define AR9888_WLAN_GPIO_PIN0_CONFIG_MASK 0x00007800
  85. #define AR9888_WLAN_GPIO_PIN1_CONFIG_MASK 0x00007800
  86. #define AR9888_WLAN_SI_BASE_ADDRESS 0x00010000
  87. #define AR9888_SOC_CPU_CLOCK_OFFSET 0x00000020
  88. #define AR9888_SOC_LPO_CAL_OFFSET 0x000000e0
  89. #define AR9888_WLAN_GPIO_PIN10_ADDRESS 0x00000050
  90. #define AR9888_WLAN_GPIO_PIN11_ADDRESS 0x00000054
  91. #define AR9888_WLAN_GPIO_PIN12_ADDRESS 0x00000058
  92. #define AR9888_WLAN_GPIO_PIN13_ADDRESS 0x0000005c
  93. #define AR9888_SOC_CPU_CLOCK_STANDARD_LSB 0
  94. #define AR9888_SOC_CPU_CLOCK_STANDARD_MASK 0x00000003
  95. #define AR9888_SOC_LPO_CAL_ENABLE_LSB 20
  96. #define AR9888_SOC_LPO_CAL_ENABLE_MASK 0x00100000
  97. #define AR9888_WLAN_ANALOG_INTF_BASE_ADDRESS 0x0001c000
  98. #define AR9888_WLAN_SYSTEM_SLEEP_DISABLE_LSB 0
  99. #define AR9888_WLAN_SYSTEM_SLEEP_DISABLE_MASK 0x00000001
  100. #define AR9888_WLAN_RESET_CONTROL_COLD_RST_MASK 0x00000008
  101. #define AR9888_WLAN_RESET_CONTROL_WARM_RST_MASK 0x00000004
  102. #define AR9888_SI_CONFIG_BIDIR_OD_DATA_LSB 18
  103. #define AR9888_SI_CONFIG_BIDIR_OD_DATA_MASK 0x00040000
  104. #define AR9888_SI_CONFIG_I2C_LSB 16
  105. #define AR9888_SI_CONFIG_I2C_MASK 0x00010000
  106. #define AR9888_SI_CONFIG_POS_SAMPLE_LSB 7
  107. #define AR9888_SI_CONFIG_POS_SAMPLE_MASK 0x00000080
  108. #define AR9888_SI_CONFIG_INACTIVE_CLK_LSB 4
  109. #define AR9888_SI_CONFIG_INACTIVE_CLK_MASK 0x00000010
  110. #define AR9888_SI_CONFIG_INACTIVE_DATA_LSB 5
  111. #define AR9888_SI_CONFIG_INACTIVE_DATA_MASK 0x00000020
  112. #define AR9888_SI_CONFIG_DIVIDER_LSB 0
  113. #define AR9888_SI_CONFIG_DIVIDER_MASK 0x0000000f
  114. #define AR9888_SI_CONFIG_OFFSET 0x00000000
  115. #define AR9888_SI_TX_DATA0_OFFSET 0x00000008
  116. #define AR9888_SI_TX_DATA1_OFFSET 0x0000000c
  117. #define AR9888_SI_RX_DATA0_OFFSET 0x00000010
  118. #define AR9888_SI_RX_DATA1_OFFSET 0x00000014
  119. #define AR9888_SI_CS_OFFSET 0x00000004
  120. #define AR9888_SI_CS_DONE_ERR_MASK 0x00000400
  121. #define AR9888_SI_CS_DONE_INT_MASK 0x00000200
  122. #define AR9888_SI_CS_START_LSB 8
  123. #define AR9888_SI_CS_START_MASK 0x00000100
  124. #define AR9888_SI_CS_RX_CNT_LSB 4
  125. #define AR9888_SI_CS_RX_CNT_MASK 0x000000f0
  126. #define AR9888_SI_CS_TX_CNT_LSB 0
  127. #define AR9888_SI_CS_TX_CNT_MASK 0x0000000f
  128. #define AR9888_CE_COUNT 8
  129. #define AR9888_SR_WR_INDEX_ADDRESS 0x003c
  130. #define AR9888_DST_WATERMARK_ADDRESS 0x0050
  131. #define AR9888_RX_MSDU_END_4_FIRST_MSDU_LSB 14
  132. #define AR9888_RX_MSDU_END_4_FIRST_MSDU_MASK 0x00004000
  133. #define AR9888_RX_MPDU_START_0_SEQ_NUM_LSB 16
  134. #define AR9888_RX_MPDU_START_0_SEQ_NUM_MASK 0x0fff0000
  135. #define AR9888_RX_MPDU_START_2_PN_47_32_LSB 0
  136. #define AR9888_RX_MPDU_START_2_PN_47_32_MASK 0x0000ffff
  137. #define AR9888_RX_MSDU_END_1_KEY_ID_OCT_MASK 0x000000ff
  138. #define AR9888_RX_MSDU_END_1_KEY_ID_OCT_LSB 0
  139. #define AR9888_RX_MSDU_END_1_EXT_WAPI_PN_63_48_LSB 16
  140. #define AR9888_RX_MSDU_END_1_EXT_WAPI_PN_63_48_MASK 0xffff0000
  141. #define AR9888_RX_MSDU_END_4_LAST_MSDU_LSB 15
  142. #define AR9888_RX_MSDU_END_4_LAST_MSDU_MASK 0x00008000
  143. #define AR9888_RX_ATTENTION_0_MCAST_BCAST_LSB 2
  144. #define AR9888_RX_ATTENTION_0_MCAST_BCAST_MASK 0x00000004
  145. #define AR9888_RX_ATTENTION_0_FRAGMENT_LSB 13
  146. #define AR9888_RX_ATTENTION_0_FRAGMENT_MASK 0x00002000
  147. #define AR9888_RX_ATTENTION_0_MPDU_LENGTH_ERR_MASK 0x08000000
  148. #define AR9888_RX_FRAG_INFO_0_RING2_MORE_COUNT_LSB 16
  149. #define AR9888_RX_FRAG_INFO_0_RING2_MORE_COUNT_MASK 0x00ff0000
  150. #define AR9888_RX_MSDU_START_0_MSDU_LENGTH_LSB 0
  151. #define AR9888_RX_MSDU_START_0_MSDU_LENGTH_MASK 0x00003fff
  152. #define AR9888_RX_MSDU_START_2_DECAP_FORMAT_OFFSET 0x00000008
  153. #define AR9888_RX_MSDU_START_2_DECAP_FORMAT_LSB 8
  154. #define AR9888_RX_MSDU_START_2_DECAP_FORMAT_MASK 0x00000300
  155. #define AR9888_RX_MPDU_START_0_ENCRYPTED_LSB 13
  156. #define AR9888_RX_MPDU_START_0_ENCRYPTED_MASK 0x00002000
  157. #define AR9888_RX_ATTENTION_0_MORE_DATA_MASK 0x00000400
  158. #define AR9888_RX_ATTENTION_0_MSDU_DONE_MASK 0x80000000
  159. #define AR9888_RX_ATTENTION_0_TCP_UDP_CHKSUM_FAIL_MASK 0x00040000
  160. #define AR9888_DST_WR_INDEX_ADDRESS 0x0040
  161. #define AR9888_SRC_WATERMARK_ADDRESS 0x004c
  162. #define AR9888_SRC_WATERMARK_LOW_MASK 0xffff0000
  163. #define AR9888_SRC_WATERMARK_HIGH_MASK 0x0000ffff
  164. #define AR9888_DST_WATERMARK_LOW_MASK 0xffff0000
  165. #define AR9888_DST_WATERMARK_HIGH_MASK 0x0000ffff
  166. #define AR9888_CURRENT_SRRI_ADDRESS 0x0044
  167. #define AR9888_CURRENT_DRRI_ADDRESS 0x0048
  168. #define AR9888_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK 0x00000002
  169. #define AR9888_HOST_IS_SRC_RING_LOW_WATERMARK_MASK 0x00000004
  170. #define AR9888_HOST_IS_DST_RING_HIGH_WATERMARK_MASK 0x00000008
  171. #define AR9888_HOST_IS_DST_RING_LOW_WATERMARK_MASK 0x00000010
  172. #define AR9888_HOST_IS_ADDRESS 0x0030
  173. #define AR9888_HOST_IS_COPY_COMPLETE_MASK 0x00000001
  174. #define AR9888_HOST_IE_ADDRESS 0x002c
  175. #define AR9888_HOST_IE_COPY_COMPLETE_MASK 0x00000001
  176. #define AR9888_SR_BA_ADDRESS 0x0000
  177. #define AR9888_SR_SIZE_ADDRESS 0x0004
  178. #define AR9888_DR_BA_ADDRESS 0x0008
  179. #define AR9888_DR_SIZE_ADDRESS 0x000c
  180. #define AR9888_MISC_IE_ADDRESS 0x0034
  181. #define AR9888_MISC_IS_AXI_ERR_MASK 0x00000400
  182. #define AR9888_MISC_IS_DST_ADDR_ERR_MASK 0x00000200
  183. #define AR9888_MISC_IS_SRC_LEN_ERR_MASK 0x00000100
  184. #define AR9888_MISC_IS_DST_MAX_LEN_VIO_MASK 0x00000080
  185. #define AR9888_MISC_IS_DST_RING_OVERFLOW_MASK 0x00000040
  186. #define AR9888_MISC_IS_SRC_RING_OVERFLOW_MASK 0x00000020
  187. #define AR9888_SRC_WATERMARK_LOW_LSB 16
  188. #define AR9888_SRC_WATERMARK_HIGH_LSB 0
  189. #define AR9888_DST_WATERMARK_LOW_LSB 16
  190. #define AR9888_DST_WATERMARK_HIGH_LSB 0
  191. #define AR9888_SOC_GLOBAL_RESET_ADDRESS 0x0008
  192. #define AR9888_RTC_STATE_ADDRESS 0x0000
  193. #define AR9888_RTC_STATE_COLD_RESET_MASK 0x00000400
  194. #define AR9888_RTC_STATE_V_MASK 0x00000007
  195. #define AR9888_RTC_STATE_V_LSB 0
  196. #define AR9888_RTC_STATE_V_ON 3
  197. #define AR9888_FW_IND_EVENT_PENDING 1
  198. #define AR9888_FW_IND_INITIALIZED 2
  199. #define AR9888_CPU_INTR_ADDRESS 0x0010
  200. #define AR9888_SOC_LF_TIMER_CONTROL0_ADDRESS 0x00000050
  201. #define AR9888_SOC_LF_TIMER_CONTROL0_ENABLE_MASK 0x00000004
  202. #define AR9888_SOC_LF_TIMER_STATUS0_ADDRESS 0x00000054
  203. #define AR9888_SOC_RESET_CONTROL_ADDRESS 0x00000000
  204. #define AR9888_SOC_RESET_CONTROL_CPU_WARM_RST_MASK 0x00000040
  205. #define AR9888_CORE_CTRL_ADDRESS 0x0000
  206. #define AR9888_CORE_CTRL_CPU_INTR_MASK 0x00002000
  207. #define AR9888_LOCAL_SCRATCH_OFFSET 0x18
  208. #define AR9888_CLOCK_GPIO_OFFSET 0xffffffff
  209. #define AR9888_CLOCK_GPIO_BT_CLK_OUT_EN_LSB 0
  210. #define AR9888_CLOCK_GPIO_BT_CLK_OUT_EN_MASK 0
  211. #define AR9888_FW_EVENT_PENDING_ADDRESS \
  212. (AR9888_SOC_CORE_BASE_ADDRESS + AR9888_SCRATCH_3_ADDRESS)
  213. #define AR9888_DRAM_BASE_ADDRESS AR9888_TARG_DRAM_START
  214. #define AR9888_FW_INDICATOR_ADDRESS \
  215. (AR9888_SOC_CORE_BASE_ADDRESS + AR9888_SCRATCH_3_ADDRESS)
  216. #define AR9888_SYSTEM_SLEEP_OFFSET AR9888_SOC_SYSTEM_SLEEP_OFFSET
  217. #define AR9888_WLAN_SYSTEM_SLEEP_OFFSET AR9888_SOC_SYSTEM_SLEEP_OFFSET
  218. #define AR9888_WLAN_RESET_CONTROL_OFFSET AR9888_SOC_RESET_CONTROL_OFFSET
  219. #define AR9888_CLOCK_CONTROL_OFFSET AR9888_SOC_CLOCK_CONTROL_OFFSET
  220. #define AR9888_CLOCK_CONTROL_SI0_CLK_MASK AR9888_SOC_CLOCK_CONTROL_SI0_CLK_MASK
  221. #define AR9888_RESET_CONTROL_MBOX_RST_MASK MISSING
  222. #define AR9888_RESET_CONTROL_SI0_RST_MASK AR9888_SOC_RESET_CONTROL_SI0_RST_MASK
  223. #define AR9888_GPIO_BASE_ADDRESS AR9888_WLAN_GPIO_BASE_ADDRESS
  224. #define AR9888_GPIO_PIN0_OFFSET AR9888_WLAN_GPIO_PIN0_ADDRESS
  225. #define AR9888_GPIO_PIN1_OFFSET AR9888_WLAN_GPIO_PIN1_ADDRESS
  226. #define AR9888_GPIO_PIN0_CONFIG_MASK AR9888_WLAN_GPIO_PIN0_CONFIG_MASK
  227. #define AR9888_GPIO_PIN1_CONFIG_MASK AR9888_WLAN_GPIO_PIN1_CONFIG_MASK
  228. #define AR9888_SI_BASE_ADDRESS AR9888_WLAN_SI_BASE_ADDRESS
  229. #define AR9888_SCRATCH_BASE_ADDRESS AR9888_SOC_CORE_BASE_ADDRESS
  230. #define AR9888_CPU_CLOCK_OFFSET AR9888_SOC_CPU_CLOCK_OFFSET
  231. #define AR9888_LPO_CAL_OFFSET AR9888_SOC_LPO_CAL_OFFSET
  232. #define AR9888_GPIO_PIN10_OFFSET AR9888_WLAN_GPIO_PIN10_ADDRESS
  233. #define AR9888_GPIO_PIN11_OFFSET AR9888_WLAN_GPIO_PIN11_ADDRESS
  234. #define AR9888_GPIO_PIN12_OFFSET AR9888_WLAN_GPIO_PIN12_ADDRESS
  235. #define AR9888_GPIO_PIN13_OFFSET AR9888_WLAN_GPIO_PIN13_ADDRESS
  236. #define AR9888_CPU_CLOCK_STANDARD_LSB AR9888_SOC_CPU_CLOCK_STANDARD_LSB
  237. #define AR9888_CPU_CLOCK_STANDARD_MASK AR9888_SOC_CPU_CLOCK_STANDARD_MASK
  238. #define AR9888_LPO_CAL_ENABLE_LSB AR9888_SOC_LPO_CAL_ENABLE_LSB
  239. #define AR9888_LPO_CAL_ENABLE_MASK AR9888_SOC_LPO_CAL_ENABLE_MASK
  240. #define AR9888_ANALOG_INTF_BASE_ADDRESS AR9888_WLAN_ANALOG_INTF_BASE_ADDRESS
  241. #define AR9888_MBOX_BASE_ADDRESS MISSING
  242. #define AR9888_INT_STATUS_ENABLE_ERROR_LSB MISSING
  243. #define AR9888_INT_STATUS_ENABLE_ERROR_MASK MISSING
  244. #define AR9888_INT_STATUS_ENABLE_CPU_LSB MISSING
  245. #define AR9888_INT_STATUS_ENABLE_CPU_MASK MISSING
  246. #define AR9888_INT_STATUS_ENABLE_COUNTER_LSB MISSING
  247. #define AR9888_INT_STATUS_ENABLE_COUNTER_MASK MISSING
  248. #define AR9888_INT_STATUS_ENABLE_MBOX_DATA_LSB MISSING
  249. #define AR9888_INT_STATUS_ENABLE_MBOX_DATA_MASK MISSING
  250. #define AR9888_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB MISSING
  251. #define AR9888_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK MISSING
  252. #define AR9888_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB MISSING
  253. #define AR9888_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK MISSING
  254. #define AR9888_COUNTER_INT_STATUS_ENABLE_BIT_LSB MISSING
  255. #define AR9888_COUNTER_INT_STATUS_ENABLE_BIT_MASK MISSING
  256. #define AR9888_INT_STATUS_ENABLE_ADDRESS MISSING
  257. #define AR9888_CPU_INT_STATUS_ENABLE_BIT_LSB MISSING
  258. #define AR9888_CPU_INT_STATUS_ENABLE_BIT_MASK MISSING
  259. #define AR9888_HOST_INT_STATUS_ADDRESS MISSING
  260. #define AR9888_CPU_INT_STATUS_ADDRESS MISSING
  261. #define AR9888_ERROR_INT_STATUS_ADDRESS MISSING
  262. #define AR9888_ERROR_INT_STATUS_WAKEUP_MASK MISSING
  263. #define AR9888_ERROR_INT_STATUS_WAKEUP_LSB MISSING
  264. #define AR9888_ERROR_INT_STATUS_RX_UNDERFLOW_MASK MISSING
  265. #define AR9888_ERROR_INT_STATUS_RX_UNDERFLOW_LSB MISSING
  266. #define AR9888_ERROR_INT_STATUS_TX_OVERFLOW_MASK MISSING
  267. #define AR9888_ERROR_INT_STATUS_TX_OVERFLOW_LSB MISSING
  268. #define AR9888_COUNT_DEC_ADDRESS MISSING
  269. #define AR9888_HOST_INT_STATUS_CPU_MASK MISSING
  270. #define AR9888_HOST_INT_STATUS_CPU_LSB MISSING
  271. #define AR9888_HOST_INT_STATUS_ERROR_MASK MISSING
  272. #define AR9888_HOST_INT_STATUS_ERROR_LSB MISSING
  273. #define AR9888_HOST_INT_STATUS_COUNTER_MASK MISSING
  274. #define AR9888_HOST_INT_STATUS_COUNTER_LSB MISSING
  275. #define AR9888_RX_LOOKAHEAD_VALID_ADDRESS MISSING
  276. #define AR9888_WINDOW_DATA_ADDRESS MISSING
  277. #define AR9888_WINDOW_READ_ADDR_ADDRESS MISSING
  278. #define AR9888_WINDOW_WRITE_ADDR_ADDRESS MISSING
  279. #define AR9888_HOST_INT_STATUS_MBOX_DATA_MASK 0x0f
  280. #define AR9888_HOST_INT_STATUS_MBOX_DATA_LSB 0
  281. struct targetdef_s ar9888_targetdef = {
  282. .d_RTC_SOC_BASE_ADDRESS = AR9888_RTC_SOC_BASE_ADDRESS,
  283. .d_RTC_WMAC_BASE_ADDRESS = AR9888_RTC_WMAC_BASE_ADDRESS,
  284. .d_SYSTEM_SLEEP_OFFSET = AR9888_WLAN_SYSTEM_SLEEP_OFFSET,
  285. .d_WLAN_SYSTEM_SLEEP_OFFSET = AR9888_WLAN_SYSTEM_SLEEP_OFFSET,
  286. .d_WLAN_SYSTEM_SLEEP_DISABLE_LSB =
  287. AR9888_WLAN_SYSTEM_SLEEP_DISABLE_LSB,
  288. .d_WLAN_SYSTEM_SLEEP_DISABLE_MASK =
  289. AR9888_WLAN_SYSTEM_SLEEP_DISABLE_MASK,
  290. .d_CLOCK_CONTROL_OFFSET = AR9888_CLOCK_CONTROL_OFFSET,
  291. .d_CLOCK_CONTROL_SI0_CLK_MASK = AR9888_CLOCK_CONTROL_SI0_CLK_MASK,
  292. .d_RESET_CONTROL_OFFSET = AR9888_SOC_RESET_CONTROL_OFFSET,
  293. .d_RESET_CONTROL_MBOX_RST_MASK = AR9888_RESET_CONTROL_MBOX_RST_MASK,
  294. .d_RESET_CONTROL_SI0_RST_MASK = AR9888_RESET_CONTROL_SI0_RST_MASK,
  295. .d_WLAN_RESET_CONTROL_OFFSET = AR9888_WLAN_RESET_CONTROL_OFFSET,
  296. .d_WLAN_RESET_CONTROL_COLD_RST_MASK =
  297. AR9888_WLAN_RESET_CONTROL_COLD_RST_MASK,
  298. .d_WLAN_RESET_CONTROL_WARM_RST_MASK =
  299. AR9888_WLAN_RESET_CONTROL_WARM_RST_MASK,
  300. .d_GPIO_BASE_ADDRESS = AR9888_GPIO_BASE_ADDRESS,
  301. .d_GPIO_PIN0_OFFSET = AR9888_GPIO_PIN0_OFFSET,
  302. .d_GPIO_PIN1_OFFSET = AR9888_GPIO_PIN1_OFFSET,
  303. .d_GPIO_PIN0_CONFIG_MASK = AR9888_GPIO_PIN0_CONFIG_MASK,
  304. .d_GPIO_PIN1_CONFIG_MASK = AR9888_GPIO_PIN1_CONFIG_MASK,
  305. .d_SI_CONFIG_BIDIR_OD_DATA_LSB = AR9888_SI_CONFIG_BIDIR_OD_DATA_LSB,
  306. .d_SI_CONFIG_BIDIR_OD_DATA_MASK = AR9888_SI_CONFIG_BIDIR_OD_DATA_MASK,
  307. .d_SI_CONFIG_I2C_LSB = AR9888_SI_CONFIG_I2C_LSB,
  308. .d_SI_CONFIG_I2C_MASK = AR9888_SI_CONFIG_I2C_MASK,
  309. .d_SI_CONFIG_POS_SAMPLE_LSB = AR9888_SI_CONFIG_POS_SAMPLE_LSB,
  310. .d_SI_CONFIG_POS_SAMPLE_MASK = AR9888_SI_CONFIG_POS_SAMPLE_MASK,
  311. .d_SI_CONFIG_INACTIVE_CLK_LSB = AR9888_SI_CONFIG_INACTIVE_CLK_LSB,
  312. .d_SI_CONFIG_INACTIVE_CLK_MASK = AR9888_SI_CONFIG_INACTIVE_CLK_MASK,
  313. .d_SI_CONFIG_INACTIVE_DATA_LSB = AR9888_SI_CONFIG_INACTIVE_DATA_LSB,
  314. .d_SI_CONFIG_INACTIVE_DATA_MASK = AR9888_SI_CONFIG_INACTIVE_DATA_MASK,
  315. .d_SI_CONFIG_DIVIDER_LSB = AR9888_SI_CONFIG_DIVIDER_LSB,
  316. .d_SI_CONFIG_DIVIDER_MASK = AR9888_SI_CONFIG_DIVIDER_MASK,
  317. .d_SI_BASE_ADDRESS = AR9888_SI_BASE_ADDRESS,
  318. .d_SI_CONFIG_OFFSET = AR9888_SI_CONFIG_OFFSET,
  319. .d_SI_TX_DATA0_OFFSET = AR9888_SI_TX_DATA0_OFFSET,
  320. .d_SI_TX_DATA1_OFFSET = AR9888_SI_TX_DATA1_OFFSET,
  321. .d_SI_RX_DATA0_OFFSET = AR9888_SI_RX_DATA0_OFFSET,
  322. .d_SI_RX_DATA1_OFFSET = AR9888_SI_RX_DATA1_OFFSET,
  323. .d_SI_CS_OFFSET = AR9888_SI_CS_OFFSET,
  324. .d_SI_CS_DONE_ERR_MASK = AR9888_SI_CS_DONE_ERR_MASK,
  325. .d_SI_CS_DONE_INT_MASK = AR9888_SI_CS_DONE_INT_MASK,
  326. .d_SI_CS_START_LSB = AR9888_SI_CS_START_LSB,
  327. .d_SI_CS_START_MASK = AR9888_SI_CS_START_MASK,
  328. .d_SI_CS_RX_CNT_LSB = AR9888_SI_CS_RX_CNT_LSB,
  329. .d_SI_CS_RX_CNT_MASK = AR9888_SI_CS_RX_CNT_MASK,
  330. .d_SI_CS_TX_CNT_LSB = AR9888_SI_CS_TX_CNT_LSB,
  331. .d_SI_CS_TX_CNT_MASK = AR9888_SI_CS_TX_CNT_MASK,
  332. .d_BOARD_DATA_SZ = AR9888_BOARD_DATA_SZ,
  333. .d_BOARD_EXT_DATA_SZ = AR9888_BOARD_EXT_DATA_SZ,
  334. .d_MBOX_BASE_ADDRESS = AR9888_MBOX_BASE_ADDRESS,
  335. .d_LOCAL_SCRATCH_OFFSET = AR9888_LOCAL_SCRATCH_OFFSET,
  336. .d_CPU_CLOCK_OFFSET = AR9888_CPU_CLOCK_OFFSET,
  337. .d_LPO_CAL_OFFSET = AR9888_LPO_CAL_OFFSET,
  338. .d_GPIO_PIN10_OFFSET = AR9888_GPIO_PIN10_OFFSET,
  339. .d_GPIO_PIN11_OFFSET = AR9888_GPIO_PIN11_OFFSET,
  340. .d_GPIO_PIN12_OFFSET = AR9888_GPIO_PIN12_OFFSET,
  341. .d_GPIO_PIN13_OFFSET = AR9888_GPIO_PIN13_OFFSET,
  342. .d_CLOCK_GPIO_OFFSET = AR9888_CLOCK_GPIO_OFFSET,
  343. .d_CPU_CLOCK_STANDARD_LSB = AR9888_CPU_CLOCK_STANDARD_LSB,
  344. .d_CPU_CLOCK_STANDARD_MASK = AR9888_CPU_CLOCK_STANDARD_MASK,
  345. .d_LPO_CAL_ENABLE_LSB = AR9888_LPO_CAL_ENABLE_LSB,
  346. .d_LPO_CAL_ENABLE_MASK = AR9888_LPO_CAL_ENABLE_MASK,
  347. .d_CLOCK_GPIO_BT_CLK_OUT_EN_LSB = AR9888_CLOCK_GPIO_BT_CLK_OUT_EN_LSB,
  348. .d_CLOCK_GPIO_BT_CLK_OUT_EN_MASK =
  349. AR9888_CLOCK_GPIO_BT_CLK_OUT_EN_MASK,
  350. .d_ANALOG_INTF_BASE_ADDRESS = AR9888_ANALOG_INTF_BASE_ADDRESS,
  351. .d_WLAN_MAC_BASE_ADDRESS = AR9888_WLAN_MAC_BASE_ADDRESS,
  352. .d_FW_INDICATOR_ADDRESS = AR9888_FW_INDICATOR_ADDRESS,
  353. .d_DRAM_BASE_ADDRESS = AR9888_DRAM_BASE_ADDRESS,
  354. .d_SOC_CORE_BASE_ADDRESS = AR9888_SOC_CORE_BASE_ADDRESS,
  355. .d_CORE_CTRL_ADDRESS = AR9888_CORE_CTRL_ADDRESS,
  356. #if defined(HIF_PCI) || defined(HIF_SNOC) || defined(HIF_AHB)
  357. .d_MSI_NUM_REQUEST = MSI_NUM_REQUEST,
  358. .d_MSI_ASSIGN_FW = MSI_ASSIGN_FW,
  359. #endif
  360. .d_CORE_CTRL_CPU_INTR_MASK = AR9888_CORE_CTRL_CPU_INTR_MASK,
  361. .d_SR_WR_INDEX_ADDRESS = AR9888_SR_WR_INDEX_ADDRESS,
  362. .d_DST_WATERMARK_ADDRESS = AR9888_DST_WATERMARK_ADDRESS,
  363. /* htt_rx.c */
  364. .d_RX_MSDU_END_4_FIRST_MSDU_MASK =
  365. AR9888_RX_MSDU_END_4_FIRST_MSDU_MASK,
  366. .d_RX_MSDU_END_4_FIRST_MSDU_LSB = AR9888_RX_MSDU_END_4_FIRST_MSDU_LSB,
  367. .d_RX_MPDU_START_0_SEQ_NUM_MASK = AR9888_RX_MPDU_START_0_SEQ_NUM_MASK,
  368. .d_RX_MPDU_START_0_SEQ_NUM_LSB = AR9888_RX_MPDU_START_0_SEQ_NUM_LSB,
  369. .d_RX_MPDU_START_2_PN_47_32_LSB = AR9888_RX_MPDU_START_2_PN_47_32_LSB,
  370. .d_RX_MPDU_START_2_PN_47_32_MASK =
  371. AR9888_RX_MPDU_START_2_PN_47_32_MASK,
  372. .d_RX_MSDU_END_1_EXT_WAPI_PN_63_48_MASK =
  373. AR9888_RX_MSDU_END_1_EXT_WAPI_PN_63_48_MASK,
  374. .d_RX_MSDU_END_1_EXT_WAPI_PN_63_48_LSB =
  375. AR9888_RX_MSDU_END_1_EXT_WAPI_PN_63_48_LSB,
  376. .d_RX_MSDU_END_1_KEY_ID_OCT_MASK =
  377. AR9888_RX_MSDU_END_1_KEY_ID_OCT_MASK,
  378. .d_RX_MSDU_END_1_KEY_ID_OCT_LSB = AR9888_RX_MSDU_END_1_KEY_ID_OCT_LSB,
  379. .d_RX_MSDU_END_4_LAST_MSDU_MASK = AR9888_RX_MSDU_END_4_LAST_MSDU_MASK,
  380. .d_RX_MSDU_END_4_LAST_MSDU_LSB = AR9888_RX_MSDU_END_4_LAST_MSDU_LSB,
  381. .d_RX_ATTENTION_0_MCAST_BCAST_MASK =
  382. AR9888_RX_ATTENTION_0_MCAST_BCAST_MASK,
  383. .d_RX_ATTENTION_0_MCAST_BCAST_LSB =
  384. AR9888_RX_ATTENTION_0_MCAST_BCAST_LSB,
  385. .d_RX_ATTENTION_0_FRAGMENT_MASK = AR9888_RX_ATTENTION_0_FRAGMENT_MASK,
  386. .d_RX_ATTENTION_0_FRAGMENT_LSB = AR9888_RX_ATTENTION_0_FRAGMENT_LSB,
  387. .d_RX_ATTENTION_0_MPDU_LENGTH_ERR_MASK =
  388. AR9888_RX_ATTENTION_0_MPDU_LENGTH_ERR_MASK,
  389. .d_RX_FRAG_INFO_0_RING2_MORE_COUNT_MASK =
  390. AR9888_RX_FRAG_INFO_0_RING2_MORE_COUNT_MASK,
  391. .d_RX_FRAG_INFO_0_RING2_MORE_COUNT_LSB =
  392. AR9888_RX_FRAG_INFO_0_RING2_MORE_COUNT_LSB,
  393. .d_RX_MSDU_START_0_MSDU_LENGTH_MASK =
  394. AR9888_RX_MSDU_START_0_MSDU_LENGTH_MASK,
  395. .d_RX_MSDU_START_0_MSDU_LENGTH_LSB =
  396. AR9888_RX_MSDU_START_0_MSDU_LENGTH_LSB,
  397. .d_RX_MSDU_START_2_DECAP_FORMAT_OFFSET =
  398. AR9888_RX_MSDU_START_2_DECAP_FORMAT_OFFSET,
  399. .d_RX_MSDU_START_2_DECAP_FORMAT_MASK =
  400. AR9888_RX_MSDU_START_2_DECAP_FORMAT_MASK,
  401. .d_RX_MSDU_START_2_DECAP_FORMAT_LSB =
  402. AR9888_RX_MSDU_START_2_DECAP_FORMAT_LSB,
  403. .d_RX_MPDU_START_0_ENCRYPTED_MASK =
  404. AR9888_RX_MPDU_START_0_ENCRYPTED_MASK,
  405. .d_RX_MPDU_START_0_ENCRYPTED_LSB =
  406. AR9888_RX_MPDU_START_0_ENCRYPTED_LSB,
  407. .d_RX_ATTENTION_0_MORE_DATA_MASK =
  408. AR9888_RX_ATTENTION_0_MORE_DATA_MASK,
  409. .d_RX_ATTENTION_0_MSDU_DONE_MASK =
  410. AR9888_RX_ATTENTION_0_MSDU_DONE_MASK,
  411. .d_RX_ATTENTION_0_TCP_UDP_CHKSUM_FAIL_MASK =
  412. AR9888_RX_ATTENTION_0_TCP_UDP_CHKSUM_FAIL_MASK,
  413. #if defined(HIF_PCI) || defined(HIF_SNOC) || defined(HIF_AHB)
  414. .d_CE_COUNT = AR9888_CE_COUNT,
  415. .d_MSI_ASSIGN_CE_INITIAL = MSI_ASSIGN_CE_INITIAL,
  416. .d_PCIE_INTR_ENABLE_ADDRESS = AR9888_PCIE_INTR_ENABLE_ADDRESS,
  417. .d_PCIE_INTR_CLR_ADDRESS = AR9888_PCIE_INTR_CLR_ADDRESS,
  418. .d_PCIE_INTR_FIRMWARE_MASK = AR9888_PCIE_INTR_FIRMWARE_MASK,
  419. .d_PCIE_INTR_CE_MASK_ALL = AR9888_PCIE_INTR_CE_MASK_ALL,
  420. .d_PCIE_INTR_CAUSE_ADDRESS = AR9888_PCIE_INTR_CAUSE_ADDRESS,
  421. .d_SOC_RESET_CONTROL_ADDRESS = AR9888_SOC_RESET_CONTROL_ADDRESS,
  422. .d_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_MASK =
  423. AR9888_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_MASK,
  424. .d_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_LSB =
  425. AR9888_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_LSB,
  426. .d_SOC_RESET_CONTROL_CE_RST_MASK =
  427. AR9888_SOC_RESET_CONTROL_CE_RST_MASK,
  428. #endif
  429. .d_SOC_RESET_CONTROL_CPU_WARM_RST_MASK =
  430. AR9888_SOC_RESET_CONTROL_CPU_WARM_RST_MASK,
  431. .d_CPU_INTR_ADDRESS = AR9888_CPU_INTR_ADDRESS,
  432. .d_SOC_LF_TIMER_CONTROL0_ADDRESS =
  433. AR9888_SOC_LF_TIMER_CONTROL0_ADDRESS,
  434. .d_SOC_LF_TIMER_CONTROL0_ENABLE_MASK =
  435. AR9888_SOC_LF_TIMER_CONTROL0_ENABLE_MASK,
  436. .d_SOC_LF_TIMER_STATUS0_ADDRESS =
  437. AR9888_SOC_LF_TIMER_STATUS0_ADDRESS,
  438. };
  439. struct hostdef_s ar9888_hostdef = {
  440. .d_INT_STATUS_ENABLE_ERROR_LSB = AR9888_INT_STATUS_ENABLE_ERROR_LSB,
  441. .d_INT_STATUS_ENABLE_ERROR_MASK = AR9888_INT_STATUS_ENABLE_ERROR_MASK,
  442. .d_INT_STATUS_ENABLE_CPU_LSB = AR9888_INT_STATUS_ENABLE_CPU_LSB,
  443. .d_INT_STATUS_ENABLE_CPU_MASK = AR9888_INT_STATUS_ENABLE_CPU_MASK,
  444. .d_INT_STATUS_ENABLE_COUNTER_LSB =
  445. AR9888_INT_STATUS_ENABLE_COUNTER_LSB,
  446. .d_INT_STATUS_ENABLE_COUNTER_MASK =
  447. AR9888_INT_STATUS_ENABLE_COUNTER_MASK,
  448. .d_INT_STATUS_ENABLE_MBOX_DATA_LSB =
  449. AR9888_INT_STATUS_ENABLE_MBOX_DATA_LSB,
  450. .d_INT_STATUS_ENABLE_MBOX_DATA_MASK =
  451. AR9888_INT_STATUS_ENABLE_MBOX_DATA_MASK,
  452. .d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB =
  453. AR9888_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB,
  454. .d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK =
  455. AR9888_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK,
  456. .d_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB =
  457. AR9888_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB,
  458. .d_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK =
  459. AR9888_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK,
  460. .d_COUNTER_INT_STATUS_ENABLE_BIT_LSB =
  461. AR9888_COUNTER_INT_STATUS_ENABLE_BIT_LSB,
  462. .d_COUNTER_INT_STATUS_ENABLE_BIT_MASK =
  463. AR9888_COUNTER_INT_STATUS_ENABLE_BIT_MASK,
  464. .d_INT_STATUS_ENABLE_ADDRESS = AR9888_INT_STATUS_ENABLE_ADDRESS,
  465. .d_CPU_INT_STATUS_ENABLE_BIT_LSB =
  466. AR9888_CPU_INT_STATUS_ENABLE_BIT_LSB,
  467. .d_CPU_INT_STATUS_ENABLE_BIT_MASK =
  468. AR9888_CPU_INT_STATUS_ENABLE_BIT_MASK,
  469. .d_HOST_INT_STATUS_ADDRESS = AR9888_HOST_INT_STATUS_ADDRESS,
  470. .d_CPU_INT_STATUS_ADDRESS = AR9888_CPU_INT_STATUS_ADDRESS,
  471. .d_ERROR_INT_STATUS_ADDRESS = AR9888_ERROR_INT_STATUS_ADDRESS,
  472. .d_ERROR_INT_STATUS_WAKEUP_MASK = AR9888_ERROR_INT_STATUS_WAKEUP_MASK,
  473. .d_ERROR_INT_STATUS_WAKEUP_LSB = AR9888_ERROR_INT_STATUS_WAKEUP_LSB,
  474. .d_ERROR_INT_STATUS_RX_UNDERFLOW_MASK =
  475. AR9888_ERROR_INT_STATUS_RX_UNDERFLOW_MASK,
  476. .d_ERROR_INT_STATUS_RX_UNDERFLOW_LSB =
  477. AR9888_ERROR_INT_STATUS_RX_UNDERFLOW_LSB,
  478. .d_ERROR_INT_STATUS_TX_OVERFLOW_MASK =
  479. AR9888_ERROR_INT_STATUS_TX_OVERFLOW_MASK,
  480. .d_ERROR_INT_STATUS_TX_OVERFLOW_LSB =
  481. AR9888_ERROR_INT_STATUS_TX_OVERFLOW_LSB,
  482. .d_COUNT_DEC_ADDRESS = AR9888_COUNT_DEC_ADDRESS,
  483. .d_HOST_INT_STATUS_CPU_MASK = AR9888_HOST_INT_STATUS_CPU_MASK,
  484. .d_HOST_INT_STATUS_CPU_LSB = AR9888_HOST_INT_STATUS_CPU_LSB,
  485. .d_HOST_INT_STATUS_ERROR_MASK = AR9888_HOST_INT_STATUS_ERROR_MASK,
  486. .d_HOST_INT_STATUS_ERROR_LSB = AR9888_HOST_INT_STATUS_ERROR_LSB,
  487. .d_HOST_INT_STATUS_COUNTER_MASK = AR9888_HOST_INT_STATUS_COUNTER_MASK,
  488. .d_HOST_INT_STATUS_COUNTER_LSB = AR9888_HOST_INT_STATUS_COUNTER_LSB,
  489. .d_RX_LOOKAHEAD_VALID_ADDRESS = AR9888_RX_LOOKAHEAD_VALID_ADDRESS,
  490. .d_WINDOW_DATA_ADDRESS = AR9888_WINDOW_DATA_ADDRESS,
  491. .d_WINDOW_READ_ADDR_ADDRESS = AR9888_WINDOW_READ_ADDR_ADDRESS,
  492. .d_WINDOW_WRITE_ADDR_ADDRESS = AR9888_WINDOW_WRITE_ADDR_ADDRESS,
  493. .d_SOC_GLOBAL_RESET_ADDRESS = AR9888_SOC_GLOBAL_RESET_ADDRESS,
  494. .d_RTC_STATE_ADDRESS = AR9888_RTC_STATE_ADDRESS,
  495. .d_RTC_STATE_COLD_RESET_MASK = AR9888_RTC_STATE_COLD_RESET_MASK,
  496. .d_RTC_STATE_V_MASK = AR9888_RTC_STATE_V_MASK,
  497. .d_RTC_STATE_V_LSB = AR9888_RTC_STATE_V_LSB,
  498. .d_FW_IND_EVENT_PENDING = AR9888_FW_IND_EVENT_PENDING,
  499. .d_FW_IND_INITIALIZED = AR9888_FW_IND_INITIALIZED,
  500. .d_RTC_STATE_V_ON = AR9888_RTC_STATE_V_ON,
  501. #if defined(SDIO_3_0)
  502. .d_HOST_INT_STATUS_MBOX_DATA_MASK =
  503. AR9888_HOST_INT_STATUS_MBOX_DATA_MASK,
  504. .d_HOST_INT_STATUS_MBOX_DATA_LSB =
  505. AR9888_HOST_INT_STATUS_MBOX_DATA_LSB,
  506. #endif
  507. #if defined(HIF_PCI) || defined(HIF_SNOC) || defined(HIF_AHB)
  508. .d_MUX_ID_MASK = AR9888_MUX_ID_MASK,
  509. .d_TRANSACTION_ID_MASK = AR9888_TRANSACTION_ID_MASK,
  510. .d_PCIE_LOCAL_BASE_ADDRESS = AR9888_PCIE_LOCAL_BASE_ADDRESS,
  511. .d_PCIE_SOC_WAKE_RESET = AR9888_PCIE_SOC_WAKE_RESET,
  512. .d_PCIE_SOC_WAKE_ADDRESS = AR9888_PCIE_SOC_WAKE_ADDRESS,
  513. .d_PCIE_SOC_WAKE_V_MASK = AR9888_PCIE_SOC_WAKE_V_MASK,
  514. .d_PCIE_SOC_RDY_STATUS_ADDRESS = PCIE_SOC_RDY_STATUS_ADDRESS,
  515. .d_PCIE_SOC_RDY_STATUS_BAR_MASK = PCIE_SOC_RDY_STATUS_BAR_MASK,
  516. .d_SOC_PCIE_BASE_ADDRESS = SOC_PCIE_BASE_ADDRESS,
  517. .d_MSI_MAGIC_ADR_ADDRESS = MSI_MAGIC_ADR_ADDRESS,
  518. .d_MSI_MAGIC_ADDRESS = MSI_MAGIC_ADDRESS,
  519. .d_HOST_CE_COUNT = 8,
  520. .d_ENABLE_MSI = 0,
  521. #endif
  522. };
  523. #if defined(HIF_PCI) || defined(HIF_SNOC) || defined(HIF_AHB)
  524. struct ce_reg_def ar9888_ce_targetdef = {
  525. /* copy_engine.c */
  526. .d_DST_WR_INDEX_ADDRESS = AR9888_DST_WR_INDEX_ADDRESS,
  527. .d_SRC_WATERMARK_ADDRESS = AR9888_SRC_WATERMARK_ADDRESS,
  528. .d_SRC_WATERMARK_LOW_MASK = AR9888_SRC_WATERMARK_LOW_MASK,
  529. .d_SRC_WATERMARK_HIGH_MASK = AR9888_SRC_WATERMARK_HIGH_MASK,
  530. .d_DST_WATERMARK_LOW_MASK = AR9888_DST_WATERMARK_LOW_MASK,
  531. .d_DST_WATERMARK_HIGH_MASK = AR9888_DST_WATERMARK_HIGH_MASK,
  532. .d_CURRENT_SRRI_ADDRESS = AR9888_CURRENT_SRRI_ADDRESS,
  533. .d_CURRENT_DRRI_ADDRESS = AR9888_CURRENT_DRRI_ADDRESS,
  534. .d_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK =
  535. AR9888_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK,
  536. .d_HOST_IS_SRC_RING_LOW_WATERMARK_MASK =
  537. AR9888_HOST_IS_SRC_RING_LOW_WATERMARK_MASK,
  538. .d_HOST_IS_DST_RING_HIGH_WATERMARK_MASK =
  539. AR9888_HOST_IS_DST_RING_HIGH_WATERMARK_MASK,
  540. .d_HOST_IS_DST_RING_LOW_WATERMARK_MASK =
  541. AR9888_HOST_IS_DST_RING_LOW_WATERMARK_MASK,
  542. .d_HOST_IS_ADDRESS = AR9888_HOST_IS_ADDRESS,
  543. .d_HOST_IS_COPY_COMPLETE_MASK = AR9888_HOST_IS_COPY_COMPLETE_MASK,
  544. .d_CE_WRAPPER_BASE_ADDRESS = AR9888_CE_WRAPPER_BASE_ADDRESS,
  545. .d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS =
  546. AR9888_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS,
  547. .d_HOST_IE_ADDRESS = AR9888_HOST_IE_ADDRESS,
  548. .d_HOST_IE_COPY_COMPLETE_MASK = AR9888_HOST_IE_COPY_COMPLETE_MASK,
  549. .d_SR_BA_ADDRESS = AR9888_SR_BA_ADDRESS,
  550. .d_SR_SIZE_ADDRESS = AR9888_SR_SIZE_ADDRESS,
  551. .d_CE_CTRL1_ADDRESS = AR9888_CE_CTRL1_ADDRESS,
  552. .d_CE_CTRL1_DMAX_LENGTH_MASK = AR9888_CE_CTRL1_DMAX_LENGTH_MASK,
  553. .d_DR_BA_ADDRESS = AR9888_DR_BA_ADDRESS,
  554. .d_DR_SIZE_ADDRESS = AR9888_DR_SIZE_ADDRESS,
  555. .d_MISC_IE_ADDRESS = AR9888_MISC_IE_ADDRESS,
  556. .d_MISC_IS_AXI_ERR_MASK = AR9888_MISC_IS_AXI_ERR_MASK,
  557. .d_MISC_IS_DST_ADDR_ERR_MASK = AR9888_MISC_IS_DST_ADDR_ERR_MASK,
  558. .d_MISC_IS_SRC_LEN_ERR_MASK = AR9888_MISC_IS_SRC_LEN_ERR_MASK,
  559. .d_MISC_IS_DST_MAX_LEN_VIO_MASK = AR9888_MISC_IS_DST_MAX_LEN_VIO_MASK,
  560. .d_MISC_IS_DST_RING_OVERFLOW_MASK =
  561. AR9888_MISC_IS_DST_RING_OVERFLOW_MASK,
  562. .d_MISC_IS_SRC_RING_OVERFLOW_MASK =
  563. AR9888_MISC_IS_SRC_RING_OVERFLOW_MASK,
  564. .d_SRC_WATERMARK_LOW_LSB = AR9888_SRC_WATERMARK_LOW_LSB,
  565. .d_SRC_WATERMARK_HIGH_LSB = AR9888_SRC_WATERMARK_HIGH_LSB,
  566. .d_DST_WATERMARK_LOW_LSB = AR9888_DST_WATERMARK_LOW_LSB,
  567. .d_DST_WATERMARK_HIGH_LSB = AR9888_DST_WATERMARK_HIGH_LSB,
  568. .d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK =
  569. AR9888_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK,
  570. .d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB =
  571. AR9888_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB,
  572. .d_CE_CTRL1_DMAX_LENGTH_LSB = AR9888_CE_CTRL1_DMAX_LENGTH_LSB,
  573. .d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK =
  574. AR9888_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK,
  575. .d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK =
  576. AR9888_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK,
  577. .d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB =
  578. AR9888_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB,
  579. .d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB =
  580. AR9888_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB,
  581. .d_CE0_BASE_ADDRESS = AR9888_CE0_BASE_ADDRESS,
  582. .d_CE1_BASE_ADDRESS = AR9888_CE1_BASE_ADDRESS,
  583. };
  584. #endif
  585. #endif