target_reg_init.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. /*
  2. * Copyright (c) 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 TARGET_REG_INIT_H
  19. #define TARGET_REG_INIT_H
  20. #include "reg_struct.h"
  21. #include "targaddrs.h"
  22. /*** WARNING : Add to the end of the TABLE! do not change the order ****/
  23. struct targetdef_s;
  24. #define ATH_UNSUPPORTED_REG_OFFSET UNSUPPORTED_REGISTER_OFFSET
  25. #define ATH_SUPPORTED_BY_TARGET(reg_offset) \
  26. ((reg_offset) != ATH_UNSUPPORTED_REG_OFFSET)
  27. #if defined(MY_TARGET_DEF)
  28. /* Cross-platform compatibility */
  29. #if !defined(SOC_RESET_CONTROL_OFFSET) && defined(RESET_CONTROL_OFFSET)
  30. #define SOC_RESET_CONTROL_OFFSET RESET_CONTROL_OFFSET
  31. #endif
  32. #if !defined(CLOCK_GPIO_OFFSET)
  33. #define CLOCK_GPIO_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  34. #define CLOCK_GPIO_BT_CLK_OUT_EN_LSB 0
  35. #define CLOCK_GPIO_BT_CLK_OUT_EN_MASK 0
  36. #endif
  37. #if !defined(WLAN_MAC_BASE_ADDRESS)
  38. #define WLAN_MAC_BASE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  39. #endif
  40. #if !defined(CE0_BASE_ADDRESS)
  41. #define CE0_BASE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  42. #define CE1_BASE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  43. #define CE_COUNT 0
  44. #endif
  45. #if !defined(MSI_NUM_REQUEST)
  46. #define MSI_NUM_REQUEST 0
  47. #define MSI_ASSIGN_FW 0
  48. #define MSI_ASSIGN_CE_INITIAL 0
  49. #endif
  50. #if !defined(FW_INDICATOR_ADDRESS)
  51. #define FW_INDICATOR_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  52. #endif
  53. #if !defined(FW_CPU_PLL_CONFIG)
  54. #define FW_CPU_PLL_CONFIG ATH_UNSUPPORTED_REG_OFFSET
  55. #endif
  56. #if !defined(DRAM_BASE_ADDRESS)
  57. #define DRAM_BASE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  58. #endif
  59. #if !defined(SOC_CORE_BASE_ADDRESS)
  60. #define SOC_CORE_BASE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  61. #endif
  62. #if !defined(CPU_INTR_ADDRESS)
  63. #define CPU_INTR_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  64. #endif
  65. #if !defined(SOC_LF_TIMER_CONTROL0_ADDRESS)
  66. #define SOC_LF_TIMER_CONTROL0_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  67. #define SOC_LF_TIMER_CONTROL0_ENABLE_MASK ATH_UNSUPPORTED_REG_OFFSET
  68. #endif
  69. #if !defined(SOC_LF_TIMER_STATUS0_ADDRESS)
  70. #define SOC_LF_TIMER_STATUS0_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  71. #endif
  72. #if !defined(SOC_RESET_CONTROL_ADDRESS)
  73. #define SOC_RESET_CONTROL_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  74. #define SOC_RESET_CONTROL_CE_RST_MASK ATH_UNSUPPORTED_REG_OFFSET
  75. #define SOC_RESET_CONTROL_CPU_WARM_RST_MASK ATH_UNSUPPORTED_REG_OFFSET
  76. #endif
  77. #if !defined(CORE_CTRL_ADDRESS)
  78. #define CORE_CTRL_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  79. #define CORE_CTRL_CPU_INTR_MASK 0
  80. #endif
  81. #if !defined(PCIE_INTR_ENABLE_ADDRESS)
  82. #define PCIE_INTR_ENABLE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  83. #define PCIE_INTR_CLR_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  84. #define PCIE_INTR_FIRMWARE_MASK ATH_UNSUPPORTED_REG_OFFSET
  85. #define PCIE_INTR_CE_MASK_ALL ATH_UNSUPPORTED_REG_OFFSET
  86. #define PCIE_INTR_CAUSE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  87. #endif
  88. #if !defined(WIFICMN_PCIE_BAR_REG_ADDRESS)
  89. #define WIFICMN_PCIE_BAR_REG_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  90. #endif
  91. #if !defined(WIFICMN_INT_STATUS_ADDRESS)
  92. #define WIFICMN_INT_STATUS_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  93. #endif
  94. #if !defined(FW_AXI_MSI_ADDR)
  95. #define FW_AXI_MSI_ADDR ATH_UNSUPPORTED_REG_OFFSET
  96. #endif
  97. #if !defined(FW_AXI_MSI_DATA)
  98. #define FW_AXI_MSI_DATA ATH_UNSUPPORTED_REG_OFFSET
  99. #endif
  100. #if !defined(WLAN_SUBSYSTEM_CORE_ID_ADDRESS)
  101. #define WLAN_SUBSYSTEM_CORE_ID_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  102. #endif
  103. #if !defined(FPGA_VERSION_ADDRESS)
  104. #define FPGA_VERSION_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  105. #endif
  106. #if !defined(SI_CONFIG_ADDRESS)
  107. #define SI_CONFIG_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  108. #define SI_CONFIG_BIDIR_OD_DATA_LSB 0
  109. #define SI_CONFIG_BIDIR_OD_DATA_MASK 0
  110. #define SI_CONFIG_I2C_LSB 0
  111. #define SI_CONFIG_I2C_MASK 0
  112. #define SI_CONFIG_POS_SAMPLE_LSB 0
  113. #define SI_CONFIG_POS_SAMPLE_MASK 0
  114. #define SI_CONFIG_INACTIVE_CLK_LSB 0
  115. #define SI_CONFIG_INACTIVE_CLK_MASK 0
  116. #define SI_CONFIG_INACTIVE_DATA_LSB 0
  117. #define SI_CONFIG_INACTIVE_DATA_MASK 0
  118. #define SI_CONFIG_DIVIDER_LSB 0
  119. #define SI_CONFIG_DIVIDER_MASK 0
  120. #define SI_CONFIG_OFFSET 0
  121. #define SI_TX_DATA0_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  122. #define SI_TX_DATA1_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  123. #define SI_RX_DATA0_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  124. #define SI_RX_DATA1_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  125. #define SI_CS_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  126. #define SI_CS_DONE_ERR_MASK 0
  127. #define SI_CS_DONE_INT_MASK 0
  128. #define SI_CS_START_LSB 0
  129. #define SI_CS_START_MASK 0
  130. #define SI_CS_RX_CNT_LSB 0
  131. #define SI_CS_RX_CNT_MASK 0
  132. #define SI_CS_TX_CNT_LSB 0
  133. #define SI_CS_TX_CNT_MASK 0
  134. #endif
  135. #ifndef SI_BASE_ADDRESS
  136. #define SI_BASE_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  137. #endif
  138. #ifndef WLAN_GPIO_PIN10_ADDRESS
  139. #define WLAN_GPIO_PIN10_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  140. #endif
  141. #ifndef WLAN_GPIO_PIN11_ADDRESS
  142. #define WLAN_GPIO_PIN11_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  143. #endif
  144. #ifndef WLAN_GPIO_PIN12_ADDRESS
  145. #define WLAN_GPIO_PIN12_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  146. #endif
  147. #ifndef WLAN_GPIO_PIN13_ADDRESS
  148. #define WLAN_GPIO_PIN13_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  149. #endif
  150. #ifndef WIFICMN_INT_STATUS_ADDRESS
  151. #define WIFICMN_INT_STATUS_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  152. #endif
  153. static struct targetdef_s my_target_def = {
  154. .d_RTC_SOC_BASE_ADDRESS = RTC_SOC_BASE_ADDRESS,
  155. .d_RTC_WMAC_BASE_ADDRESS = RTC_WMAC_BASE_ADDRESS,
  156. .d_SYSTEM_SLEEP_OFFSET = WLAN_SYSTEM_SLEEP_OFFSET,
  157. .d_WLAN_SYSTEM_SLEEP_OFFSET = WLAN_SYSTEM_SLEEP_OFFSET,
  158. .d_WLAN_SYSTEM_SLEEP_DISABLE_LSB = WLAN_SYSTEM_SLEEP_DISABLE_LSB,
  159. .d_WLAN_SYSTEM_SLEEP_DISABLE_MASK = WLAN_SYSTEM_SLEEP_DISABLE_MASK,
  160. .d_CLOCK_CONTROL_OFFSET = CLOCK_CONTROL_OFFSET,
  161. .d_CLOCK_CONTROL_SI0_CLK_MASK = CLOCK_CONTROL_SI0_CLK_MASK,
  162. .d_RESET_CONTROL_OFFSET = SOC_RESET_CONTROL_OFFSET,
  163. .d_RESET_CONTROL_SI0_RST_MASK = RESET_CONTROL_SI0_RST_MASK,
  164. .d_WLAN_RESET_CONTROL_OFFSET = WLAN_RESET_CONTROL_OFFSET,
  165. .d_WLAN_RESET_CONTROL_COLD_RST_MASK = WLAN_RESET_CONTROL_COLD_RST_MASK,
  166. .d_WLAN_RESET_CONTROL_WARM_RST_MASK = WLAN_RESET_CONTROL_WARM_RST_MASK,
  167. .d_GPIO_BASE_ADDRESS = GPIO_BASE_ADDRESS,
  168. .d_GPIO_PIN0_OFFSET = GPIO_PIN0_OFFSET,
  169. .d_GPIO_PIN1_OFFSET = GPIO_PIN1_OFFSET,
  170. .d_GPIO_PIN0_CONFIG_MASK = GPIO_PIN0_CONFIG_MASK,
  171. .d_GPIO_PIN1_CONFIG_MASK = GPIO_PIN1_CONFIG_MASK,
  172. .d_SI_CONFIG_BIDIR_OD_DATA_LSB = SI_CONFIG_BIDIR_OD_DATA_LSB,
  173. .d_SI_CONFIG_BIDIR_OD_DATA_MASK = SI_CONFIG_BIDIR_OD_DATA_MASK,
  174. .d_SI_CONFIG_I2C_LSB = SI_CONFIG_I2C_LSB,
  175. .d_SI_CONFIG_I2C_MASK = SI_CONFIG_I2C_MASK,
  176. .d_SI_CONFIG_POS_SAMPLE_LSB = SI_CONFIG_POS_SAMPLE_LSB,
  177. .d_SI_CONFIG_POS_SAMPLE_MASK = SI_CONFIG_POS_SAMPLE_MASK,
  178. .d_SI_CONFIG_INACTIVE_CLK_LSB = SI_CONFIG_INACTIVE_CLK_LSB,
  179. .d_SI_CONFIG_INACTIVE_CLK_MASK = SI_CONFIG_INACTIVE_CLK_MASK,
  180. .d_SI_CONFIG_INACTIVE_DATA_LSB = SI_CONFIG_INACTIVE_DATA_LSB,
  181. .d_SI_CONFIG_INACTIVE_DATA_MASK = SI_CONFIG_INACTIVE_DATA_MASK,
  182. .d_SI_CONFIG_DIVIDER_LSB = SI_CONFIG_DIVIDER_LSB,
  183. .d_SI_CONFIG_DIVIDER_MASK = SI_CONFIG_DIVIDER_MASK,
  184. .d_SI_BASE_ADDRESS = SI_BASE_ADDRESS,
  185. .d_SI_CONFIG_OFFSET = SI_CONFIG_OFFSET,
  186. .d_SI_TX_DATA0_OFFSET = SI_TX_DATA0_OFFSET,
  187. .d_SI_TX_DATA1_OFFSET = SI_TX_DATA1_OFFSET,
  188. .d_SI_RX_DATA0_OFFSET = SI_RX_DATA0_OFFSET,
  189. .d_SI_RX_DATA1_OFFSET = SI_RX_DATA1_OFFSET,
  190. .d_SI_CS_OFFSET = SI_CS_OFFSET,
  191. .d_SI_CS_DONE_ERR_MASK = SI_CS_DONE_ERR_MASK,
  192. .d_SI_CS_DONE_INT_MASK = SI_CS_DONE_INT_MASK,
  193. .d_SI_CS_START_LSB = SI_CS_START_LSB,
  194. .d_SI_CS_START_MASK = SI_CS_START_MASK,
  195. .d_SI_CS_RX_CNT_LSB = SI_CS_RX_CNT_LSB,
  196. .d_SI_CS_RX_CNT_MASK = SI_CS_RX_CNT_MASK,
  197. .d_SI_CS_TX_CNT_LSB = SI_CS_TX_CNT_LSB,
  198. .d_SI_CS_TX_CNT_MASK = SI_CS_TX_CNT_MASK,
  199. .d_BOARD_DATA_SZ = MY_TARGET_BOARD_DATA_SZ,
  200. .d_BOARD_EXT_DATA_SZ = MY_TARGET_BOARD_EXT_DATA_SZ,
  201. .d_MBOX_BASE_ADDRESS = MBOX_BASE_ADDRESS,
  202. .d_LOCAL_SCRATCH_OFFSET = LOCAL_SCRATCH_OFFSET,
  203. .d_CPU_CLOCK_OFFSET = CPU_CLOCK_OFFSET,
  204. .d_GPIO_PIN10_OFFSET = GPIO_PIN10_OFFSET,
  205. .d_GPIO_PIN11_OFFSET = GPIO_PIN11_OFFSET,
  206. .d_GPIO_PIN12_OFFSET = GPIO_PIN12_OFFSET,
  207. .d_GPIO_PIN13_OFFSET = GPIO_PIN13_OFFSET,
  208. .d_CLOCK_GPIO_OFFSET = CLOCK_GPIO_OFFSET,
  209. .d_CPU_CLOCK_STANDARD_LSB = CPU_CLOCK_STANDARD_LSB,
  210. .d_CPU_CLOCK_STANDARD_MASK = CPU_CLOCK_STANDARD_MASK,
  211. .d_LPO_CAL_ENABLE_LSB = LPO_CAL_ENABLE_LSB,
  212. .d_LPO_CAL_ENABLE_MASK = LPO_CAL_ENABLE_MASK,
  213. .d_CLOCK_GPIO_BT_CLK_OUT_EN_LSB = CLOCK_GPIO_BT_CLK_OUT_EN_LSB,
  214. .d_CLOCK_GPIO_BT_CLK_OUT_EN_MASK = CLOCK_GPIO_BT_CLK_OUT_EN_MASK,
  215. .d_ANALOG_INTF_BASE_ADDRESS = ANALOG_INTF_BASE_ADDRESS,
  216. .d_WLAN_MAC_BASE_ADDRESS = WLAN_MAC_BASE_ADDRESS,
  217. .d_FW_INDICATOR_ADDRESS = FW_INDICATOR_ADDRESS,
  218. .d_FW_CPU_PLL_CONFIG = FW_CPU_PLL_CONFIG,
  219. .d_DRAM_BASE_ADDRESS = DRAM_BASE_ADDRESS,
  220. .d_SOC_CORE_BASE_ADDRESS = SOC_CORE_BASE_ADDRESS,
  221. .d_CORE_CTRL_ADDRESS = CORE_CTRL_ADDRESS,
  222. .d_CE_COUNT = CE_COUNT,
  223. .d_MSI_NUM_REQUEST = MSI_NUM_REQUEST,
  224. .d_MSI_ASSIGN_FW = MSI_ASSIGN_FW,
  225. .d_MSI_ASSIGN_CE_INITIAL = MSI_ASSIGN_CE_INITIAL,
  226. .d_PCIE_INTR_ENABLE_ADDRESS = PCIE_INTR_ENABLE_ADDRESS,
  227. .d_PCIE_INTR_CLR_ADDRESS = PCIE_INTR_CLR_ADDRESS,
  228. .d_PCIE_INTR_FIRMWARE_MASK = PCIE_INTR_FIRMWARE_MASK,
  229. .d_PCIE_INTR_CE_MASK_ALL = PCIE_INTR_CE_MASK_ALL,
  230. .d_CORE_CTRL_CPU_INTR_MASK = CORE_CTRL_CPU_INTR_MASK,
  231. .d_WIFICMN_PCIE_BAR_REG_ADDRESS = WIFICMN_PCIE_BAR_REG_ADDRESS,
  232. /* htt_rx.c */
  233. /* htt tx */
  234. .d_MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_MASK
  235. = MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_MASK,
  236. .d_MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_MASK
  237. = MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_MASK,
  238. .d_MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_MASK
  239. = MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_MASK,
  240. .d_MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_MASK
  241. = MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_MASK,
  242. .d_MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_LSB
  243. = MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_LSB,
  244. .d_MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_LSB
  245. = MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_LSB,
  246. .d_MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_LSB
  247. = MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_LSB,
  248. .d_MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_LSB
  249. = MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_LSB,
  250. /* copy_engine.c */
  251. .d_SR_WR_INDEX_ADDRESS = SR_WR_INDEX_ADDRESS,
  252. .d_DST_WATERMARK_ADDRESS = DST_WATERMARK_ADDRESS,
  253. .d_PCIE_INTR_CAUSE_ADDRESS = PCIE_INTR_CAUSE_ADDRESS,
  254. .d_SOC_RESET_CONTROL_ADDRESS = SOC_RESET_CONTROL_ADDRESS,
  255. .d_SOC_RESET_CONTROL_CE_RST_MASK = SOC_RESET_CONTROL_CE_RST_MASK,
  256. .d_SOC_RESET_CONTROL_CPU_WARM_RST_MASK
  257. = SOC_RESET_CONTROL_CPU_WARM_RST_MASK,
  258. .d_CPU_INTR_ADDRESS = CPU_INTR_ADDRESS,
  259. .d_SOC_LF_TIMER_CONTROL0_ADDRESS = SOC_LF_TIMER_CONTROL0_ADDRESS,
  260. .d_SOC_LF_TIMER_CONTROL0_ENABLE_MASK
  261. = SOC_LF_TIMER_CONTROL0_ENABLE_MASK,
  262. .d_SOC_LF_TIMER_STATUS0_ADDRESS = SOC_LF_TIMER_STATUS0_ADDRESS,
  263. .d_SI_CONFIG_ERR_INT_MASK = SI_CONFIG_ERR_INT_MASK,
  264. .d_SI_CONFIG_ERR_INT_LSB = SI_CONFIG_ERR_INT_LSB,
  265. .d_GPIO_ENABLE_W1TS_LOW_ADDRESS = GPIO_ENABLE_W1TS_LOW_ADDRESS,
  266. .d_GPIO_PIN0_CONFIG_LSB = GPIO_PIN0_CONFIG_LSB,
  267. .d_GPIO_PIN0_PAD_PULL_LSB = GPIO_PIN0_PAD_PULL_LSB,
  268. .d_GPIO_PIN0_PAD_PULL_MASK = GPIO_PIN0_PAD_PULL_MASK,
  269. .d_SOC_CHIP_ID_ADDRESS = SOC_CHIP_ID_ADDRESS,
  270. .d_SOC_CHIP_ID_REVISION_MASK = SOC_CHIP_ID_REVISION_MASK,
  271. .d_SOC_CHIP_ID_REVISION_LSB = SOC_CHIP_ID_REVISION_LSB,
  272. .d_SOC_CHIP_ID_REVISION_MSB = SOC_CHIP_ID_REVISION_MSB,
  273. .d_WIFICMN_PCIE_BAR_REG_ADDRESS = WIFICMN_PCIE_BAR_REG_ADDRESS,
  274. .d_FW_AXI_MSI_ADDR = FW_AXI_MSI_ADDR,
  275. .d_FW_AXI_MSI_DATA = FW_AXI_MSI_DATA,
  276. .d_WLAN_SUBSYSTEM_CORE_ID_ADDRESS = WLAN_SUBSYSTEM_CORE_ID_ADDRESS,
  277. .d_WIFICMN_INT_STATUS_ADDRESS = WIFICMN_INT_STATUS_ADDRESS,
  278. };
  279. struct targetdef_s *MY_TARGET_DEF = &my_target_def;
  280. #else
  281. #endif
  282. #if defined(MY_CEREG_DEF)
  283. #if !defined(CE_DDR_ADDRESS_FOR_RRI_LOW)
  284. #define CE_DDR_ADDRESS_FOR_RRI_LOW ATH_UNSUPPORTED_REG_OFFSET
  285. #endif
  286. #if !defined(CE_DDR_ADDRESS_FOR_RRI_HIGH)
  287. #define CE_DDR_ADDRESS_FOR_RRI_HIGH ATH_UNSUPPORTED_REG_OFFSET
  288. #endif
  289. #if !defined(SR_BA_ADDRESS_HIGH)
  290. #define SR_BA_ADDRESS_HIGH ATH_UNSUPPORTED_REG_OFFSET
  291. #endif
  292. #if !defined(DR_BA_ADDRESS_HIGH)
  293. #define DR_BA_ADDRESS_HIGH ATH_UNSUPPORTED_REG_OFFSET
  294. #endif
  295. #if !defined(CE_CMD_REGISTER)
  296. #define CE_CMD_REGISTER ATH_UNSUPPORTED_REG_OFFSET
  297. #endif
  298. #if !defined(CE_MSI_ADDRESS)
  299. #define CE_MSI_ADDRESS ATH_UNSUPPORTED_REG_OFFSET
  300. #endif
  301. #if !defined(CE_MSI_ADDRESS_HIGH)
  302. #define CE_MSI_ADDRESS_HIGH ATH_UNSUPPORTED_REG_OFFSET
  303. #endif
  304. #if !defined(CE_MSI_DATA)
  305. #define CE_MSI_DATA ATH_UNSUPPORTED_REG_OFFSET
  306. #endif
  307. #if !defined(CE_MSI_ENABLE_BIT)
  308. #define CE_MSI_ENABLE_BIT ATH_UNSUPPORTED_REG_OFFSET
  309. #endif
  310. #if !defined(CE_CTRL1_IDX_UPD_EN_MASK)
  311. #define CE_CTRL1_IDX_UPD_EN_MASK ATH_UNSUPPORTED_REG_OFFSET
  312. #endif
  313. #if !defined(CE_WRAPPER_DEBUG_OFFSET)
  314. #define CE_WRAPPER_DEBUG_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  315. #endif
  316. #if !defined(CE_DEBUG_OFFSET)
  317. #define CE_DEBUG_OFFSET ATH_UNSUPPORTED_REG_OFFSET
  318. #endif
  319. #if !defined(A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES)
  320. #define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES ATH_UNSUPPORTED_REG_OFFSET
  321. #endif
  322. #if !defined(A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS)
  323. #define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS ATH_UNSUPPORTED_REG_OFFSET
  324. #endif
  325. #if !defined(HOST_IE_ADDRESS_2)
  326. #define HOST_IE_ADDRESS_2 ATH_UNSUPPORTED_REG_OFFSET
  327. #endif
  328. #if !defined(HOST_IE_ADDRESS_3)
  329. #define HOST_IE_ADDRESS_3 ATH_UNSUPPORTED_REG_OFFSET
  330. #endif
  331. #if !defined(HOST_IE_REG1_CE_LSB)
  332. #define HOST_IE_REG1_CE_LSB 0
  333. #endif
  334. #if !defined(HOST_IE_REG2_CE_LSB)
  335. #define HOST_IE_REG2_CE_LSB 0
  336. #endif
  337. #if !defined(HOST_IE_REG3_CE_LSB)
  338. #define HOST_IE_REG3_CE_LSB 0
  339. #endif
  340. static struct ce_reg_def my_ce_reg_def = {
  341. /* copy_engine.c */
  342. .d_DST_WR_INDEX_ADDRESS = DST_WR_INDEX_ADDRESS,
  343. .d_SRC_WATERMARK_ADDRESS = SRC_WATERMARK_ADDRESS,
  344. .d_SRC_WATERMARK_LOW_MASK = SRC_WATERMARK_LOW_MASK,
  345. .d_SRC_WATERMARK_HIGH_MASK = SRC_WATERMARK_HIGH_MASK,
  346. .d_DST_WATERMARK_LOW_MASK = DST_WATERMARK_LOW_MASK,
  347. .d_DST_WATERMARK_HIGH_MASK = DST_WATERMARK_HIGH_MASK,
  348. .d_CURRENT_SRRI_ADDRESS = CURRENT_SRRI_ADDRESS,
  349. .d_CURRENT_DRRI_ADDRESS = CURRENT_DRRI_ADDRESS,
  350. .d_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK
  351. = HOST_IS_SRC_RING_HIGH_WATERMARK_MASK,
  352. .d_HOST_IS_SRC_RING_LOW_WATERMARK_MASK
  353. = HOST_IS_SRC_RING_LOW_WATERMARK_MASK,
  354. .d_HOST_IS_DST_RING_HIGH_WATERMARK_MASK
  355. = HOST_IS_DST_RING_HIGH_WATERMARK_MASK,
  356. .d_HOST_IS_DST_RING_LOW_WATERMARK_MASK
  357. = HOST_IS_DST_RING_LOW_WATERMARK_MASK,
  358. .d_HOST_IS_ADDRESS = HOST_IS_ADDRESS,
  359. .d_MISC_IS_ADDRESS = MISC_IS_ADDRESS,
  360. .d_HOST_IS_COPY_COMPLETE_MASK = HOST_IS_COPY_COMPLETE_MASK,
  361. .d_CE_WRAPPER_BASE_ADDRESS = CE_WRAPPER_BASE_ADDRESS,
  362. .d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS
  363. = CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS,
  364. .d_CE_DDR_ADDRESS_FOR_RRI_LOW = CE_DDR_ADDRESS_FOR_RRI_LOW,
  365. .d_CE_DDR_ADDRESS_FOR_RRI_HIGH = CE_DDR_ADDRESS_FOR_RRI_HIGH,
  366. .d_HOST_IE_ADDRESS = HOST_IE_ADDRESS,
  367. .d_HOST_IE_REG1_CE_LSB = HOST_IE_REG1_CE_LSB,
  368. .d_HOST_IE_ADDRESS_2 = HOST_IE_ADDRESS_2,
  369. .d_HOST_IE_REG2_CE_LSB = HOST_IE_REG2_CE_LSB,
  370. .d_HOST_IE_ADDRESS_3 = HOST_IE_ADDRESS_3,
  371. .d_HOST_IE_REG3_CE_LSB = HOST_IE_REG3_CE_LSB,
  372. .d_HOST_IE_COPY_COMPLETE_MASK = HOST_IE_COPY_COMPLETE_MASK,
  373. .d_SR_BA_ADDRESS = SR_BA_ADDRESS,
  374. .d_SR_BA_ADDRESS_HIGH = SR_BA_ADDRESS_HIGH,
  375. .d_SR_SIZE_ADDRESS = SR_SIZE_ADDRESS,
  376. .d_CE_CTRL1_ADDRESS = CE_CTRL1_ADDRESS,
  377. .d_CE_CTRL1_DMAX_LENGTH_MASK = CE_CTRL1_DMAX_LENGTH_MASK,
  378. .d_DR_BA_ADDRESS = DR_BA_ADDRESS,
  379. .d_DR_BA_ADDRESS_HIGH = DR_BA_ADDRESS_HIGH,
  380. .d_DR_SIZE_ADDRESS = DR_SIZE_ADDRESS,
  381. .d_CE_CMD_REGISTER = CE_CMD_REGISTER,
  382. .d_CE_MSI_ADDRESS = CE_MSI_ADDRESS,
  383. .d_CE_MSI_ADDRESS_HIGH = CE_MSI_ADDRESS_HIGH,
  384. .d_CE_MSI_DATA = CE_MSI_DATA,
  385. .d_CE_MSI_ENABLE_BIT = CE_MSI_ENABLE_BIT,
  386. .d_MISC_IE_ADDRESS = MISC_IE_ADDRESS,
  387. .d_MISC_IS_AXI_ERR_MASK = MISC_IS_AXI_ERR_MASK,
  388. .d_MISC_IS_DST_ADDR_ERR_MASK = MISC_IS_DST_ADDR_ERR_MASK,
  389. .d_MISC_IS_SRC_LEN_ERR_MASK = MISC_IS_SRC_LEN_ERR_MASK,
  390. .d_MISC_IS_DST_MAX_LEN_VIO_MASK = MISC_IS_DST_MAX_LEN_VIO_MASK,
  391. .d_MISC_IS_DST_RING_OVERFLOW_MASK = MISC_IS_DST_RING_OVERFLOW_MASK,
  392. .d_MISC_IS_SRC_RING_OVERFLOW_MASK = MISC_IS_SRC_RING_OVERFLOW_MASK,
  393. .d_SRC_WATERMARK_LOW_LSB = SRC_WATERMARK_LOW_LSB,
  394. .d_SRC_WATERMARK_HIGH_LSB = SRC_WATERMARK_HIGH_LSB,
  395. .d_DST_WATERMARK_LOW_LSB = DST_WATERMARK_LOW_LSB,
  396. .d_DST_WATERMARK_HIGH_LSB = DST_WATERMARK_HIGH_LSB,
  397. .d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK
  398. = CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK,
  399. .d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB
  400. = CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB,
  401. .d_CE_CTRL1_DMAX_LENGTH_LSB = CE_CTRL1_DMAX_LENGTH_LSB,
  402. .d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK
  403. = CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK,
  404. .d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK
  405. = CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK,
  406. .d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB
  407. = CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB,
  408. .d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB
  409. = CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB,
  410. .d_CE_CTRL1_IDX_UPD_EN_MASK = CE_CTRL1_IDX_UPD_EN_MASK,
  411. .d_CE_WRAPPER_DEBUG_OFFSET = CE_WRAPPER_DEBUG_OFFSET,
  412. .d_CE_WRAPPER_DEBUG_SEL_MSB = CE_WRAPPER_DEBUG_SEL_MSB,
  413. .d_CE_WRAPPER_DEBUG_SEL_LSB = CE_WRAPPER_DEBUG_SEL_LSB,
  414. .d_CE_WRAPPER_DEBUG_SEL_MASK = CE_WRAPPER_DEBUG_SEL_MASK,
  415. .d_CE_DEBUG_OFFSET = CE_DEBUG_OFFSET,
  416. .d_CE_DEBUG_SEL_MSB = CE_DEBUG_SEL_MSB,
  417. .d_CE_DEBUG_SEL_LSB = CE_DEBUG_SEL_LSB,
  418. .d_CE_DEBUG_SEL_MASK = CE_DEBUG_SEL_MASK,
  419. .d_CE0_BASE_ADDRESS = CE0_BASE_ADDRESS,
  420. .d_CE1_BASE_ADDRESS = CE1_BASE_ADDRESS,
  421. .d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES
  422. = A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES,
  423. .d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS
  424. = A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS
  425. };
  426. struct ce_reg_def *MY_CEREG_DEF = &my_ce_reg_def;
  427. #else
  428. #endif
  429. #endif