target_reg_init.h 18 KB

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