1 1.7 msaitoh /* $NetBSD: gtreg.h,v 1.7 2021/11/10 17:19:30 msaitoh Exp $ */ 2 1.1 matt 3 1.1 matt /* 4 1.1 matt * Copyright (c) 2002 Allegro Networks, Inc., Wasabi Systems, Inc. 5 1.1 matt * All rights reserved. 6 1.1 matt * 7 1.1 matt * Redistribution and use in source and binary forms, with or without 8 1.1 matt * modification, are permitted provided that the following conditions 9 1.1 matt * are met: 10 1.1 matt * 1. Redistributions of source code must retain the above copyright 11 1.1 matt * notice, this list of conditions and the following disclaimer. 12 1.1 matt * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 matt * notice, this list of conditions and the following disclaimer in the 14 1.1 matt * documentation and/or other materials provided with the distribution. 15 1.1 matt * 3. All advertising materials mentioning features or use of this software 16 1.1 matt * must display the following acknowledgement: 17 1.1 matt * This product includes software developed for the NetBSD Project by 18 1.1 matt * Allegro Networks, Inc., and Wasabi Systems, Inc. 19 1.1 matt * 4. The name of Allegro Networks, Inc. may not be used to endorse 20 1.1 matt * or promote products derived from this software without specific prior 21 1.1 matt * written permission. 22 1.1 matt * 5. The name of Wasabi Systems, Inc. may not be used to endorse 23 1.1 matt * or promote products derived from this software without specific prior 24 1.1 matt * written permission. 25 1.1 matt * 26 1.1 matt * THIS SOFTWARE IS PROVIDED BY ALLEGRO NETWORKS, INC. AND 27 1.1 matt * WASABI SYSTEMS, INC. ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 28 1.1 matt * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 29 1.1 matt * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 30 1.1 matt * IN NO EVENT SHALL EITHER ALLEGRO NETWORKS, INC. OR WASABI SYSTEMS, INC. 31 1.1 matt * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 32 1.1 matt * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 33 1.1 matt * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34 1.1 matt * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35 1.1 matt * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36 1.1 matt * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37 1.1 matt * POSSIBILITY OF SUCH DAMAGE. 38 1.1 matt */ 39 1.1 matt 40 1.1 matt #ifndef _DISCOVERY_DEV_GTREG_H_ 41 1.1 matt #define _DISCOVERY_DEV_GTREG_H_ 42 1.1 matt 43 1.1 matt #define GT__BIT(bit) (1U << (bit)) 44 1.1 matt #define GT__MASK(bit) (GT__BIT(bit) - 1) 45 1.1 matt #define GT__EXT(data, bit, len) (((data) >> (bit)) & GT__MASK(len)) 46 1.1 matt #define GT__CLR(data, bit, len) ((data) &= ~(GT__MASK(len) << (bit))) 47 1.1 matt #define GT__INS(new, bit) ((new) << (bit)) 48 1.1 matt 49 1.4 kiyohara #define GT_SIZE 0x10000 50 1.1 matt 51 1.2 perry /* 52 1.1 matt * Table 30: CPU Address Decode Register Map 53 1.1 matt */ 54 1.2 perry #define GT_SCS0_Low_Decode 0x0008 55 1.2 perry #define GT_SCS0_High_Decode 0x0010 56 1.2 perry #define GT_SCS1_Low_Decode 0x0208 57 1.2 perry #define GT_SCS1_High_Decode 0x0210 58 1.2 perry #define GT_SCS2_Low_Decode 0x0018 59 1.2 perry #define GT_SCS2_High_Decode 0x0020 60 1.2 perry #define GT_SCS3_Low_Decode 0x0218 61 1.2 perry #define GT_SCS3_High_Decode 0x0220 62 1.2 perry #define GT_CS0_Low_Decode 0x0028 63 1.2 perry #define GT_CS0_High_Decode 0x0030 64 1.2 perry #define GT_CS1_Low_Decode 0x0228 65 1.2 perry #define GT_CS1_High_Decode 0x0230 66 1.2 perry #define GT_CS2_Low_Decode 0x0248 67 1.2 perry #define GT_CS2_High_Decode 0x0250 68 1.2 perry #define GT_CS3_Low_Decode 0x0038 69 1.2 perry #define GT_CS3_High_Decode 0x0040 70 1.2 perry #define GT_BootCS_Low_Decode 0x0238 71 1.2 perry #define GT_BootCS_High_Decode 0x0240 72 1.2 perry #define GT_PCI0_IO_Low_Decode 0x0048 73 1.2 perry #define GT_PCI0_IO_High_Decode 0x0050 74 1.2 perry #define GT_PCI0_Mem0_Low_Decode 0x0058 75 1.2 perry #define GT_PCI0_Mem0_High_Decode 0x0060 76 1.2 perry #define GT_PCI0_Mem1_Low_Decode 0x0080 77 1.2 perry #define GT_PCI0_Mem1_High_Decode 0x0088 78 1.2 perry #define GT_PCI0_Mem2_Low_Decode 0x0258 79 1.2 perry #define GT_PCI0_Mem2_High_Decode 0x0260 80 1.2 perry #define GT_PCI0_Mem3_Low_Decode 0x0280 81 1.2 perry #define GT_PCI0_Mem3_High_Decode 0x0288 82 1.2 perry #define GT_PCI1_IO_Low_Decode 0x0090 83 1.2 perry #define GT_PCI1_IO_High_Decode 0x0098 84 1.2 perry #define GT_PCI1_Mem0_Low_Decode 0x00a0 85 1.2 perry #define GT_PCI1_Mem0_High_Decode 0x00a8 86 1.2 perry #define GT_PCI1_Mem1_Low_Decode 0x00b0 87 1.2 perry #define GT_PCI1_Mem1_High_Decode 0x00b8 88 1.2 perry #define GT_PCI1_Mem2_Low_Decode 0x02a0 89 1.2 perry #define GT_PCI1_Mem2_High_Decode 0x02a8 90 1.2 perry #define GT_PCI1_Mem3_Low_Decode 0x02b0 91 1.2 perry #define GT_PCI1_Mem3_High_Decode 0x02b8 92 1.2 perry #define GT_Internal_Decode 0x0068 93 1.2 perry #define GT_CPU0_Low_Decode 0x0290 94 1.2 perry #define GT_CPU0_High_Decode 0x0298 95 1.2 perry #define GT_CPU1_Low_Decode 0x02c0 96 1.2 perry #define GT_CPU1_High_Decode 0x02c8 97 1.2 perry #define GT_PCI0_IO_Remap 0x00f0 98 1.2 perry #define GT_PCI0_Mem0_Remap_Low 0x00f8 99 1.2 perry #define GT_PCI0_Mem0_Remap_High 0x0320 100 1.2 perry #define GT_PCI0_Mem1_Remap_Low 0x0100 101 1.2 perry #define GT_PCI0_Mem1_Remap_High 0x0328 102 1.2 perry #define GT_PCI0_Mem2_Remap_Low 0x02f8 103 1.2 perry #define GT_PCI0_Mem2_Remap_High 0x0330 104 1.2 perry #define GT_PCI0_Mem3_Remap_Low 0x0300 105 1.2 perry #define GT_PCI0_Mem3_Remap_High 0x0338 106 1.2 perry #define GT_PCI1_IO_Remap 0x0108 107 1.2 perry #define GT_PCI1_Mem0_Remap_Low 0x0110 108 1.2 perry #define GT_PCI1_Mem0_Remap_High 0x0340 109 1.2 perry #define GT_PCI1_Mem1_Remap_Low 0x0118 110 1.2 perry #define GT_PCI1_Mem1_Remap_High 0x0348 111 1.2 perry #define GT_PCI1_Mem2_Remap_Low 0x0310 112 1.2 perry #define GT_PCI1_Mem2_Remap_High 0x0350 113 1.2 perry #define GT_PCI1_Mem3_Remap_Low 0x0318 114 1.2 perry #define GT_PCI1_Mem3_Remap_High 0x0358 115 1.1 matt 116 1.1 matt 117 1.1 matt /* 118 1.1 matt * Table 31: CPU Control Register Map 119 1.1 matt */ 120 1.2 perry #define GT_CPU_Cfg 0x0000 121 1.2 perry #define GT_CPU_Mode 0x0120 122 1.2 perry #define GT_CPU_Master_Ctl 0x0160 123 1.2 perry #define GT_CPU_If_Xbar_Ctl_Low 0x0150 124 1.2 perry #define GT_CPU_If_Xbar_Ctl_High 0x0158 125 1.2 perry #define GT_CPU_If_Xbar_Timeout 0x0168 126 1.2 perry #define GT_CPU_Rd_Rsp_Xbar_Ctl_Low 0x0170 127 1.2 perry #define GT_CPU_Rd_Rsp_Xbar_Ctl_High 0x0178 128 1.1 matt 129 1.1 matt /* 130 1.1 matt * Table 32: CPU Sync Barrier Register Map 131 1.1 matt */ 132 1.1 matt #define GT_PCI_Sync_Barrier(bus) (0x00c0 | ((bus) << 3)) 133 1.2 perry #define GT_PCI0_Sync_Barrier 0x00c0 134 1.2 perry #define GT_PCI1_Sync_Barrier 0x00c8 135 1.1 matt 136 1.1 matt /* 137 1.1 matt * Table 33: CPU Access Protection Register Map 138 1.1 matt */ 139 1.2 perry #define GT_Protect_Low_0 0x0180 140 1.2 perry #define GT_Protect_High_0 0x0188 141 1.2 perry #define GT_Protect_Low_1 0x0190 142 1.2 perry #define GT_Protect_High_1 0x0198 143 1.2 perry #define GT_Protect_Low_2 0x01a0 144 1.2 perry #define GT_Protect_High_2 0x01a8 145 1.2 perry #define GT_Protect_Low_3 0x01b0 146 1.2 perry #define GT_Protect_High_3 0x01b8 147 1.2 perry #define GT_Protect_Low_4 0x01c0 148 1.2 perry #define GT_Protect_High_4 0x01c8 149 1.2 perry #define GT_Protect_Low_5 0x01d0 150 1.2 perry #define GT_Protect_High_5 0x01d8 151 1.2 perry #define GT_Protect_Low_6 0x01e0 152 1.2 perry #define GT_Protect_High_6 0x01e8 153 1.2 perry #define GT_Protect_Low_7 0x01f0 154 1.2 perry #define GT_Protect_High_7 0x01f8 155 1.1 matt 156 1.1 matt /* 157 1.1 matt * Table 34: Snoop Control Register Map 158 1.1 matt */ 159 1.2 perry #define GT_Snoop_Base_0 0x0380 160 1.2 perry #define GT_Snoop_Top_0 0x0388 161 1.2 perry #define GT_Snoop_Base_1 0x0390 162 1.2 perry #define GT_Snoop_Top_1 0x0398 163 1.2 perry #define GT_Snoop_Base_2 0x03a0 164 1.2 perry #define GT_Snoop_Top_2 0x03a8 165 1.2 perry #define GT_Snoop_Base_3 0x03b0 166 1.2 perry #define GT_Snoop_Top_3 0x03b8 167 1.1 matt 168 1.1 matt /* 169 1.1 matt * Table 35: CPU Error Report Register Map 170 1.1 matt */ 171 1.2 perry #define GT_CPU_Error_Address_Low 0x0070 172 1.2 perry #define GT_CPU_Error_Address_High 0x0078 173 1.2 perry #define GT_CPU_Error_Data_Low 0x0128 174 1.2 perry #define GT_CPU_Error_Data_High 0x0130 175 1.2 perry #define GT_CPU_Error_Parity 0x0138 176 1.2 perry #define GT_CPU_Error_Cause 0x0140 177 1.2 perry #define GT_CPU_Error_Mask 0x0148 178 1.1 matt 179 1.5 kiyohara #define GT_LowAddr_GET(v) (GT__EXT((v), 0, 12) << 20) 180 1.5 kiyohara #define GT_HighAddr_GET(v) \ 181 1.5 kiyohara ((v) != 0 ? ((GT__EXT((v), 0, 12) << 20) | 0xfffff) : 0) 182 1.5 kiyohara #define GT_LowAddr2_GET(v) (GT__EXT((v), 0, 16) << 16) 183 1.5 kiyohara #define GT_HighAddr2_GET(v) \ 184 1.5 kiyohara ((v) != 0 ? ((GT__EXT((v), 0, 16) << 16) | 0xffff) : 0) 185 1.5 kiyohara #define GT_LADDR_GET(v, mdl) \ 186 1.5 kiyohara (((mdl) == MARVELL_DISCOVERY) ? GT_LowAddr_GET(v) : GT_LowAddr2_GET(v)) 187 1.5 kiyohara #define GT_HADDR_GET(v, mdl) \ 188 1.5 kiyohara (((mdl) == MARVELL_DISCOVERY) ? GT_HighAddr_GET(v) : GT_HighAddr2_GET(v)) 189 1.1 matt 190 1.1 matt #define GT_MPP_Control0 0xf000 191 1.1 matt #define GT_MPP_Control1 0xf004 192 1.1 matt #define GT_MPP_Control2 0xf008 193 1.1 matt #define GT_MPP_Control3 0xf00c 194 1.1 matt 195 1.1 matt #define GT_GPP_IO_Control 0xf100 196 1.1 matt #define GT_GPP_Value 0xf104 197 1.1 matt #define GT_GPP_Interrupt_Cause 0xf108 198 1.1 matt #define GT_GPP_Interrupt_Mask 0xf10c 199 1.4 kiyohara #define GT_GPP_Level_Control 0xf110 200 1.4 kiyohara #define GT_GPP_Interrupt_Mask1 0xf114 201 1.4 kiyohara #define GT_GPP_Value_Set 0xf118 202 1.4 kiyohara #define GT_GPP_Value_Clear 0xf11c 203 1.1 matt /* 204 1.1 matt * Table 36: SCS[0]* Low Decode Address, Offset: 0x008 205 1.1 matt * Table 38: SCS[1]* Low Decode Address, Offset: 0x208 206 1.1 matt * Table 40: SCS[2]* Low Decode Address, Offset: 0x018 207 1.1 matt * Table 42: SCS[3]* Low Decode Address, Offset: 0x218 208 1.1 matt * Table 44: CS[0]* Low Decode Address, Offset: 0x028 209 1.1 matt * Table 46: CS[1]* Low Decode Address, Offset: 0x228 210 1.1 matt * Table 48: CS[2]* Low Decode Address, Offset: 0x248 211 1.1 matt * Table 50: CS[3]* Low Decode Address, Offset: 0x038 212 1.1 matt * Table 52: BootCS* Low Decode Address, Offset: 0x238 213 1.1 matt * Table 75: CPU 0 Low Decode Address, Offset: 0x290 214 1.1 matt * Table 77: CPU 1 Low Decode Address, Offset: 0x2c0 215 1.1 matt * 216 1.1 matt * 11:00 LowAddr SCS[0] Base Address 217 1.1 matt * 31:12 Reserved Must be 0. 218 1.1 matt */ 219 1.1 matt 220 1.1 matt /* 221 1.1 matt * Table 37: SCS[0]* High Decode Address, Offset: 0x010 222 1.1 matt * Table 39: SCS[1]* High Decode Address, Offset: 0x210 223 1.1 matt * Table 41: SCS[2]* High Decode Address, Offset: 0x020 224 1.1 matt * Table 43: SCS[3]* High Decode Address, Offset: 0x220 225 1.1 matt * Table 45: CS[0]* High Decode Address, Offset: 0x030 226 1.1 matt * Table 47: CS[1]* High Decode Address, Offset: 0x230 227 1.1 matt * Table 49: CS[2]* High Decode Address, Offset: 0x250 228 1.1 matt * Table 51: CS[3]* High Decode Address, Offset: 0x040 229 1.1 matt * Table 53: BootCS* High Decode Address, Offset: 0x240 230 1.1 matt * Table 76: CPU 0 High Decode Address, Offset: 0x298 231 1.1 matt * Table 78: CPU 1 High Decode Address, Offset: 0x2c8 232 1.1 matt * 233 1.1 matt * 11:00 HighAddr SCS[0] Top Address 234 1.1 matt * 31:12 Reserved 235 1.1 matt */ 236 1.1 matt 237 1.1 matt /* 238 1.1 matt * Table 54: PCI_0 I/O Low Decode Address, Offset: 0x048 239 1.1 matt * Table 56: PCI_0 Memory 0 Low Decode Address, Offset: 0x058 240 1.1 matt * Table 58: PCI_0 Memory 1 Low Decode Address, Offset: 0x080 241 1.1 matt * Table 60: PCI_0 Memory 2 Low Decode Address, Offset: 0x258 242 1.1 matt * Table 62: PCI_0 Memory 3 Low Decode Address, Offset: 0x280 243 1.1 matt * Table 64: PCI_1 I/O Low Decode Address, Offset: 0x090 244 1.1 matt * Table 66: PCI_1 Memory 0 Low Decode Address, Offset: 0x0a0 245 1.1 matt * Table 68: PCI_1 Memory 1 Low Decode Address, Offset: 0x0b0 246 1.1 matt * Table 70: PCI_1 Memory 2 Low Decode Address, Offset: 0x2a0 247 1.1 matt * Table 72: PCI_1 Memory 3 Low Decode Address, Offset: 0x2b0 248 1.1 matt * 249 1.1 matt * 11:00 LowAddr PCI IO/Memory Space Base Address 250 1.1 matt * 23:12 Reserved 251 1.1 matt * 26:24 PCISwap PCI Master Data Swap Control (0: Byte Swap; 252 1.1 matt * 1: No swapping; 2: Both byte and word swap; 253 1.1 matt * 3: Word swap; 4..7: Reserved) 254 1.1 matt * 27:27 PCIReq64 PCI master REQ64* policy (Relevant only when 255 1.1 matt * configured to 64-bit PCI bus and not I/O) 256 1.1 matt * 0: Assert s REQ64* only when transaction 257 1.1 matt * is longer than 64-bits. 258 1.1 matt * 1: Always assert REQ64*. 259 1.1 matt * 31:28 Reserved 260 1.1 matt */ 261 1.1 matt #define GT_PCISwap_GET(v) GT__EXT((v), 24, 3) 262 1.1 matt #define GT_PCISwap_ByteSwap 0 263 1.1 matt #define GT_PCISwap_NoSwap 1 264 1.1 matt #define GT_PCISwap_ByteWordSwap 2 265 1.1 matt #define GT_PCISwap_WordSwap 3 266 1.1 matt #define GT_PCI_LowDecode_PCIReq64 GT__BIT(27) 267 1.1 matt 268 1.1 matt /* 269 1.1 matt * Table 55: PCI_0 I/O High Decode Address, Offset: 0x050 270 1.1 matt * Table 57: PCI_0 Memory 0 High Decode Address, Offset: 0x060 271 1.1 matt * Table 59: PCI_0 Memory 1 High Decode Address, Offset: 0x088 272 1.1 matt * Table 61: PCI_0 Memory 2 High Decode Address, Offset: 0x260 273 1.1 matt * Table 63: PCI_0 Memory 3 High Decode Address, Offset: 0x288 274 1.1 matt * Table 65: PCI_1 I/O High Decode Address, Offset: 0x098 275 1.1 matt * Table 67: PCI_1 Memory 0 High Decode Address, Offset: 0x0a8 276 1.1 matt * Table 69: PCI_1 Memory 1 High Decode Address, Offset: 0x0b8 277 1.1 matt * Table 71: PCI_1 Memory 2 High Decode Address, Offset: 0x2a8 278 1.1 matt * Table 73: PCI_1 Memory 3 High Decode Address, Offset: 0x2b8 279 1.1 matt * 280 1.1 matt * 11:00 HighAddr PCI_0 I/O Space Top Address 281 1.1 matt * 31:12 Reserved 282 1.1 matt */ 283 1.1 matt 284 1.1 matt /* 285 1.1 matt * Table 74: Internal Space Decode, Offset: 0x068 286 1.1 matt * 15:00 IntDecode GT64260 Internal Space Base Address 287 1.1 matt * 23:16 Reserved 288 1.1 matt * 26:24 PCISwap Same as PCI_0 Memory 0 Low Decode Address. 289 1.1 matt * NOTE: Reserved for Galileo Technology usage. 290 1.1 matt * Relevant only for PCI master configuration 291 1.1 matt * transactions on the PCI bus. 292 1.1 matt * 31:27 Reserved 293 1.1 matt */ 294 1.1 matt 295 1.1 matt /* 296 1.1 matt * Table 79: PCI_0 I/O Address Remap, Offset: 0x0f0 297 1.1 matt * Table 80: PCI_0 Memory 0 Address Remap Low, Offset: 0x0f8 298 1.1 matt * Table 82: PCI_0 Memory 1 Address Remap Low, Offset: 0x100 299 1.1 matt * Table 84: PCI_0 Memory 2 Address Remap Low, Offset: 0x2f8 300 1.1 matt * Table 86: PCI_0 Memory 3 Address Remap Low, Offset: 0x300 301 1.1 matt * Table 88: PCI_1 I/O Address Remap, Offset: 0x108 302 1.1 matt * Table 89: PCI_1 Memory 0 Address Remap Low, Offset: 0x110 303 1.1 matt * Table 91: PCI_1 Memory 1 Address Remap Low, Offset: 0x118 304 1.1 matt * Table 93: PCI_1 Memory 2 Address Remap Low, Offset: 0x310 305 1.1 matt * Table 95: PCI_1 Memory 3 Address Remap Low, Offset: 0x318 306 1.1 matt * 307 1.1 matt * 11:00 Remap PCI IO/Memory Space Address Remap (31:20) 308 1.1 matt * 31:12 Reserved 309 1.1 matt */ 310 1.1 matt 311 1.1 matt /* 312 1.1 matt * Table 81: PCI_0 Memory 0 Address Remap High, Offset: 0x320 313 1.1 matt * Table 83: PCI_0 Memory 1 Address Remap High, Offset: 0x328 314 1.1 matt * Table 85: PCI_0 Memory 2 Address Remap High, Offset: 0x330 315 1.1 matt * Table 87: PCI_0 Memory 3 Address Remap High, Offset: 0x338 316 1.1 matt * Table 90: PCI_1 Memory 0 Address Remap High, Offset: 0x340 317 1.1 matt * Table 92: PCI_1 Memory 1 Address Remap High, Offset: 0x348 318 1.1 matt * Table 94: PCI_1 Memory 2 Address Remap High, Offset: 0x350 319 1.1 matt * Table 96: PCI_1 Memory 3 Address Remap High, Offset: 0x358 320 1.1 matt * 321 1.1 matt * 31:00 Remap PCI Memory Address Remap (high 32 bits) 322 1.1 matt */ 323 1.1 matt 324 1.1 matt /* 325 1.1 matt * Table 97: CPU Configuration, Offset: 0x000 326 1.1 matt * 07:00 NoMatchCnt CPU Address Miss Counter 327 1.1 matt * 08:08 NoMatchCntEn CPU Address Miss Counter Enable 328 1.1 matt * NOTE: Relevant only if multi-GT is enabled. 329 1.1 matt * (0: Disabled; 1: Enabled) 330 1.1 matt * 09:09 NoMatchCntExt CPU address miss counter MSB 331 1.1 matt * 10:10 Reserved 332 1.1 matt * 11:11 AACKDelay Address Acknowledge Delay 333 1.1 matt * 0: AACK* is asserted one cycle after TS*. 334 1.1 matt * 1: AACK* is asserted two cycles after TS*. 335 1.7 msaitoh * 12:12 Endianness Must be 0 336 1.1 matt * NOTE: The GT64260 does not support the PowerPC 337 1.1 matt * Little Endian convention 338 1.1 matt * 13:13 Pipeline Pipeline Enable 339 1.1 matt * 0: Disabled. The GT64260 will not respond with 340 1.1 matt * AACK* to a new CPU transaction, before the 341 1.1 matt * previous transaction data phase completes. 342 1.1 matt * 1: Enabled. 343 1.1 matt * 14:14 Reserved 344 1.1 matt * 15:15 TADelay Transfer Acknowledge Delay 345 1.1 matt * 0: TA* is asserted one cycle after AACK* 346 1.1 matt * 1: TA* is asserted two cycles after AACK* 347 1.1 matt * 16:16 RdOOO Read Out of Order Completion 348 1.1 matt * 0: Not Supported, Data is always returned in 349 1.1 matt * order (DTI[0-2] is always driven 350 1.1 matt * 1: Supported 351 1.1 matt * 17:17 StopRetry Relevant only if PCI Retry is enabled 352 1.1 matt * 0: Keep Retry all PCI transactions targeted 353 1.1 matt * to the GT64260. 354 1.1 matt * 1: Stop Retry of PCI transactions. 355 1.1 matt * 18:18 MultiGTDec Multi-GT Address Decode 356 1.1 matt * 0: Normal address decoding 357 1.1 matt * 1: Multi-GT address decoding 358 1.1 matt * 19:19 DPValid CPU DP[0-7] Connection. CPU write parity ... 359 1.1 matt * 0: is not checked. (Not connected) 360 1.1 matt * 1: is checked (Connected) 361 1.1 matt * 21:20 Reserved 362 1.1 matt * 22:22 PErrProp Parity Error Propagation 363 1.1 matt * 0: GT64260 always drives good parity on 364 1.1 matt * DP[0-7] during CPU reads. 365 1.1 matt * 1: GT64260 drives bad parity on DP[0-7] in case 366 1.1 matt * the read response from the target interface 367 1.1 matt * comes with erroneous data indication 368 1.1 matt * (e.g. ECC error from SDRAM interface). 369 1.1 matt * 25:23 Reserved 370 1.1 matt * 26:26 APValid CPU AP[0-3] Connection. CPU address parity ... 371 1.1 matt * 0: is not checked. (Not connected) 372 1.1 matt * 1: is checked (Connected) 373 1.1 matt * 27:27 RemapWrDis Address Remap Registers Write Control 374 1.1 matt * 0: Write to Low Address decode register. 375 1.1 matt * Results in writing of the corresponding 376 1.1 matt * Remap register. 377 1.1 matt * 1: Write to Low Address decode register. No 378 1.6 andvar * effect on the corresponding Remap register. 379 1.1 matt * 28:28 ConfSBDis Configuration Read Sync Barrier Disable 380 1.1 matt * 0: enabled; 1: disabled 381 1.1 matt * 29:29 IOSBDis I/O Read Sync Barrier Disable 382 1.1 matt * 0: enabled; 1: disabled 383 1.1 matt * 30:30 ClkSync Clocks Synchronization 384 1.1 matt * 0: The CPU interface is running with SysClk, 385 1.1 matt * which is asynchronous to TClk. 386 1.1 matt * 1: The CPU interface is running with TClk. 387 1.1 matt * 31:31 Reserved 388 1.1 matt */ 389 1.1 matt #define GT_CPUCfg_NoMatchCnt_GET(v) GT__EXT((v), 0, 8) 390 1.1 matt #define GT_CPUCfg_NoMatchCntEn GT__BIT( 9) 391 1.1 matt #define GT_CPUCfg_NoMatchCntExt GT__BIT(10) 392 1.1 matt #define GT_CPUCfg_AACKDelay GT__BIT(11) 393 1.7 msaitoh #define GT_CPUCfg_Endianness GT__BIT(12) 394 1.1 matt #define GT_CPUCfg_Pipeline GT__BIT(13) 395 1.1 matt #define GT_CPUCfg_TADelay GT__BIT(15) 396 1.1 matt #define GT_CPUCfg_RdOOO GT__BIT(16) 397 1.1 matt #define GT_CPUCfg_StopRetry GT__BIT(17) 398 1.1 matt #define GT_CPUCfg_MultiGTDec GT__BIT(18) 399 1.1 matt #define GT_CPUCfg_DPValid GT__BIT(19) 400 1.1 matt #define GT_CPUCfg_PErrProp GT__BIT(22) 401 1.1 matt #define GT_CPUCfg_APValid GT__BIT(26) 402 1.1 matt #define GT_CPUCfg_RemapWrDis GT__BIT(27) 403 1.1 matt #define GT_CPUCfg_ConfSBDis GT__BIT(28) 404 1.1 matt #define GT_CPUCfg_IOSBDis GT__BIT(29) 405 1.1 matt #define GT_CPUCfg_ClkSync GT__BIT(30) 406 1.1 matt 407 1.1 matt /* 408 1.1 matt * Table 98: CPU Mode, Offset: 0x120, Read only 409 1.1 matt * 01:00 MultiGTID Multi-GT ID 410 1.1 matt * Represents the ID to which the GT64260 responds 411 1.1 matt * to during a multi-GT address decoding period. 412 1.1 matt * 02:02 MultiGT (0: Single; 1: Multiple) GT configuration 413 1.1 matt * 03:03 RetryEn (0: Don't; 1: Do) Retry PCI transactions 414 1.1 matt * 07:04 CPUType 415 1.1 matt * 0x0-0x3: Reserved 416 1.1 matt * 0x4: 64-bit PowerPC CPU, 60x bus 417 1.1 matt * 0x5: 64-bit PowerPC CPU, MPX bus 418 1.1 matt * 0x6-0xf: Reserved 419 1.1 matt * 31:08 Reserved 420 1.1 matt */ 421 1.1 matt #define GT_CPUMode_MultiGTID_GET(v) GT__EXT(v, 0, 2) 422 1.1 matt #define GT_CPUMode_MultiGT GT__BIT(2) 423 1.1 matt #define GT_CPUMode_RetryEn GT__BIT(3) 424 1.1 matt #define GT_CPUMode_CPUType_GET(v) GT__EXT(v, 4, 4) 425 1.1 matt 426 1.1 matt /* 427 1.1 matt * Table 99: CPU Master Control, Offset: 0x160 428 1.1 matt * 07:00 Reserved 429 1.1 matt * 08:08 IntArb CPU Bus Internal Arbiter Enable 430 1.1 matt * NOTE: Only relevant to 60x bus mode. When 431 1.1 matt * running MPX bus, the GT64260 internal 432 1.1 matt * arbiter must be used. 433 1.1 matt * 0: Disabled. External arbiter is required. 434 1.1 matt * 1: Enabled. Use the GT64260 CPU bus arbiter. 435 1.1 matt * 09:09 IntBusCtl CPU Interface Unit Internal Bus Control 436 1.1 matt * NOTE: This bit must be set to 1. It is reserved 437 1.1 matt * for Galileo Technology usage. 438 1.1 matt * 0: Enable internal bus sharing between master 439 1.1 matt * and slave interfaces. 440 1.1 matt * 1: Disable internal bus sharing between master 441 1.1 matt * and slave interfaces. 442 1.1 matt * 10:10 MWrTrig Master Write Transaction Trigger 443 1.1 matt * 0: With first valid write data 444 1.1 matt * 1: With last valid write data 445 1.1 matt * 11:11 MRdTrig Master Read Response Trigger 446 1.1 matt * 0: With first valid read data 447 1.1 matt * 1: With last valid read data 448 1.1 matt * 12:12 CleanBlock Clean Block Snoop Transaction Support 449 1.1 matt * 0: CPU does not support clean block (603e,750) 450 1.1 matt * 1: CPU supports clean block (604e,G4) 451 1.1 matt * 13:13 FlushBlock Flush Block Snoop Transaction Support 452 1.1 matt * 0: CPU does not support flush block (603e,750) 453 1.1 matt * 1: CPU supports flush block (604e,G4) 454 1.1 matt * 31:14 Reserved 455 1.1 matt */ 456 1.1 matt #define GT_CPUMstrCtl_IntArb GT__BIT(8) 457 1.1 matt #define GT_CPUMstrCtl_IntBusCtl GT__BIT(9) 458 1.1 matt #define GT_CPUMstrCtl_MWrTrig GT__BIT(10) 459 1.1 matt #define GT_CPUMstrCtl_MRdTrig GT__BIT(11) 460 1.1 matt #define GT_CPUMstrCtl_CleanBlock GT__BIT(12) 461 1.1 matt #define GT_CPUMstrCtl_FlushBlock GT__BIT(13) 462 1.1 matt 463 1.1 matt #define GT_ArbSlice_SDRAM 0x0 /* SDRAM interface snoop request */ 464 1.1 matt #define GT_ArbSlice_DEVICE 0x1 /* Device request */ 465 1.1 matt #define GT_ArbSlice_NULL 0x2 /* NULL request */ 466 1.1 matt #define GT_ArbSlice_PCI0 0x3 /* PCI_0 access */ 467 1.1 matt #define GT_ArbSlice_PCI1 0x4 /* PCI_1 access */ 468 1.1 matt #define GT_ArbSlice_COMM 0x5 /* Comm unit access */ 469 1.1 matt #define GT_ArbSlice_IDMA0123 0x6 /* IDMA channels 0/1/2/3 access */ 470 1.1 matt #define GT_ArbSlice_IDMA4567 0x7 /* IDMA channels 4/5/6/7 access */ 471 1.1 matt /* 0x8-0xf: Reserved */ 472 1.1 matt 473 1.1 matt /* Pass in the slice number (from 0..16) as 'n' 474 1.1 matt */ 475 1.1 matt #define GT_XbarCtl_GET_ArbSlice(v, n) GT__EXT((v), (((n) & 7)*4, 4) 476 1.1 matt 477 1.1 matt /* 478 1.1 matt * Table 100: CPU Interface Crossbar Control Low, Offset: 0x150 479 1.1 matt * 03:00 Arb0 Slice 0 of CPU Master pizza Arbiter 480 1.1 matt * 07:04 Arb1 Slice 1 of CPU Master pizza Arbiter 481 1.1 matt * 11:08 Arb2 Slice 2 of CPU Master pizza Arbiter 482 1.1 matt * 15:12 Arb3 Slice 3 of CPU Master pizza Arbiter 483 1.1 matt * 19:16 Arb4 Slice 4 of CPU Master pizza Arbiter 484 1.1 matt * 23:20 Arb5 Slice 5 of CPU Master pizza Arbiter 485 1.1 matt * 27:24 Arb6 Slice 6 of CPU Master pizza Arbiter 486 1.1 matt * 31:28 Arb7 Slice 7 of CPU Master pizza Arbiter 487 1.1 matt */ 488 1.1 matt 489 1.1 matt /* 490 1.1 matt * Table 101: CPU Interface Crossbar Control High, Offset: 0x158 491 1.1 matt * 03:00 Arb8 Slice 8 of CPU Master pizza Arbiter 492 1.1 matt * 07:04 Arb9 Slice 9 of CPU Master pizza Arbiter 493 1.1 matt * 11:08 Arb10 Slice 10 of CPU Master pizza Arbiter 494 1.1 matt * 15:12 Arb11 Slice 11 of CPU Master pizza Arbiter 495 1.1 matt * 19:16 Arb12 Slice 12 of CPU Master pizza Arbiter 496 1.1 matt * 23:20 Arb13 Slice 13 of CPU Master pizza Arbiter 497 1.1 matt * 27:24 Arb14 Slice 14 of CPU Master pizza Arbiter 498 1.1 matt * 31:28 Arb15 Slice 15 of CPU Master pizza Arbiter 499 1.1 matt */ 500 1.1 matt 501 1.1 matt /* 502 1.1 matt * Table 102: CPU Interface Crossbar Timeout, Offset: 0x168 503 1.1 matt * NOTE: Reserved for Galileo Technology usage. 504 1.1 matt * 07:00 Timeout Crossbar Arbiter Timeout Preset Value 505 1.1 matt * 15:08 Reserved 506 1.1 matt * 16:16 TimeoutEn Crossbar Arbiter Timer Enable 507 1.1 matt * (0: Enable; 1: Disable) 508 1.1 matt * 31:17 Reserved 509 1.1 matt */ 510 1.1 matt 511 1.1 matt /* 512 1.1 matt * Table 103: CPU Read Response Crossbar Control Low, Offset: 0x170 513 1.1 matt * 03:00 Arb0 Slice 0 of CPU Slave pizza Arbiter 514 1.1 matt * 07:04 Arb1 Slice 1 of CPU Slave pizza Arbiter 515 1.1 matt * 11:08 Arb2 Slice 2 of CPU Slave pizza Arbiter 516 1.1 matt * 15:12 Arb3 Slice 3 of CPU Slave pizza Arbiter 517 1.1 matt * 19:16 Arb4 Slice 4 of CPU Slave pizza Arbiter 518 1.1 matt * 23:20 Arb5 Slice 5 of CPU Slave pizza Arbiter 519 1.1 matt * 27:24 Arb6 Slice 6 of CPU Slave pizza Arbiter 520 1.1 matt * 31:28 Arb7 Slice 7 of CPU Slave pizza Arbiter 521 1.1 matt */ 522 1.1 matt /* 523 1.1 matt * Table 104: CPU Read Response Crossbar Control High, Offset: 0x178 524 1.1 matt * 03:00 Arb8 Slice 8 of CPU Slave pizza Arbiter 525 1.1 matt * 07:04 Arb9 Slice 9 of CPU Slave pizza Arbiter 526 1.1 matt * 11:08 Arb10 Slice 10 of CPU Slave pizza Arbiter 527 1.1 matt * 15:12 Arb11 Slice 11 of CPU Slave pizza Arbiter 528 1.1 matt * 19:16 Arb12 Slice 12 of CPU Slave pizza Arbiter 529 1.1 matt * 23:20 Arb13 Slice 13 of CPU Slave pizza Arbiter 530 1.1 matt * 27:24 Arb14 Slice 14 of CPU Slave pizza Arbiter 531 1.1 matt * 31:28 Arb15 Slice 15 of CPU Slave pizza Arbiter 532 1.2 perry */ 533 1.1 matt 534 1.1 matt /* 535 1.1 matt * Table 105: PCI_0 Sync Barrier Virtual Register, Offset: 0x0c0 536 1.1 matt * Table 106: PCI_1 Sync Barrier Virtual Register, Offset: 0x0c8 537 1.1 matt * NOTE: The read data is random and should be ignored. 538 1.1 matt * 31:00 SyncBarrier A CPU read from this register creates a 539 1.1 matt * synchronization barrier cycle. 540 1.1 matt */ 541 1.1 matt 542 1.1 matt /* 543 1.1 matt * Table 107: CPU Protect Address 0 Low, Offset: 0x180 544 1.1 matt * Table 109: CPU Protect Address 1 Low, Offset: 0x190 545 1.1 matt * Table 111: CPU Protect Address 2 Low, Offset: 0x1a0 546 1.1 matt * Table 113: CPU Protect Address 3 Low, Offset: 0x1b0 547 1.1 matt * Table 115: CPU Protect Address 4 Low, Offset: 0x1c0 548 1.1 matt * Table 117: CPU Protect Address 5 Low, Offset: 0x1d0 549 1.1 matt * Table 119: CPU Protect Address 6 Low, Offset: 0x1e0 550 1.1 matt * Table 121: CPU Protect Address 7 Low, Offset: 0x1f0 551 1.1 matt * 552 1.1 matt * 11:00 LowAddr CPU Protect Region Base Address 553 1.1 matt * Corresponds to address bits[31:20]. 554 1.1 matt * 15:12 Reserved. Must be 0 555 1.1 matt * 16:16 AccProtect CPU Access Protect 556 1.1 matt * Access is (0: allowed; 1: forbidden) 557 1.1 matt * 17:17 WrProtect CPU Write Protect 558 1.1 matt * Writes are (0: allowed; 1: forbidden) 559 1.1 matt * 18:18 CacheProtect CPU caching protect. Caching (block read) 560 1.1 matt * is (0: allowed; 1: forbidden) 561 1.1 matt * 31:19 Reserved 562 1.1 matt */ 563 1.1 matt #define GT_CPU_AccProtect GT__BIT(16) 564 1.1 matt #define GT_CPU_WrProtect GT__BIT(17) 565 1.1 matt #define GT_CPU_CacheProtect GT__BIT(18) 566 1.1 matt 567 1.2 perry /* 568 1.1 matt * Table 108: CPU Protect Address 0 High, Offset: 0x188 569 1.1 matt * Table 110: CPU Protect Address 1 High, Offset: 0x198 570 1.1 matt * Table 112: CPU Protect Address 2 High, Offset: 0x1a8 571 1.1 matt * Table 114: CPU Protect Address 3 High, Offset: 0x1b8 572 1.1 matt * Table 116: CPU Protect Address 4 High, Offset: 0x1c8 573 1.1 matt * Table 118: CPU Protect Address 5 High, Offset: 0x1d8 574 1.1 matt * Table 120: CPU Protect Address 6 High, Offset: 0x1e8 575 1.1 matt * Table 122: CPU Protect Address 7 High, Offset: 0x1f8 576 1.1 matt * 577 1.1 matt * 11:00 HighAddr CPU Protect Region Top Address 578 1.1 matt * Corresponds to address bits[31:20] 579 1.1 matt * 31:12 Reserved 580 1.1 matt */ 581 1.1 matt 582 1.1 matt /* 583 1.1 matt * Table 123: Snoop Base Address 0, Offset: 0x380 584 1.1 matt * Table 125: Snoop Base Address 1, Offset: 0x390 585 1.1 matt * Table 127: Snoop Base Address 2, Offset: 0x3a0 586 1.1 matt * Table 129: Snoop Base Address 3, Offset: 0x3b0 587 1.1 matt * 588 1.1 matt * 11:00 LowAddr Snoop Region Base Address [31:20] 589 1.1 matt * 15:12 Reserved Must be 0. 590 1.1 matt * 17:16 Snoop Snoop Type 591 1.1 matt * 0x0: No Snoop 592 1.1 matt * 0x1: Snoop to WT region 593 1.1 matt * 0x2: Snoop to WB region 594 1.1 matt * 0x3: Reserved 595 1.1 matt * 31:18 Reserved 596 1.1 matt */ 597 1.1 matt #define GT_Snoop_GET(v) GT__EXT((v), 16, 2) 598 1.1 matt #define GT_Snoop_INS(v) GT__INS((v), 16) 599 1.1 matt #define GT_Snoop_None 0 600 1.1 matt #define GT_Snoop_WT 1 601 1.1 matt #define GT_Snoop_WB 2 602 1.1 matt 603 1.1 matt 604 1.1 matt /* 605 1.1 matt * Table 124: Snoop Top Address 0, Offset: 0x388 606 1.1 matt * Table 126: Snoop Top Address 1, Offset: 0x398 607 1.1 matt * Table 128: Snoop Top Address 2, Offset: 0x3a8 608 1.1 matt * Table 130: Snoop Top Address 3, Offset: 0x3b8 609 1.1 matt * 11:00 HighAddr Snoop Region Top Address [31:20] 610 1.1 matt * 31:12 Reserved 611 1.1 matt */ 612 1.1 matt 613 1.1 matt 614 1.1 matt /* 615 1.1 matt * Table 131: CPU Error Address Low, Offset: 0x070, Read Only. 616 1.1 matt * In case of multiple errors, only the first one is latched. New error 617 1.1 matt * report latching is enabled only after the CPU Error Address Low register 618 1.1 matt * is being read. 619 1.1 matt * 31:00 ErrAddr Latched address bits [31:0] of a CPU 620 1.1 matt * transaction in case of: 621 1.1 matt * o illegal address (failed address decoding) 622 1.1 matt * o access protection violation 623 1.1 matt * o bad data parity 624 1.1 matt * o bad address parity 625 1.1 matt * Upon address latch, no new address are 626 1.1 matt * registered (due to additional error condition), 627 1.1 matt * until the register is being read. 628 1.1 matt */ 629 1.1 matt 630 1.1 matt /* 631 1.1 matt * Table 132: CPU Error Address High, Offset: 0x078, Read Only. 632 1.1 matt * Once data is latched, no new data can be registered (due to additional 633 1.1 matt * error condition), until CPU Error Low Address is being read (which 634 1.1 matt * implies, it should be the last being read by the interrupt handler). 635 1.1 matt * 03:00 Reserved 636 1.1 matt * 07:04 ErrPar Latched address parity bits in case 637 1.1 matt * of bad CPU address parity detection. 638 1.1 matt * 31:08 Reserved 639 1.1 matt */ 640 1.1 matt #define GT_CPUErrorAddrHigh_ErrPar_GET(v) GT__EXT((v), 4, 4) 641 1.1 matt 642 1.1 matt /* 643 1.1 matt * Table 133: CPU Error Data Low, Offset: 0x128, Read only. 644 1.1 matt * 31:00 PErrData Latched data bits [31:0] in case of bad data 645 1.1 matt * parity sampled on write transactions or on 646 1.1 matt * master read transactions. 647 1.1 matt */ 648 1.1 matt 649 1.1 matt /* 650 1.1 matt * Table 134: CPU Error Data High, Offset: 0x130, Read only. 651 1.1 matt * 31:00 PErrData Latched data bits [63:32] in case of bad data 652 1.1 matt * parity sampled on write transactions or on 653 1.1 matt * master read transactions. 654 1.1 matt */ 655 1.1 matt 656 1.1 matt /* 657 1.1 matt * Table 135: CPU Error Parity, Offset: 0x138, Read only. 658 1.1 matt * 07:00 PErrPar Latched data parity bus in case of bad data 659 1.1 matt * parity sampled on write transactions or on 660 1.1 matt * master read transactions. 661 1.1 matt * 31:10 Reserved 662 1.1 matt */ 663 1.1 matt #define GT_CPUErrorParity_PErrPar_GET(v) GT__EXT((v), 0, 8) 664 1.1 matt 665 1.1 matt /* 666 1.1 matt * Table 136: CPU Error Cause, Offset: 0x140 667 1.1 matt * Bits[7:0] are clear only. A cause bit is set upon an error condition 668 1.1 matt * occurrence. Write a 0 value to clear the bit. Writing a 1 value has 669 1.6 andvar * no effect. 670 1.1 matt * 00:00 AddrOut CPU Address Out of Range 671 1.1 matt * 01:01 AddrPErr Bad Address Parity Detected 672 1.1 matt * 02:02 TTErr Transfer Type Violation. 673 1.1 matt * The CPU attempts to burst (read or write) to an 674 1.1 matt * internal register. 675 1.1 matt * 03:03 AccErr Access to a Protected Region 676 1.1 matt * 04:04 WrErr Write to a Write Protected Region 677 1.1 matt * 05:05 CacheErr Read from a Caching protected region 678 1.1 matt * 06:06 WrDataPErr Bad Write Data Parity Detected 679 1.1 matt * 07:07 RdDataPErr Bad Read Data Parity Detected 680 1.1 matt * 26:08 Reserved 681 1.1 matt * 31:27 Sel Specifies the error event currently being 682 1.1 matt * reported in Error Address, Error Data, and 683 1.1 matt * Error Parity registers. 684 1.1 matt * 0x0: AddrOut 685 1.1 matt * 0x1: AddrPErr 686 1.1 matt * 0x2: TTErr 687 1.1 matt * 0x3: AccErr 688 1.1 matt * 0x4: WrErr 689 1.1 matt * 0x5: CacheErr 690 1.1 matt * 0x6: WrDataPErr 691 1.1 matt * 0x7: RdDataPErr 692 1.1 matt * 0x8-0x1f: Reserved 693 1.1 matt */ 694 1.1 matt #define GT_CPUError_AddrOut GT__BIT(GT_CPUError_Sel_AddrOut) 695 1.1 matt #define GT_CPUError_AddrPErr GT__BIT(GT_CPUError_Sel_AddrPErr) 696 1.1 matt #define GT_CPUError_TTErr GT__BIT(GT_CPUError_Sel_TTErr) 697 1.1 matt #define GT_CPUError_AccErr GT__BIT(GT_CPUError_Sel_AccErr) 698 1.1 matt #define GT_CPUError_WrErr GT__BIT(GT_CPUError_Sel_WrPErr) 699 1.1 matt #define GT_CPUError_CacheErr GT__BIT(GT_CPUError_Sel_CachePErr) 700 1.1 matt #define GT_CPUError_WrDataPErr GT__BIT(GT_CPUError_Sel_WrDataPErr) 701 1.1 matt #define GT_CPUError_RdDataPErr GT__BIT(GT_CPUError_Sel_RdDataPErr) 702 1.1 matt 703 1.1 matt #define GT_CPUError_Sel_AddrOut 0 704 1.1 matt #define GT_CPUError_Sel_AddrPErr 1 705 1.1 matt #define GT_CPUError_Sel_TTErr 2 706 1.1 matt #define GT_CPUError_Sel_AccErr 3 707 1.1 matt #define GT_CPUError_Sel_WrErr 4 708 1.1 matt #define GT_CPUError_Sel_CacheErr 5 709 1.1 matt #define GT_CPUError_Sel_WrDataPErr 6 710 1.1 matt #define GT_CPUError_Sel_RdDataPErr 7 711 1.1 matt 712 1.1 matt #define GT_CPUError_Sel_GET(v) GT__EXT((v), 27, 5) 713 1.1 matt 714 1.1 matt /* 715 1.1 matt * Table 137: CPU Error Mask, Offset: 0x148 716 1.1 matt * 00:00 AddrOut If set to 1, enables AddrOut interrupt. 717 1.1 matt * 01:01 AddrPErr If set to 1, enables AddrPErr interrupt. 718 1.1 matt * 02:02 TTErr If set to 1, enables TTErr interrupt. 719 1.1 matt * 03:03 AccErr If set to 1, enables AccErr interrupt. 720 1.1 matt * 04:04 WrErr If set to 1, enables WrErr interrupt. 721 1.1 matt * 05:05 CacheErr If set to 1, enables CacheErr interrupt. 722 1.1 matt * 06:06 WrDataPErr If set to 1, enables WrDataPErr interrupt. 723 1.1 matt * 07:07 RdDataPErr If set to 1, enables RdDataPErr interrupt. 724 1.1 matt * 31:08 Reserved 725 1.1 matt */ 726 1.1 matt 727 1.1 matt /* 728 1.1 matt * Comm Unit Interrupt registers 729 1.1 matt */ 730 1.1 matt #define GT_CommUnitIntr_Cause 0xf310 731 1.1 matt #define GT_CommUnitIntr_Mask 0xf314 732 1.1 matt #define GT_CommUnitIntr_ErrAddr 0xf318 733 1.1 matt 734 1.1 matt #define GT_CommUnitIntr_E0 0x00000007 735 1.1 matt #define GT_CommUnitIntr_E1 0x00000070 736 1.1 matt #define GT_CommUnitIntr_E2 0x00000700 737 1.1 matt #define GT_CommUnitIntr_S0 0x00070000 738 1.1 matt #define GT_CommUnitIntr_S1 0x00700000 739 1.1 matt #define GT_CommUnitIntr_Sel 0x70000000 740 1.1 matt 741 1.1 matt /* 742 1.1 matt * SDRAM Error Report (ECC) Registers 743 1.1 matt */ 744 1.1 matt #define GT_ECC_Data_Lo 0x484 /* latched Error Data (low) */ 745 1.1 matt #define GT_ECC_Data_Hi 0x480 /* latched Error Data (high) */ 746 1.1 matt #define GT_ECC_Addr 0x490 /* latched Error Address */ 747 1.1 matt #define GT_ECC_Rec 0x488 /* latched ECC code from SDRAM */ 748 1.1 matt #define GT_ECC_Calc 0x48c /* latched ECC code from SDRAM */ 749 1.1 matt #define GT_ECC_Ctl 0x494 /* ECC Control */ 750 1.1 matt #define GT_ECC_Count 0x498 /* ECC 1-bit error count */ 751 1.1 matt 752 1.1 matt /* 753 1.1 matt * Watchdog Registers 754 1.1 matt */ 755 1.1 matt #define GT_WDOG_Config 0xb410 756 1.1 matt #define GT_WDOG_Value 0xb414 757 1.1 matt #define GT_WDOG_Value_NMI GT__MASK(24) 758 1.1 matt #define GT_WDOG_Config_Preset GT__MASK(24) 759 1.1 matt #define GT_WDOG_Config_Ctl1a GT__BIT(24) 760 1.1 matt #define GT_WDOG_Config_Ctl1b GT__BIT(25) 761 1.1 matt #define GT_WDOG_Config_Ctl2a GT__BIT(26) 762 1.1 matt #define GT_WDOG_Config_Ctl2b GT__BIT(27) 763 1.1 matt #define GT_WDOG_Config_Enb GT__BIT(31) 764 1.1 matt 765 1.1 matt #define GT_WDOG_NMI_DFLT (GT__MASK(24) & GT_WDOG_Value_NMI) 766 1.1 matt #define GT_WDOG_Preset_DFLT (GT__MASK(22) & GT_WDOG_Config_Preset) 767 1.1 matt 768 1.1 matt /* 769 1.1 matt * Device Bus Interrupts 770 1.1 matt */ 771 1.1 matt #define GT_DEVBUS_ICAUSE 0x4d0 /* Device Interrupt Cause */ 772 1.1 matt #define GT_DEVBUS_IMASK 0x4d4 /* Device Interrupt Mask */ 773 1.1 matt #define GT_DEVBUS_ERR_ADDR 0x4d8 /* Device Error Address */ 774 1.1 matt 775 1.1 matt /* 776 1.1 matt * bit defines for GT_DEVBUS_ICAUSE, GT_DEVBUS_IMASK 777 1.1 matt */ 778 1.1 matt #define GT_DEVBUS_DBurstErr GT__BIT(0) 779 1.1 matt #define GT_DEVBUS_DRdyErr GT__BIT(1) 780 1.1 matt #define GT_DEVBUS_Sel GT__BIT(27) 781 1.1 matt #define GT_DEVBUS_RES ~(GT_DEVBUS_DBurstErr|GT_DEVBUS_DRdyErr|GT_DEVBUS_Sel) 782 1.1 matt 783 1.1 matt 784 1.4 kiyohara #define ETH0_BASE 0x2400 785 1.4 kiyohara #define ETH1_BASE 0x2800 786 1.4 kiyohara #define ETH2_BASE 0x2c00 787 1.4 kiyohara #define MPSC0_BASE 0x8000 788 1.4 kiyohara #define MPSC1_BASE 0x9000 789 1.4 kiyohara 790 1.1 matt #endif /* !_DISCOVERY_DEV_GTREG_H */ 791