/drivers/staging/crystalhd/bcm_70012_regs.h

https://bitbucket.org/cyanogenmod/android_kernel_asus_tf300t · C Header · 757 lines · 479 code · 106 blank · 172 comment · 1 complexity · 0c303a3abf1f9ae7b3dd9d77f2d51160 MD5 · raw file

  1. /***************************************************************************
  2. * Copyright (c) 1999-2009, Broadcom Corporation.
  3. *
  4. * Name: bcm_70012_regs.h
  5. *
  6. * Description: BCM70012 registers
  7. *
  8. ********************************************************************
  9. * This header is free software: you can redistribute it and/or modify
  10. * it under the terms of the GNU Lesser General Public License as published
  11. * by the Free Software Foundation, either version 2.1 of the License.
  12. *
  13. * This header is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU Lesser General Public License for more details.
  17. * You should have received a copy of the GNU Lesser General Public License
  18. * along with this header. If not, see <http://www.gnu.org/licenses/>.
  19. ***************************************************************************/
  20. #ifndef MACFILE_H__
  21. #define MACFILE_H__
  22. /**
  23. * m = memory, c = core, r = register, f = field, d = data.
  24. */
  25. #if !defined(GET_FIELD) && !defined(SET_FIELD)
  26. #define BRCM_ALIGN(c, r, f) c##_##r##_##f##_ALIGN
  27. #define BRCM_BITS(c, r, f) c##_##r##_##f##_BITS
  28. #define BRCM_MASK(c, r, f) c##_##r##_##f##_MASK
  29. #define BRCM_SHIFT(c, r, f) c##_##r##_##f##_SHIFT
  30. #define GET_FIELD(m, c, r, f) \
  31. ((((m) & BRCM_MASK(c, r, f)) >> BRCM_SHIFT(c, r, f)) << BRCM_ALIGN(c, r, f))
  32. #define SET_FIELD(m, c, r, f, d) \
  33. ((m) = (((m) & ~BRCM_MASK(c, r, f)) | ((((d) >> BRCM_ALIGN(c, r, f)) << \
  34. BRCM_SHIFT(c, r, f)) & BRCM_MASK(c, r, f))) \
  35. )
  36. #define SET_TYPE_FIELD(m, c, r, f, d) SET_FIELD(m, c, r, f, c##_##d)
  37. #define SET_NAME_FIELD(m, c, r, f, d) SET_FIELD(m, c, r, f, c##_##r##_##f##_##d)
  38. #define SET_VALUE_FIELD(m, c, r, f, d) SET_FIELD(m, c, r, f, d)
  39. #endif /* GET & SET */
  40. /****************************************************************************
  41. * Core Enums.
  42. ***************************************************************************/
  43. /****************************************************************************
  44. * Enums: AES_RGR_BRIDGE_RESET_CTRL
  45. ***************************************************************************/
  46. #define AES_RGR_BRIDGE_RESET_CTRL_DEASSERT 0
  47. #define AES_RGR_BRIDGE_RESET_CTRL_ASSERT 1
  48. /****************************************************************************
  49. * Enums: CCE_RGR_BRIDGE_RESET_CTRL
  50. ***************************************************************************/
  51. #define CCE_RGR_BRIDGE_RESET_CTRL_DEASSERT 0
  52. #define CCE_RGR_BRIDGE_RESET_CTRL_ASSERT 1
  53. /****************************************************************************
  54. * Enums: DBU_RGR_BRIDGE_RESET_CTRL
  55. ***************************************************************************/
  56. #define DBU_RGR_BRIDGE_RESET_CTRL_DEASSERT 0
  57. #define DBU_RGR_BRIDGE_RESET_CTRL_ASSERT 1
  58. /****************************************************************************
  59. * Enums: DCI_RGR_BRIDGE_RESET_CTRL
  60. ***************************************************************************/
  61. #define DCI_RGR_BRIDGE_RESET_CTRL_DEASSERT 0
  62. #define DCI_RGR_BRIDGE_RESET_CTRL_ASSERT 1
  63. /****************************************************************************
  64. * Enums: GISB_ARBITER_DEASSERT_ASSERT
  65. ***************************************************************************/
  66. #define GISB_ARBITER_DEASSERT_ASSERT_DEASSERT 0
  67. #define GISB_ARBITER_DEASSERT_ASSERT_ASSERT 1
  68. /****************************************************************************
  69. * Enums: GISB_ARBITER_UNMASK_MASK
  70. ***************************************************************************/
  71. #define GISB_ARBITER_UNMASK_MASK_UNMASK 0
  72. #define GISB_ARBITER_UNMASK_MASK_MASK 1
  73. /****************************************************************************
  74. * Enums: GISB_ARBITER_DISABLE_ENABLE
  75. ***************************************************************************/
  76. #define GISB_ARBITER_DISABLE_ENABLE_DISABLE 0
  77. #define GISB_ARBITER_DISABLE_ENABLE_ENABLE 1
  78. /****************************************************************************
  79. * Enums: I2C_GR_BRIDGE_RESET_CTRL
  80. ***************************************************************************/
  81. #define I2C_GR_BRIDGE_RESET_CTRL_DEASSERT 0
  82. #define I2C_GR_BRIDGE_RESET_CTRL_ASSERT 1
  83. /****************************************************************************
  84. * Enums: MISC_GR_BRIDGE_RESET_CTRL
  85. ***************************************************************************/
  86. #define MISC_GR_BRIDGE_RESET_CTRL_DEASSERT 0
  87. #define MISC_GR_BRIDGE_RESET_CTRL_ASSERT 1
  88. /****************************************************************************
  89. * Enums: OTP_GR_BRIDGE_RESET_CTRL
  90. ***************************************************************************/
  91. #define OTP_GR_BRIDGE_RESET_CTRL_DEASSERT 0
  92. #define OTP_GR_BRIDGE_RESET_CTRL_ASSERT 1
  93. /****************************************************************************
  94. * BCM70012_TGT_TOP_PCIE_CFG
  95. ***************************************************************************/
  96. #define PCIE_CFG_DEVICE_VENDOR_ID 0x00000000 /* DEVICE_VENDOR_ID Register */
  97. #define PCIE_CFG_STATUS_COMMAND 0x00000004 /* STATUS_COMMAND Register */
  98. #define PCIE_CFG_PCI_CLASSCODE_AND_REVISION_ID 0x00000008 /* PCI_CLASSCODE_AND_REVISION_ID Register */
  99. #define PCIE_CFG_BIST_HEADER_TYPE_LATENCY_TIMER_CACHE_LINE_SIZE 0x0000000c /* BIST_HEADER_TYPE_LATENCY_TIMER_CACHE_LINE_SIZE Register */
  100. #define PCIE_CFG_BASE_ADDRESS_1 0x00000010 /* BASE_ADDRESS_1 Register */
  101. #define PCIE_CFG_BASE_ADDRESS_2 0x00000014 /* BASE_ADDRESS_2 Register */
  102. #define PCIE_CFG_BASE_ADDRESS_3 0x00000018 /* BASE_ADDRESS_3 Register */
  103. #define PCIE_CFG_BASE_ADDRESS_4 0x0000001c /* BASE_ADDRESS_4 Register */
  104. #define PCIE_CFG_CARDBUS_CIS_POINTER 0x00000028 /* CARDBUS_CIS_POINTER Register */
  105. #define PCIE_CFG_SUBSYSTEM_DEVICE_VENDOR_ID 0x0000002c /* SUBSYSTEM_DEVICE_VENDOR_ID Register */
  106. #define PCIE_CFG_EXPANSION_ROM_BASE_ADDRESS 0x00000030 /* EXPANSION_ROM_BASE_ADDRESS Register */
  107. #define PCIE_CFG_CAPABILITIES_POINTER 0x00000034 /* CAPABILITIES_POINTER Register */
  108. #define PCIE_CFG_INTERRUPT 0x0000003c /* INTERRUPT Register */
  109. #define PCIE_CFG_VPD_CAPABILITIES 0x00000040 /* VPD_CAPABILITIES Register */
  110. #define PCIE_CFG_VPD_DATA 0x00000044 /* VPD_DATA Register */
  111. #define PCIE_CFG_POWER_MANAGEMENT_CAPABILITY 0x00000048 /* POWER_MANAGEMENT_CAPABILITY Register */
  112. #define PCIE_CFG_POWER_MANAGEMENT_CONTROL_STATUS 0x0000004c /* POWER_MANAGEMENT_CONTROL_STATUS Register */
  113. #define PCIE_CFG_MSI_CAPABILITY_HEADER 0x00000050 /* MSI_CAPABILITY_HEADER Register */
  114. #define PCIE_CFG_MSI_LOWER_ADDRESS 0x00000054 /* MSI_LOWER_ADDRESS Register */
  115. #define PCIE_CFG_MSI_UPPER_ADDRESS_REGISTER 0x00000058 /* MSI_UPPER_ADDRESS_REGISTER Register */
  116. #define PCIE_CFG_MSI_DATA 0x0000005c /* MSI_DATA Register */
  117. #define PCIE_CFG_BROADCOM_VENDOR_SPECIFIC_CAPABILITY_HEADER 0x00000060 /* BROADCOM_VENDOR_SPECIFIC_CAPABILITY_HEADER Register */
  118. #define PCIE_CFG_RESET_COUNTERS_INITIAL_VALUES 0x00000064 /* RESET_COUNTERS_INITIAL_VALUES Register */
  119. #define PCIE_CFG_MISCELLANEOUS_HOST_CONTROL 0x00000068 /* MISCELLANEOUS_HOST_CONTROL Register */
  120. #define PCIE_CFG_SPARE 0x0000006c /* SPARE Register */
  121. #define PCIE_CFG_PCI_STATE 0x00000070 /* PCI_STATE Register */
  122. #define PCIE_CFG_CLOCK_CONTROL 0x00000074 /* CLOCK_CONTROL Register */
  123. #define PCIE_CFG_REGISTER_BASE 0x00000078 /* REGISTER_BASE Register */
  124. #define PCIE_CFG_MEMORY_BASE 0x0000007c /* MEMORY_BASE Register */
  125. #define PCIE_CFG_REGISTER_DATA 0x00000080 /* REGISTER_DATA Register */
  126. #define PCIE_CFG_MEMORY_DATA 0x00000084 /* MEMORY_DATA Register */
  127. #define PCIE_CFG_EXPANSION_ROM_BAR_SIZE 0x00000088 /* EXPANSION_ROM_BAR_SIZE Register */
  128. #define PCIE_CFG_EXPANSION_ROM_ADDRESS 0x0000008c /* EXPANSION_ROM_ADDRESS Register */
  129. #define PCIE_CFG_EXPANSION_ROM_DATA 0x00000090 /* EXPANSION_ROM_DATA Register */
  130. #define PCIE_CFG_VPD_INTERFACE 0x00000094 /* VPD_INTERFACE Register */
  131. #define PCIE_CFG_UNDI_RECEIVE_BD_STANDARD_PRODUCER_RING_PRODUCER_INDEX_MAILBOX_UPPER 0x00000098 /* UNDI_RECEIVE_BD_STANDARD_PRODUCER_RING_PRODUCER_INDEX_MAILBOX_UPPER Register */
  132. #define PCIE_CFG_UNDI_RECEIVE_BD_STANDARD_PRODUCER_RING_PRODUCER_INDEX_MAILBOX_LOWER 0x0000009c /* UNDI_RECEIVE_BD_STANDARD_PRODUCER_RING_PRODUCER_INDEX_MAILBOX_LOWER Register */
  133. #define PCIE_CFG_UNDI_RECEIVE_RETURN_RING_CONSUMER_INDEX_UPPER 0x000000a0 /* UNDI_RECEIVE_RETURN_RING_CONSUMER_INDEX_UPPER Register */
  134. #define PCIE_CFG_UNDI_RECEIVE_RETURN_RING_CONSUMER_INDEX_LOWER 0x000000a4 /* UNDI_RECEIVE_RETURN_RING_CONSUMER_INDEX_LOWER Register */
  135. #define PCIE_CFG_UNDI_SEND_BD_PRODUCER_INDEX_MAILBOX_UPPER 0x000000a8 /* UNDI_SEND_BD_PRODUCER_INDEX_MAILBOX_UPPER Register */
  136. #define PCIE_CFG_UNDI_SEND_BD_PRODUCER_INDEX_MAILBOX_LOWER 0x000000ac /* UNDI_SEND_BD_PRODUCER_INDEX_MAILBOX_LOWER Register */
  137. #define PCIE_CFG_INT_MAILBOX_UPPER 0x000000b0 /* INT_MAILBOX_UPPER Register */
  138. #define PCIE_CFG_INT_MAILBOX_LOWER 0x000000b4 /* INT_MAILBOX_LOWER Register */
  139. #define PCIE_CFG_PRODUCT_ID_AND_ASIC_REVISION 0x000000bc /* PRODUCT_ID_AND_ASIC_REVISION Register */
  140. #define PCIE_CFG_FUNCTION_EVENT 0x000000c0 /* FUNCTION_EVENT Register */
  141. #define PCIE_CFG_FUNCTION_EVENT_MASK 0x000000c4 /* FUNCTION_EVENT_MASK Register */
  142. #define PCIE_CFG_FUNCTION_PRESENT 0x000000c8 /* FUNCTION_PRESENT Register */
  143. #define PCIE_CFG_PCIE_CAPABILITIES 0x000000cc /* PCIE_CAPABILITIES Register */
  144. #define PCIE_CFG_DEVICE_CAPABILITIES 0x000000d0 /* DEVICE_CAPABILITIES Register */
  145. #define PCIE_CFG_DEVICE_STATUS_CONTROL 0x000000d4 /* DEVICE_STATUS_CONTROL Register */
  146. #define PCIE_CFG_LINK_CAPABILITY 0x000000d8 /* LINK_CAPABILITY Register */
  147. #define PCIE_CFG_LINK_STATUS_CONTROL 0x000000dc /* LINK_STATUS_CONTROL Register */
  148. #define PCIE_CFG_DEVICE_CAPABILITIES_2 0x000000f0 /* DEVICE_CAPABILITIES_2 Register */
  149. #define PCIE_CFG_DEVICE_STATUS_CONTROL_2 0x000000f4 /* DEVICE_STATUS_CONTROL_2 Register */
  150. #define PCIE_CFG_LINK_CAPABILITIES_2 0x000000f8 /* LINK_CAPABILITIES_2 Register */
  151. #define PCIE_CFG_LINK_STATUS_CONTROL_2 0x000000fc /* LINK_STATUS_CONTROL_2 Register */
  152. #define PCIE_CFG_ADVANCED_ERROR_REPORTING_ENHANCED_CAPABILITY_HEADER 0x00000100 /* ADVANCED_ERROR_REPORTING_ENHANCED_CAPABILITY_HEADER Register */
  153. #define PCIE_CFG_UNCORRECTABLE_ERROR_STATUS 0x00000104 /* UNCORRECTABLE_ERROR_STATUS Register */
  154. #define PCIE_CFG_UNCORRECTABLE_ERROR_MASK 0x00000108 /* UNCORRECTABLE_ERROR_MASK Register */
  155. #define PCIE_CFG_UNCORRECTABLE_ERROR_SEVERITY 0x0000010c /* UNCORRECTABLE_ERROR_SEVERITY Register */
  156. #define PCIE_CFG_CORRECTABLE_ERROR_STATUS 0x00000110 /* CORRECTABLE_ERROR_STATUS Register */
  157. #define PCIE_CFG_CORRECTABLE_ERROR_MASK 0x00000114 /* CORRECTABLE_ERROR_MASK Register */
  158. #define PCIE_CFG_ADVANCED_ERROR_CAPABILITIES_AND_CONTROL 0x00000118 /* ADVANCED_ERROR_CAPABILITIES_AND_CONTROL Register */
  159. #define PCIE_CFG_HEADER_LOG_1 0x0000011c /* HEADER_LOG_1 Register */
  160. #define PCIE_CFG_HEADER_LOG_2 0x00000120 /* HEADER_LOG_2 Register */
  161. #define PCIE_CFG_HEADER_LOG_3 0x00000124 /* HEADER_LOG_3 Register */
  162. #define PCIE_CFG_HEADER_LOG_4 0x00000128 /* HEADER_LOG_4 Register */
  163. #define PCIE_CFG_VIRTUAL_CHANNEL_ENHANCED_CAPABILITY_HEADER 0x0000013c /* VIRTUAL_CHANNEL_ENHANCED_CAPABILITY_HEADER Register */
  164. #define PCIE_CFG_PORT_VC_CAPABILITY 0x00000140 /* PORT_VC_CAPABILITY Register */
  165. #define PCIE_CFG_PORT_VC_CAPABILITY_2 0x00000144 /* PORT_VC_CAPABILITY_2 Register */
  166. #define PCIE_CFG_PORT_VC_STATUS_CONTROL 0x00000148 /* PORT_VC_STATUS_CONTROL Register */
  167. #define PCIE_CFG_VC_RESOURCE_CAPABILITY 0x0000014c /* VC_RESOURCE_CAPABILITY Register */
  168. #define PCIE_CFG_VC_RESOURCE_CONTROL 0x00000150 /* VC_RESOURCE_CONTROL Register */
  169. #define PCIE_CFG_VC_RESOURCE_STATUS 0x00000154 /* VC_RESOURCE_STATUS Register */
  170. #define PCIE_CFG_DEVICE_SERIAL_NO_ENHANCED_CAPABILITY_HEADER 0x00000160 /* DEVICE_SERIAL_NO_ENHANCED_CAPABILITY_HEADER Register */
  171. #define PCIE_CFG_DEVICE_SERIAL_NO_LOWER_DW 0x00000164 /* DEVICE_SERIAL_NO_LOWER_DW Register */
  172. #define PCIE_CFG_DEVICE_SERIAL_NO_UPPER_DW 0x00000168 /* DEVICE_SERIAL_NO_UPPER_DW Register */
  173. #define PCIE_CFG_POWER_BUDGETING_ENHANCED_CAPABILITY_HEADER 0x0000016c /* POWER_BUDGETING_ENHANCED_CAPABILITY_HEADER Register */
  174. #define PCIE_CFG_POWER_BUDGETING_DATA_SELECT 0x00000170 /* POWER_BUDGETING_DATA_SELECT Register */
  175. #define PCIE_CFG_POWER_BUDGETING_DATA 0x00000174 /* POWER_BUDGETING_DATA Register */
  176. #define PCIE_CFG_POWER_BUDGETING_CAPABILITY 0x00000178 /* POWER_BUDGETING_CAPABILITY Register */
  177. #define PCIE_CFG_FIRMWARE_POWER_BUDGETING_2_1 0x0000017c /* FIRMWARE_POWER_BUDGETING_2_1 Register */
  178. #define PCIE_CFG_FIRMWARE_POWER_BUDGETING_4_3 0x00000180 /* FIRMWARE_POWER_BUDGETING_4_3 Register */
  179. #define PCIE_CFG_FIRMWARE_POWER_BUDGETING_6_5 0x00000184 /* FIRMWARE_POWER_BUDGETING_6_5 Register */
  180. #define PCIE_CFG_FIRMWARE_POWER_BUDGETING_8_7 0x00000188 /* FIRMWARE_POWER_BUDGETING_8_7 Register */
  181. #define PCIE_CFG_PCIE_1_1_ADVISORY_NON_FATAL_ERROR_MASKING 0x0000018c /* PCIE_1_1_ADVISORY_NON_FATAL_ERROR_MASKING Register */
  182. /****************************************************************************
  183. * BCM70012_TGT_TOP_PCIE_TL
  184. ***************************************************************************/
  185. #define PCIE_TL_TL_CONTROL 0x00000400 /* TL_CONTROL Register */
  186. #define PCIE_TL_TRANSACTION_CONFIGURATION 0x00000404 /* TRANSACTION_CONFIGURATION Register */
  187. /****************************************************************************
  188. * BCM70012_TGT_TOP_PCIE_DLL
  189. ***************************************************************************/
  190. #define PCIE_DLL_DATA_LINK_CONTROL 0x00000500 /* DATA_LINK_CONTROL Register */
  191. #define PCIE_DLL_DATA_LINK_STATUS 0x00000504 /* DATA_LINK_STATUS Register */
  192. /****************************************************************************
  193. * BCM70012_TGT_TOP_INTR
  194. ***************************************************************************/
  195. #define INTR_INTR_STATUS 0x00000700 /* Interrupt Status Register */
  196. #define INTR_INTR_SET 0x00000704 /* Interrupt Set Register */
  197. #define INTR_INTR_CLR_REG 0x00000708 /* Interrupt Clear Register */
  198. #define INTR_INTR_MSK_STS_REG 0x0000070c /* Interrupt Mask Status Register */
  199. #define INTR_INTR_MSK_SET_REG 0x00000710 /* Interrupt Mask Set Register */
  200. #define INTR_INTR_MSK_CLR_REG 0x00000714 /* Interrupt Mask Clear Register */
  201. #define INTR_EOI_CTRL 0x00000720 /* End of interrupt control register */
  202. /****************************************************************************
  203. * BCM70012_MISC_TOP_MISC1
  204. ***************************************************************************/
  205. #define MISC1_TX_FIRST_DESC_L_ADDR_LIST0 0x00000c00 /* Tx DMA Descriptor List0 First Descriptor lower Address */
  206. #define MISC1_TX_FIRST_DESC_U_ADDR_LIST0 0x00000c04 /* Tx DMA Descriptor List0 First Descriptor Upper Address */
  207. #define MISC1_TX_FIRST_DESC_L_ADDR_LIST1 0x00000c08 /* Tx DMA Descriptor List1 First Descriptor Lower Address */
  208. #define MISC1_TX_FIRST_DESC_U_ADDR_LIST1 0x00000c0c /* Tx DMA Descriptor List1 First Descriptor Upper Address */
  209. #define MISC1_TX_SW_DESC_LIST_CTRL_STS 0x00000c10 /* Tx DMA Software Descriptor List Control and Status */
  210. #define MISC1_TX_DMA_ERROR_STATUS 0x00000c18 /* Tx DMA Engine Error Status */
  211. #define MISC1_TX_DMA_LIST0_CUR_DESC_L_ADDR 0x00000c1c /* Tx DMA List0 Current Descriptor Lower Address */
  212. #define MISC1_TX_DMA_LIST0_CUR_DESC_U_ADDR 0x00000c20 /* Tx DMA List0 Current Descriptor Upper Address */
  213. #define MISC1_TX_DMA_LIST0_CUR_BYTE_CNT_REM 0x00000c24 /* Tx DMA List0 Current Descriptor Upper Address */
  214. #define MISC1_TX_DMA_LIST1_CUR_DESC_L_ADDR 0x00000c28 /* Tx DMA List1 Current Descriptor Lower Address */
  215. #define MISC1_TX_DMA_LIST1_CUR_DESC_U_ADDR 0x00000c2c /* Tx DMA List1 Current Descriptor Upper Address */
  216. #define MISC1_TX_DMA_LIST1_CUR_BYTE_CNT_REM 0x00000c30 /* Tx DMA List1 Current Descriptor Upper Address */
  217. #define MISC1_Y_RX_FIRST_DESC_L_ADDR_LIST0 0x00000c34 /* Y Rx Descriptor List0 First Descriptor Lower Address */
  218. #define MISC1_Y_RX_FIRST_DESC_U_ADDR_LIST0 0x00000c38 /* Y Rx Descriptor List0 First Descriptor Upper Address */
  219. #define MISC1_Y_RX_FIRST_DESC_L_ADDR_LIST1 0x00000c3c /* Y Rx Descriptor List1 First Descriptor Lower Address */
  220. #define MISC1_Y_RX_FIRST_DESC_U_ADDR_LIST1 0x00000c40 /* Y Rx Descriptor List1 First Descriptor Upper Address */
  221. #define MISC1_Y_RX_SW_DESC_LIST_CTRL_STS 0x00000c44 /* Y Rx Software Descriptor List Control and Status */
  222. #define MISC1_Y_RX_ERROR_STATUS 0x00000c4c /* Y Rx Engine Error Status */
  223. #define MISC1_Y_RX_LIST0_CUR_DESC_L_ADDR 0x00000c50 /* Y Rx List0 Current Descriptor Lower Address */
  224. #define MISC1_Y_RX_LIST0_CUR_DESC_U_ADDR 0x00000c54 /* Y Rx List0 Current Descriptor Upper Address */
  225. #define MISC1_Y_RX_LIST0_CUR_BYTE_CNT 0x00000c58 /* Y Rx List0 Current Descriptor Byte Count */
  226. #define MISC1_Y_RX_LIST1_CUR_DESC_L_ADDR 0x00000c5c /* Y Rx List1 Current Descriptor Lower address */
  227. #define MISC1_Y_RX_LIST1_CUR_DESC_U_ADDR 0x00000c60 /* Y Rx List1 Current Descriptor Upper address */
  228. #define MISC1_Y_RX_LIST1_CUR_BYTE_CNT 0x00000c64 /* Y Rx List1 Current Descriptor Byte Count */
  229. #define MISC1_UV_RX_FIRST_DESC_L_ADDR_LIST0 0x00000c68 /* UV Rx Descriptor List0 First Descriptor lower Address */
  230. #define MISC1_UV_RX_FIRST_DESC_U_ADDR_LIST0 0x00000c6c /* UV Rx Descriptor List0 First Descriptor Upper Address */
  231. #define MISC1_UV_RX_FIRST_DESC_L_ADDR_LIST1 0x00000c70 /* UV Rx Descriptor List1 First Descriptor Lower Address */
  232. #define MISC1_UV_RX_FIRST_DESC_U_ADDR_LIST1 0x00000c74 /* UV Rx Descriptor List1 First Descriptor Upper Address */
  233. #define MISC1_UV_RX_SW_DESC_LIST_CTRL_STS 0x00000c78 /* UV Rx Software Descriptor List Control and Status */
  234. #define MISC1_UV_RX_ERROR_STATUS 0x00000c7c /* UV Rx Engine Error Status */
  235. #define MISC1_UV_RX_LIST0_CUR_DESC_L_ADDR 0x00000c80 /* UV Rx List0 Current Descriptor Lower Address */
  236. #define MISC1_UV_RX_LIST0_CUR_DESC_U_ADDR 0x00000c84 /* UV Rx List0 Current Descriptor Upper Address */
  237. #define MISC1_UV_RX_LIST0_CUR_BYTE_CNT 0x00000c88 /* UV Rx List0 Current Descriptor Byte Count */
  238. #define MISC1_UV_RX_LIST1_CUR_DESC_L_ADDR 0x00000c8c /* UV Rx List1 Current Descriptor Lower Address */
  239. #define MISC1_UV_RX_LIST1_CUR_DESC_U_ADDR 0x00000c90 /* UV Rx List1 Current Descriptor Upper Address */
  240. #define MISC1_UV_RX_LIST1_CUR_BYTE_CNT 0x00000c94 /* UV Rx List1 Current Descriptor Byte Count */
  241. #define MISC1_DMA_DEBUG_OPTIONS_REG 0x00000c98 /* DMA Debug Options Register */
  242. #define MISC1_READ_CHANNEL_ERROR_STATUS 0x00000c9c /* Read Channel Error Status */
  243. #define MISC1_PCIE_DMA_CTRL 0x00000ca0 /* PCIE DMA Control Register */
  244. /****************************************************************************
  245. * BCM70012_MISC_TOP_MISC2
  246. ***************************************************************************/
  247. #define MISC2_GLOBAL_CTRL 0x00000d00 /* Global Control Register */
  248. #define MISC2_INTERNAL_STATUS 0x00000d04 /* Internal Status Register */
  249. #define MISC2_INTERNAL_STATUS_MUX_CTRL 0x00000d08 /* Internal Debug Mux Control */
  250. #define MISC2_DEBUG_FIFO_LENGTH 0x00000d0c /* Debug FIFO Length */
  251. /****************************************************************************
  252. * BCM70012_MISC_TOP_MISC3
  253. ***************************************************************************/
  254. #define MISC3_RESET_CTRL 0x00000e00 /* Reset Control Register */
  255. #define MISC3_BIST_CTRL 0x00000e04 /* BIST Control Register */
  256. #define MISC3_BIST_STATUS 0x00000e08 /* BIST Status Register */
  257. #define MISC3_RX_CHECKSUM 0x00000e0c /* Receive Checksum */
  258. #define MISC3_TX_CHECKSUM 0x00000e10 /* Transmit Checksum */
  259. #define MISC3_ECO_CTRL_CORE 0x00000e14 /* ECO Core Reset Control Register */
  260. #define MISC3_CSI_TEST_CTRL 0x00000e18 /* CSI Test Control Register */
  261. #define MISC3_HD_DVI_TEST_CTRL 0x00000e1c /* HD DVI Test Control Register */
  262. /****************************************************************************
  263. * BCM70012_MISC_TOP_MISC_PERST
  264. ***************************************************************************/
  265. #define MISC_PERST_ECO_CTRL_PERST 0x00000e80 /* ECO PCIE Reset Control Register */
  266. #define MISC_PERST_DECODER_CTRL 0x00000e84 /* Decoder Control Register */
  267. #define MISC_PERST_CCE_STATUS 0x00000e88 /* Config Copy Engine Status */
  268. #define MISC_PERST_PCIE_DEBUG 0x00000e8c /* PCIE Debug Control Register */
  269. #define MISC_PERST_PCIE_DEBUG_STATUS 0x00000e90 /* PCIE Debug Status Register */
  270. #define MISC_PERST_VREG_CTRL 0x00000e94 /* Voltage Regulator Control Register */
  271. #define MISC_PERST_MEM_CTRL 0x00000e98 /* Memory Control Register */
  272. #define MISC_PERST_CLOCK_CTRL 0x00000e9c /* Clock Control Register */
  273. /****************************************************************************
  274. * BCM70012_MISC_TOP_GISB_ARBITER
  275. ***************************************************************************/
  276. #define GISB_ARBITER_REVISION 0x00000f00 /* GISB ARBITER REVISION */
  277. #define GISB_ARBITER_SCRATCH 0x00000f04 /* GISB ARBITER Scratch Register */
  278. #define GISB_ARBITER_REQ_MASK 0x00000f08 /* GISB ARBITER Master Request Mask Register */
  279. #define GISB_ARBITER_TIMER 0x00000f0c /* GISB ARBITER Timer Value Register */
  280. /****************************************************************************
  281. * BCM70012_OTP_TOP_OTP
  282. ***************************************************************************/
  283. #define OTP_CONFIG_INFO 0x00001400 /* OTP Configuration Register */
  284. #define OTP_CMD 0x00001404 /* OTP Command Register */
  285. #define OTP_STATUS 0x00001408 /* OTP Status Register */
  286. #define OTP_CONTENT_MISC 0x0000140c /* Content : Miscellaneous Register */
  287. #define OTP_CONTENT_AES_0 0x00001410 /* Content : AES Key 0 Register */
  288. #define OTP_CONTENT_AES_1 0x00001414 /* Content : AES Key 1 Register */
  289. #define OTP_CONTENT_AES_2 0x00001418 /* Content : AES Key 2 Register */
  290. #define OTP_CONTENT_AES_3 0x0000141c /* Content : AES Key 3 Register */
  291. #define OTP_CONTENT_SHA_0 0x00001420 /* Content : SHA Key 0 Register */
  292. #define OTP_CONTENT_SHA_1 0x00001424 /* Content : SHA Key 1 Register */
  293. #define OTP_CONTENT_SHA_2 0x00001428 /* Content : SHA Key 2 Register */
  294. #define OTP_CONTENT_SHA_3 0x0000142c /* Content : SHA Key 3 Register */
  295. #define OTP_CONTENT_SHA_4 0x00001430 /* Content : SHA Key 4 Register */
  296. #define OTP_CONTENT_SHA_5 0x00001434 /* Content : SHA Key 5 Register */
  297. #define OTP_CONTENT_SHA_6 0x00001438 /* Content : SHA Key 6 Register */
  298. #define OTP_CONTENT_SHA_7 0x0000143c /* Content : SHA Key 7 Register */
  299. #define OTP_CONTENT_CHECKSUM 0x00001440 /* Content : Checksum Register */
  300. #define OTP_PROG_CTRL 0x00001444 /* Programming Control Register */
  301. #define OTP_PROG_STATUS 0x00001448 /* Programming Status Register */
  302. #define OTP_PROG_PULSE 0x0000144c /* Program Pulse Width Register */
  303. #define OTP_VERIFY_PULSE 0x00001450 /* Verify Pulse Width Register */
  304. #define OTP_PROG_MASK 0x00001454 /* Program Mask Register */
  305. #define OTP_DATA_INPUT 0x00001458 /* Data Input Register */
  306. #define OTP_DATA_OUTPUT 0x0000145c /* Data Output Register */
  307. /****************************************************************************
  308. * BCM70012_AES_TOP_AES
  309. ***************************************************************************/
  310. #define AES_CONFIG_INFO 0x00001800 /* AES Configuration Information Register */
  311. #define AES_CMD 0x00001804 /* AES Command Register */
  312. #define AES_STATUS 0x00001808 /* AES Status Register */
  313. #define AES_EEPROM_CONFIG 0x0000180c /* AES EEPROM Configuration Register */
  314. #define AES_EEPROM_DATA_0 0x00001810 /* AES EEPROM Data Register 0 */
  315. #define AES_EEPROM_DATA_1 0x00001814 /* AES EEPROM Data Register 1 */
  316. #define AES_EEPROM_DATA_2 0x00001818 /* AES EEPROM Data Register 2 */
  317. #define AES_EEPROM_DATA_3 0x0000181c /* AES EEPROM Data Register 3 */
  318. /****************************************************************************
  319. * BCM70012_DCI_TOP_DCI
  320. ***************************************************************************/
  321. #define DCI_CMD 0x00001c00 /* DCI Command Register */
  322. #define DCI_STATUS 0x00001c04 /* DCI Status Register */
  323. #define DCI_DRAM_BASE_ADDR 0x00001c08 /* DRAM Base Address Register */
  324. #define DCI_FIRMWARE_ADDR 0x00001c0c /* Firmware Address Register */
  325. #define DCI_FIRMWARE_DATA 0x00001c10 /* Firmware Data Register */
  326. #define DCI_SIGNATURE_DATA_0 0x00001c14 /* Signature Data Register 0 */
  327. #define DCI_SIGNATURE_DATA_1 0x00001c18 /* Signature Data Register 1 */
  328. #define DCI_SIGNATURE_DATA_2 0x00001c1c /* Signature Data Register 2 */
  329. #define DCI_SIGNATURE_DATA_3 0x00001c20 /* Signature Data Register 3 */
  330. #define DCI_SIGNATURE_DATA_4 0x00001c24 /* Signature Data Register 4 */
  331. #define DCI_SIGNATURE_DATA_5 0x00001c28 /* Signature Data Register 5 */
  332. #define DCI_SIGNATURE_DATA_6 0x00001c2c /* Signature Data Register 6 */
  333. #define DCI_SIGNATURE_DATA_7 0x00001c30 /* Signature Data Register 7 */
  334. /****************************************************************************
  335. * BCM70012_TGT_TOP_INTR
  336. ***************************************************************************/
  337. /****************************************************************************
  338. * INTR :: INTR_STATUS
  339. ***************************************************************************/
  340. /* INTR :: INTR_STATUS :: reserved0 [31:26] */
  341. #define INTR_INTR_STATUS_reserved0_MASK 0xfc000000
  342. #define INTR_INTR_STATUS_reserved0_ALIGN 0
  343. #define INTR_INTR_STATUS_reserved0_BITS 6
  344. #define INTR_INTR_STATUS_reserved0_SHIFT 26
  345. /* INTR :: INTR_STATUS :: PCIE_TGT_CA_ATTN [25:25] */
  346. #define INTR_INTR_STATUS_PCIE_TGT_CA_ATTN_MASK 0x02000000
  347. #define INTR_INTR_STATUS_PCIE_TGT_CA_ATTN_ALIGN 0
  348. #define INTR_INTR_STATUS_PCIE_TGT_CA_ATTN_BITS 1
  349. #define INTR_INTR_STATUS_PCIE_TGT_CA_ATTN_SHIFT 25
  350. /* INTR :: INTR_STATUS :: PCIE_TGT_UR_ATTN [24:24] */
  351. #define INTR_INTR_STATUS_PCIE_TGT_UR_ATTN_MASK 0x01000000
  352. #define INTR_INTR_STATUS_PCIE_TGT_UR_ATTN_ALIGN 0
  353. #define INTR_INTR_STATUS_PCIE_TGT_UR_ATTN_BITS 1
  354. #define INTR_INTR_STATUS_PCIE_TGT_UR_ATTN_SHIFT 24
  355. /* INTR :: INTR_STATUS :: reserved1 [23:14] */
  356. #define INTR_INTR_STATUS_reserved1_MASK 0x00ffc000
  357. #define INTR_INTR_STATUS_reserved1_ALIGN 0
  358. #define INTR_INTR_STATUS_reserved1_BITS 10
  359. #define INTR_INTR_STATUS_reserved1_SHIFT 14
  360. /* INTR :: INTR_STATUS :: L1_UV_RX_DMA_ERR_INTR [13:13] */
  361. #define INTR_INTR_STATUS_L1_UV_RX_DMA_ERR_INTR_MASK 0x00002000
  362. #define INTR_INTR_STATUS_L1_UV_RX_DMA_ERR_INTR_ALIGN 0
  363. #define INTR_INTR_STATUS_L1_UV_RX_DMA_ERR_INTR_BITS 1
  364. #define INTR_INTR_STATUS_L1_UV_RX_DMA_ERR_INTR_SHIFT 13
  365. /* INTR :: INTR_STATUS :: L1_UV_RX_DMA_DONE_INTR [12:12] */
  366. #define INTR_INTR_STATUS_L1_UV_RX_DMA_DONE_INTR_MASK 0x00001000
  367. #define INTR_INTR_STATUS_L1_UV_RX_DMA_DONE_INTR_ALIGN 0
  368. #define INTR_INTR_STATUS_L1_UV_RX_DMA_DONE_INTR_BITS 1
  369. #define INTR_INTR_STATUS_L1_UV_RX_DMA_DONE_INTR_SHIFT 12
  370. /* INTR :: INTR_STATUS :: L1_Y_RX_DMA_ERR_INTR [11:11] */
  371. #define INTR_INTR_STATUS_L1_Y_RX_DMA_ERR_INTR_MASK 0x00000800
  372. #define INTR_INTR_STATUS_L1_Y_RX_DMA_ERR_INTR_ALIGN 0
  373. #define INTR_INTR_STATUS_L1_Y_RX_DMA_ERR_INTR_BITS 1
  374. #define INTR_INTR_STATUS_L1_Y_RX_DMA_ERR_INTR_SHIFT 11
  375. /* INTR :: INTR_STATUS :: L1_Y_RX_DMA_DONE_INTR [10:10] */
  376. #define INTR_INTR_STATUS_L1_Y_RX_DMA_DONE_INTR_MASK 0x00000400
  377. #define INTR_INTR_STATUS_L1_Y_RX_DMA_DONE_INTR_ALIGN 0
  378. #define INTR_INTR_STATUS_L1_Y_RX_DMA_DONE_INTR_BITS 1
  379. #define INTR_INTR_STATUS_L1_Y_RX_DMA_DONE_INTR_SHIFT 10
  380. /* INTR :: INTR_STATUS :: L1_TX_DMA_ERR_INTR [09:09] */
  381. #define INTR_INTR_STATUS_L1_TX_DMA_ERR_INTR_MASK 0x00000200
  382. #define INTR_INTR_STATUS_L1_TX_DMA_ERR_INTR_ALIGN 0
  383. #define INTR_INTR_STATUS_L1_TX_DMA_ERR_INTR_BITS 1
  384. #define INTR_INTR_STATUS_L1_TX_DMA_ERR_INTR_SHIFT 9
  385. /* INTR :: INTR_STATUS :: L1_TX_DMA_DONE_INTR [08:08] */
  386. #define INTR_INTR_STATUS_L1_TX_DMA_DONE_INTR_MASK 0x00000100
  387. #define INTR_INTR_STATUS_L1_TX_DMA_DONE_INTR_ALIGN 0
  388. #define INTR_INTR_STATUS_L1_TX_DMA_DONE_INTR_BITS 1
  389. #define INTR_INTR_STATUS_L1_TX_DMA_DONE_INTR_SHIFT 8
  390. /* INTR :: INTR_STATUS :: reserved2 [07:06] */
  391. #define INTR_INTR_STATUS_reserved2_MASK 0x000000c0
  392. #define INTR_INTR_STATUS_reserved2_ALIGN 0
  393. #define INTR_INTR_STATUS_reserved2_BITS 2
  394. #define INTR_INTR_STATUS_reserved2_SHIFT 6
  395. /* INTR :: INTR_STATUS :: L0_UV_RX_DMA_ERR_INTR [05:05] */
  396. #define INTR_INTR_STATUS_L0_UV_RX_DMA_ERR_INTR_MASK 0x00000020
  397. #define INTR_INTR_STATUS_L0_UV_RX_DMA_ERR_INTR_ALIGN 0
  398. #define INTR_INTR_STATUS_L0_UV_RX_DMA_ERR_INTR_BITS 1
  399. #define INTR_INTR_STATUS_L0_UV_RX_DMA_ERR_INTR_SHIFT 5
  400. /* INTR :: INTR_STATUS :: L0_UV_RX_DMA_DONE_INTR [04:04] */
  401. #define INTR_INTR_STATUS_L0_UV_RX_DMA_DONE_INTR_MASK 0x00000010
  402. #define INTR_INTR_STATUS_L0_UV_RX_DMA_DONE_INTR_ALIGN 0
  403. #define INTR_INTR_STATUS_L0_UV_RX_DMA_DONE_INTR_BITS 1
  404. #define INTR_INTR_STATUS_L0_UV_RX_DMA_DONE_INTR_SHIFT 4
  405. /* INTR :: INTR_STATUS :: L0_Y_RX_DMA_ERR_INTR [03:03] */
  406. #define INTR_INTR_STATUS_L0_Y_RX_DMA_ERR_INTR_MASK 0x00000008
  407. #define INTR_INTR_STATUS_L0_Y_RX_DMA_ERR_INTR_ALIGN 0
  408. #define INTR_INTR_STATUS_L0_Y_RX_DMA_ERR_INTR_BITS 1
  409. #define INTR_INTR_STATUS_L0_Y_RX_DMA_ERR_INTR_SHIFT 3
  410. /* INTR :: INTR_STATUS :: L0_Y_RX_DMA_DONE_INTR [02:02] */
  411. #define INTR_INTR_STATUS_L0_Y_RX_DMA_DONE_INTR_MASK 0x00000004
  412. #define INTR_INTR_STATUS_L0_Y_RX_DMA_DONE_INTR_ALIGN 0
  413. #define INTR_INTR_STATUS_L0_Y_RX_DMA_DONE_INTR_BITS 1
  414. #define INTR_INTR_STATUS_L0_Y_RX_DMA_DONE_INTR_SHIFT 2
  415. /* INTR :: INTR_STATUS :: L0_TX_DMA_ERR_INTR [01:01] */
  416. #define INTR_INTR_STATUS_L0_TX_DMA_ERR_INTR_MASK 0x00000002
  417. #define INTR_INTR_STATUS_L0_TX_DMA_ERR_INTR_ALIGN 0
  418. #define INTR_INTR_STATUS_L0_TX_DMA_ERR_INTR_BITS 1
  419. #define INTR_INTR_STATUS_L0_TX_DMA_ERR_INTR_SHIFT 1
  420. /* INTR :: INTR_STATUS :: L0_TX_DMA_DONE_INTR [00:00] */
  421. #define INTR_INTR_STATUS_L0_TX_DMA_DONE_INTR_MASK 0x00000001
  422. #define INTR_INTR_STATUS_L0_TX_DMA_DONE_INTR_ALIGN 0
  423. #define INTR_INTR_STATUS_L0_TX_DMA_DONE_INTR_BITS 1
  424. #define INTR_INTR_STATUS_L0_TX_DMA_DONE_INTR_SHIFT 0
  425. /****************************************************************************
  426. * MISC1 :: TX_SW_DESC_LIST_CTRL_STS
  427. ***************************************************************************/
  428. /* MISC1 :: TX_SW_DESC_LIST_CTRL_STS :: reserved0 [31:04] */
  429. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_reserved0_MASK 0xfffffff0
  430. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_reserved0_ALIGN 0
  431. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_reserved0_BITS 28
  432. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_reserved0_SHIFT 4
  433. /* MISC1 :: TX_SW_DESC_LIST_CTRL_STS :: DMA_DATA_SERV_PTR [03:03] */
  434. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DMA_DATA_SERV_PTR_MASK 0x00000008
  435. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DMA_DATA_SERV_PTR_ALIGN 0
  436. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DMA_DATA_SERV_PTR_BITS 1
  437. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DMA_DATA_SERV_PTR_SHIFT 3
  438. /* MISC1 :: TX_SW_DESC_LIST_CTRL_STS :: DESC_SERV_PTR [02:02] */
  439. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DESC_SERV_PTR_MASK 0x00000004
  440. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DESC_SERV_PTR_ALIGN 0
  441. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DESC_SERV_PTR_BITS 1
  442. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_DESC_SERV_PTR_SHIFT 2
  443. /* MISC1 :: TX_SW_DESC_LIST_CTRL_STS :: TX_DMA_HALT_ON_ERROR [01:01] */
  444. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_HALT_ON_ERROR_MASK 0x00000002
  445. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_HALT_ON_ERROR_ALIGN 0
  446. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_HALT_ON_ERROR_BITS 1
  447. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_HALT_ON_ERROR_SHIFT 1
  448. /* MISC1 :: TX_SW_DESC_LIST_CTRL_STS :: TX_DMA_RUN_STOP [00:00] */
  449. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_RUN_STOP_MASK 0x00000001
  450. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_RUN_STOP_ALIGN 0
  451. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_RUN_STOP_BITS 1
  452. #define MISC1_TX_SW_DESC_LIST_CTRL_STS_TX_DMA_RUN_STOP_SHIFT 0
  453. /****************************************************************************
  454. * MISC1 :: TX_DMA_ERROR_STATUS
  455. ***************************************************************************/
  456. /* MISC1 :: TX_DMA_ERROR_STATUS :: reserved0 [31:10] */
  457. #define MISC1_TX_DMA_ERROR_STATUS_reserved0_MASK 0xfffffc00
  458. #define MISC1_TX_DMA_ERROR_STATUS_reserved0_ALIGN 0
  459. #define MISC1_TX_DMA_ERROR_STATUS_reserved0_BITS 22
  460. #define MISC1_TX_DMA_ERROR_STATUS_reserved0_SHIFT 10
  461. /* MISC1 :: TX_DMA_ERROR_STATUS :: TX_L1_DESC_TX_ABORT_ERRORS [09:09] */
  462. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DESC_TX_ABORT_ERRORS_MASK 0x00000200
  463. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DESC_TX_ABORT_ERRORS_ALIGN 0
  464. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DESC_TX_ABORT_ERRORS_BITS 1
  465. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DESC_TX_ABORT_ERRORS_SHIFT 9
  466. /* MISC1 :: TX_DMA_ERROR_STATUS :: reserved1 [08:08] */
  467. #define MISC1_TX_DMA_ERROR_STATUS_reserved1_MASK 0x00000100
  468. #define MISC1_TX_DMA_ERROR_STATUS_reserved1_ALIGN 0
  469. #define MISC1_TX_DMA_ERROR_STATUS_reserved1_BITS 1
  470. #define MISC1_TX_DMA_ERROR_STATUS_reserved1_SHIFT 8
  471. /* MISC1 :: TX_DMA_ERROR_STATUS :: TX_L0_DESC_TX_ABORT_ERRORS [07:07] */
  472. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DESC_TX_ABORT_ERRORS_MASK 0x00000080
  473. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DESC_TX_ABORT_ERRORS_ALIGN 0
  474. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DESC_TX_ABORT_ERRORS_BITS 1
  475. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DESC_TX_ABORT_ERRORS_SHIFT 7
  476. /* MISC1 :: TX_DMA_ERROR_STATUS :: reserved2 [06:06] */
  477. #define MISC1_TX_DMA_ERROR_STATUS_reserved2_MASK 0x00000040
  478. #define MISC1_TX_DMA_ERROR_STATUS_reserved2_ALIGN 0
  479. #define MISC1_TX_DMA_ERROR_STATUS_reserved2_BITS 1
  480. #define MISC1_TX_DMA_ERROR_STATUS_reserved2_SHIFT 6
  481. /* MISC1 :: TX_DMA_ERROR_STATUS :: TX_L1_DMA_DATA_TX_ABORT_ERRORS [05:05] */
  482. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DMA_DATA_TX_ABORT_ERRORS_MASK 0x00000020
  483. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DMA_DATA_TX_ABORT_ERRORS_ALIGN 0
  484. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DMA_DATA_TX_ABORT_ERRORS_BITS 1
  485. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_DMA_DATA_TX_ABORT_ERRORS_SHIFT 5
  486. /* MISC1 :: TX_DMA_ERROR_STATUS :: TX_L1_FIFO_FULL_ERRORS [04:04] */
  487. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_FIFO_FULL_ERRORS_MASK 0x00000010
  488. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_FIFO_FULL_ERRORS_ALIGN 0
  489. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_FIFO_FULL_ERRORS_BITS 1
  490. #define MISC1_TX_DMA_ERROR_STATUS_TX_L1_FIFO_FULL_ERRORS_SHIFT 4
  491. /* MISC1 :: TX_DMA_ERROR_STATUS :: reserved3 [03:03] */
  492. #define MISC1_TX_DMA_ERROR_STATUS_reserved3_MASK 0x00000008
  493. #define MISC1_TX_DMA_ERROR_STATUS_reserved3_ALIGN 0
  494. #define MISC1_TX_DMA_ERROR_STATUS_reserved3_BITS 1
  495. #define MISC1_TX_DMA_ERROR_STATUS_reserved3_SHIFT 3
  496. /* MISC1 :: TX_DMA_ERROR_STATUS :: TX_L0_DMA_DATA_TX_ABORT_ERRORS [02:02] */
  497. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DMA_DATA_TX_ABORT_ERRORS_MASK 0x00000004
  498. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DMA_DATA_TX_ABORT_ERRORS_ALIGN 0
  499. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DMA_DATA_TX_ABORT_ERRORS_BITS 1
  500. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_DMA_DATA_TX_ABORT_ERRORS_SHIFT 2
  501. /* MISC1 :: TX_DMA_ERROR_STATUS :: TX_L0_FIFO_FULL_ERRORS [01:01] */
  502. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_FIFO_FULL_ERRORS_MASK 0x00000002
  503. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_FIFO_FULL_ERRORS_ALIGN 0
  504. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_FIFO_FULL_ERRORS_BITS 1
  505. #define MISC1_TX_DMA_ERROR_STATUS_TX_L0_FIFO_FULL_ERRORS_SHIFT 1
  506. /* MISC1 :: TX_DMA_ERROR_STATUS :: reserved4 [00:00] */
  507. #define MISC1_TX_DMA_ERROR_STATUS_reserved4_MASK 0x00000001
  508. #define MISC1_TX_DMA_ERROR_STATUS_reserved4_ALIGN 0
  509. #define MISC1_TX_DMA_ERROR_STATUS_reserved4_BITS 1
  510. #define MISC1_TX_DMA_ERROR_STATUS_reserved4_SHIFT 0
  511. /****************************************************************************
  512. * MISC1 :: Y_RX_ERROR_STATUS
  513. ***************************************************************************/
  514. /* MISC1 :: Y_RX_ERROR_STATUS :: reserved0 [31:14] */
  515. #define MISC1_Y_RX_ERROR_STATUS_reserved0_MASK 0xffffc000
  516. #define MISC1_Y_RX_ERROR_STATUS_reserved0_ALIGN 0
  517. #define MISC1_Y_RX_ERROR_STATUS_reserved0_BITS 18
  518. #define MISC1_Y_RX_ERROR_STATUS_reserved0_SHIFT 14
  519. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L1_UNDERRUN_ERROR [13:13] */
  520. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_MASK 0x00002000
  521. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_ALIGN 0
  522. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_BITS 1
  523. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_SHIFT 13
  524. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L1_OVERRUN_ERROR [12:12] */
  525. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_MASK 0x00001000
  526. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_ALIGN 0
  527. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_BITS 1
  528. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_SHIFT 12
  529. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L0_UNDERRUN_ERROR [11:11] */
  530. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_MASK 0x00000800
  531. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_ALIGN 0
  532. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_BITS 1
  533. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_SHIFT 11
  534. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L0_OVERRUN_ERROR [10:10] */
  535. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_MASK 0x00000400
  536. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_ALIGN 0
  537. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_BITS 1
  538. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_SHIFT 10
  539. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L1_DESC_TX_ABORT_ERRORS [09:09] */
  540. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_MASK 0x00000200
  541. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_ALIGN 0
  542. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_BITS 1
  543. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_SHIFT 9
  544. /* MISC1 :: Y_RX_ERROR_STATUS :: reserved1 [08:08] */
  545. #define MISC1_Y_RX_ERROR_STATUS_reserved1_MASK 0x00000100
  546. #define MISC1_Y_RX_ERROR_STATUS_reserved1_ALIGN 0
  547. #define MISC1_Y_RX_ERROR_STATUS_reserved1_BITS 1
  548. #define MISC1_Y_RX_ERROR_STATUS_reserved1_SHIFT 8
  549. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L0_DESC_TX_ABORT_ERRORS [07:07] */
  550. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_MASK 0x00000080
  551. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_ALIGN 0
  552. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_BITS 1
  553. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_SHIFT 7
  554. /* MISC1 :: Y_RX_ERROR_STATUS :: reserved2 [06:05] */
  555. #define MISC1_Y_RX_ERROR_STATUS_reserved2_MASK 0x00000060
  556. #define MISC1_Y_RX_ERROR_STATUS_reserved2_ALIGN 0
  557. #define MISC1_Y_RX_ERROR_STATUS_reserved2_BITS 2
  558. #define MISC1_Y_RX_ERROR_STATUS_reserved2_SHIFT 5
  559. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L1_FIFO_FULL_ERRORS [04:04] */
  560. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_MASK 0x00000010
  561. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_ALIGN 0
  562. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_BITS 1
  563. #define MISC1_Y_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_SHIFT 4
  564. /* MISC1 :: Y_RX_ERROR_STATUS :: reserved3 [03:02] */
  565. #define MISC1_Y_RX_ERROR_STATUS_reserved3_MASK 0x0000000c
  566. #define MISC1_Y_RX_ERROR_STATUS_reserved3_ALIGN 0
  567. #define MISC1_Y_RX_ERROR_STATUS_reserved3_BITS 2
  568. #define MISC1_Y_RX_ERROR_STATUS_reserved3_SHIFT 2
  569. /* MISC1 :: Y_RX_ERROR_STATUS :: RX_L0_FIFO_FULL_ERRORS [01:01] */
  570. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_MASK 0x00000002
  571. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_ALIGN 0
  572. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_BITS 1
  573. #define MISC1_Y_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_SHIFT 1
  574. /* MISC1 :: Y_RX_ERROR_STATUS :: reserved4 [00:00] */
  575. #define MISC1_Y_RX_ERROR_STATUS_reserved4_MASK 0x00000001
  576. #define MISC1_Y_RX_ERROR_STATUS_reserved4_ALIGN 0
  577. #define MISC1_Y_RX_ERROR_STATUS_reserved4_BITS 1
  578. #define MISC1_Y_RX_ERROR_STATUS_reserved4_SHIFT 0
  579. /****************************************************************************
  580. * MISC1 :: UV_RX_ERROR_STATUS
  581. ***************************************************************************/
  582. /* MISC1 :: UV_RX_ERROR_STATUS :: reserved0 [31:14] */
  583. #define MISC1_UV_RX_ERROR_STATUS_reserved0_MASK 0xffffc000
  584. #define MISC1_UV_RX_ERROR_STATUS_reserved0_ALIGN 0
  585. #define MISC1_UV_RX_ERROR_STATUS_reserved0_BITS 18
  586. #define MISC1_UV_RX_ERROR_STATUS_reserved0_SHIFT 14
  587. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L1_UNDERRUN_ERROR [13:13] */
  588. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_MASK 0x00002000
  589. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_ALIGN 0
  590. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_BITS 1
  591. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_UNDERRUN_ERROR_SHIFT 13
  592. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L1_OVERRUN_ERROR [12:12] */
  593. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_MASK 0x00001000
  594. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_ALIGN 0
  595. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_BITS 1
  596. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_OVERRUN_ERROR_SHIFT 12
  597. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L0_UNDERRUN_ERROR [11:11] */
  598. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_MASK 0x00000800
  599. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_ALIGN 0
  600. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_BITS 1
  601. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_UNDERRUN_ERROR_SHIFT 11
  602. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L0_OVERRUN_ERROR [10:10] */
  603. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_MASK 0x00000400
  604. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_ALIGN 0
  605. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_BITS 1
  606. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_OVERRUN_ERROR_SHIFT 10
  607. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L1_DESC_TX_ABORT_ERRORS [09:09] */
  608. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_MASK 0x00000200
  609. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_ALIGN 0
  610. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_BITS 1
  611. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_DESC_TX_ABORT_ERRORS_SHIFT 9
  612. /* MISC1 :: UV_RX_ERROR_STATUS :: reserved1 [08:08] */
  613. #define MISC1_UV_RX_ERROR_STATUS_reserved1_MASK 0x00000100
  614. #define MISC1_UV_RX_ERROR_STATUS_reserved1_ALIGN 0
  615. #define MISC1_UV_RX_ERROR_STATUS_reserved1_BITS 1
  616. #define MISC1_UV_RX_ERROR_STATUS_reserved1_SHIFT 8
  617. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L0_DESC_TX_ABORT_ERRORS [07:07] */
  618. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_MASK 0x00000080
  619. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_ALIGN 0
  620. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_BITS 1
  621. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_DESC_TX_ABORT_ERRORS_SHIFT 7
  622. /* MISC1 :: UV_RX_ERROR_STATUS :: reserved2 [06:05] */
  623. #define MISC1_UV_RX_ERROR_STATUS_reserved2_MASK 0x00000060
  624. #define MISC1_UV_RX_ERROR_STATUS_reserved2_ALIGN 0
  625. #define MISC1_UV_RX_ERROR_STATUS_reserved2_BITS 2
  626. #define MISC1_UV_RX_ERROR_STATUS_reserved2_SHIFT 5
  627. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L1_FIFO_FULL_ERRORS [04:04] */
  628. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_MASK 0x00000010
  629. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_ALIGN 0
  630. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_BITS 1
  631. #define MISC1_UV_RX_ERROR_STATUS_RX_L1_FIFO_FULL_ERRORS_SHIFT 4
  632. /* MISC1 :: UV_RX_ERROR_STATUS :: reserved3 [03:02] */
  633. #define MISC1_UV_RX_ERROR_STATUS_reserved3_MASK 0x0000000c
  634. #define MISC1_UV_RX_ERROR_STATUS_reserved3_ALIGN 0
  635. #define MISC1_UV_RX_ERROR_STATUS_reserved3_BITS 2
  636. #define MISC1_UV_RX_ERROR_STATUS_reserved3_SHIFT 2
  637. /* MISC1 :: UV_RX_ERROR_STATUS :: RX_L0_FIFO_FULL_ERRORS [01:01] */
  638. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_MASK 0x00000002
  639. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_ALIGN 0
  640. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_BITS 1
  641. #define MISC1_UV_RX_ERROR_STATUS_RX_L0_FIFO_FULL_ERRORS_SHIFT 1
  642. /* MISC1 :: UV_RX_ERROR_STATUS :: reserved4 [00:00] */
  643. #define MISC1_UV_RX_ERROR_STATUS_reserved4_MASK 0x00000001
  644. #define MISC1_UV_RX_ERROR_STATUS_reserved4_ALIGN 0
  645. #define MISC1_UV_RX_ERROR_STATUS_reserved4_BITS 1
  646. #define MISC1_UV_RX_ERROR_STATUS_reserved4_SHIFT 0
  647. /****************************************************************************
  648. * Datatype Definitions.
  649. ***************************************************************************/
  650. #endif /* #ifndef MACFILE_H__ */
  651. /* End of File */