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