gt64120a.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:40k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* gt64120a.h - Galileo gt64120A bridge device header */
  2. /* Copyright 1984-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,26apr02,dat  Adding cplusplus protection, SPR 75017
  7. 01a,15jun00,dra  Written from earlier Galileo version of BSP.
  8. */
  9. /*
  10. * This file contains register offsets and programming values for the
  11. * GT64120A bridge chip, which appears on the Galileo Technologies ev64120a
  12. * evaluation board.
  13. */
  14. /* Copyright (c) Galileo Technology Inc. All rights reserved.
  15.  *
  16.  * THIS SOFTWARE IS PROVIDED BY GALILEO TECHNOLOGY INC. ``AS IS'' AND
  17.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19.  * ARE DISCLAIMED.  IN NO EVENT SHALL GALILEO TECHNOLOGY INC. BE LIABLE
  20.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  23.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  24.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  25.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  26.  * SUCH DAMAGE.
  27.  *
  28.  * ANY REDISTRIBUTION OF THIS SOURCE CODE MUST RETAIN THE COPYRIGHT AND
  29.  * DECLARATION STATED ABOVE.
  30.  *
  31.  */
  32. #ifndef __INCgt64120ah
  33. #define __INCgt64120ah
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. /**********************************************************************
  38.  *
  39.  * GT64120A Internal Register OFFSETS
  40.  *
  41.  **********************************************************************/
  42. /* CPU Configuration */
  43. #define GT_CPU_INTF_CFG_OFS 0x000
  44. #define GT_MULTI_GT_REG_OFS 0x120
  45. /* CPU Address Decode */
  46. #define GT_SCS10_L_DEC_ADRS_OFS 0x008
  47. #define GT_SCS10_H_DEC_ADRS_OFS 0x010
  48. #define GT_SCS32_L_DEC_ADRS_OFS 0x018
  49. #define GT_SCS32_H_DEC_ADRS_OFS 0x020
  50. #define GT_CS20_L_DEC_ADRS_OFS 0x028
  51. #define GT_CS20_H_DEC_ADRS_OFS 0x030
  52. #define GT_CS3_BOOTCS_L_DEC_ADRS_OFS 0x038
  53. #define GT_CS3_BOOTCS_H_DEC_ADRS_OFS 0x040
  54. #define GT_PCI0_IO_L_DEC_ADRS_OFS 0x048
  55. #define GT_PCI0_IO_H_DEC_ADRS_OFS 0x050
  56. #define GT_PCI0_MEM_0_L_DEC_ADRS_OFS 0x058
  57. #define GT_PCI0_MEM_0_H_DEC_ADRS_OFS 0x060
  58. #define GT_PCI0_MEM_1_L_DEC_ADRS_OFS 0x080
  59. #define GT_PCI0_MEM_1_H_DEC_ADRS_OFS 0x088
  60. #define GT_PCI1_IO_L_DEC_ADRS_OFS 0x090
  61. #define GT_PCI1_IO_H_DEC_ADRS_OFS 0x098
  62. #define GT_PCI1_MEM_0_L_DEC_ADRS_OFS 0x0a0
  63. #define GT_PCI1_MEM_0_H_DEC_ADRS_OFS 0x0a8
  64. #define GT_PCI1_MEM_1_L_DEC_ADRS_OFS 0x0b0
  65. #define GT_PCI1_MEM_1_H_DEC_ADRS_OFS 0x0b8
  66. #define GT_INTERNAL_SPACE_DEC_OFS 0x068
  67. #define GT_SCS10_ADRS_REMAP_OFS 0x0d0
  68. #define GT_SCS32_ADRS_REMAP_OFS 0x0d8
  69. #define GT_CS20_REMAP_OFS 0x0e0
  70. #define GT_CS3_BOOTCS_REMAP_OFS 0x0e8
  71. #define GT_PCI0_IO_REMAP_OFS 0x0f0
  72. #define GT_PCI0_MEM_0_REMAP_OFS 0x0f8
  73. #define GT_PCI0_MEM_1_REMAP_OFS 0x100
  74. #define GT_PCI1_IO_REMAP_OFS 0x108
  75. #define GT_PCI1_MEM_0_REMAP_OFS 0x110
  76. #define GT_PCI1_MEM_1_REMAP_OFS 0x118
  77. /* CPU Errors Report */
  78. #define GT_CPU_ERROR_ADRS_L_OFS 0x070
  79. #define GT_CPU_ERROR_ADRS_H_OFS 0x078
  80. #define GT_CPU_ERROR_DATA_L_OFS 0x128
  81. #define GT_CPU_ERROR_DATA_H_OFS 0x130
  82. #define GT_CPU_ERROR_PARITY_OFS 0x138
  83. /* CPU Sync Barrier */
  84. #define GT_PCI0_SYNC_BARRIER_VIRT_OFS 0x0c0
  85. #define GT_PCI1_SYNC_BARRIER_VIRT_OFS 0x0c8
  86. /* SDRAM and Device Address Decode */
  87. #define GT_SCS0_L_DEC_ADRS_OFS 0x400
  88. #define GT_SCS0_H_DEC_ADRS_OFS 0x404
  89. #define GT_SCS1_L_DEC_ADRS_OFS 0x408
  90. #define GT_SCS1_H_DEC_ADRS_OFS 0x40c
  91. #define GT_SCS2_L_DEC_ADRS_OFS 0x410
  92. #define GT_SCS2_H_DEC_ADRS_OFS 0x414
  93. #define GT_SCS3_L_DEC_ADRS_OFS 0x418
  94. #define GT_SCS3_H_DEC_ADRS_OFS 0x41c
  95. #define GT_CS0_L_DEC_ADRS_OFS 0x420
  96. #define GT_CS0_H_DEC_ADRS_OFS 0x424
  97. #define GT_CS1_L_DEC_ADRS_OFS 0x428
  98. #define GT_CS1_H_DEC_ADRS_OFS 0x42c
  99. #define GT_CS2_L_DEC_ADRS_OFS 0x430
  100. #define GT_CS2_H_DEC_ADRS_OFS 0x434
  101. #define GT_CS3_L_DEC_ADRS_OFS 0x438
  102. #define GT_CS3_H_DEC_ADRS_OFS 0x43c
  103. #define GT_BOOTCS_L_DEC_ADRS_OFS 0x440
  104. #define GT_BOOTCS_H_DEC_ADRS_OFS 0x444
  105. #define GT_ADRS_DEC_ERROR_OFS 0x470
  106. /* SDRAM Configuration */
  107. #define GT_SDRAM_CFG_OFS 0x448
  108. #define GT_SDRAM_OP_MODE_OFS 0x474
  109. #define GT_SDRAM_BURST_MODE_OFS 0x478
  110. #define GT_SDRAM_ADRS_DEC_OFS 0x47c
  111. /* SDRAM Parameters */
  112. #define GT_SDRAM_BANK0_PARAM_OFS 0x44c
  113. #define GT_SDRAM_BANK1_PARAM_OFS 0x450
  114. #define GT_SDRAM_BANK2_PARAM_OFS 0x454
  115. #define GT_SDRAM_BANK3_PARAM_OFS 0x458
  116. /* ECC */
  117. #define GT_ECC_ERROR_ADRS_OFS 0x490
  118. #define GT_ECC_ERROR_DATA_H_OFS 0x480
  119. #define GT_ECC_ERROR_DATA_L_OFS 0x484
  120. #define GT_ECC_FROM_MEM_OFS 0x488
  121. #define GT_ECC_CALCULATED_OFS 0x48c
  122. /* Device Parameters*/
  123. #define GT_DEV_BANK0_PARAM_OFS 0x45c
  124. #define GT_DEV_BANK1_PARAM_OFS 0x460
  125. #define GT_DEV_BANK2_PARAM_OFS 0x464
  126. #define GT_DEV_BANK3_PARAM_OFS 0x468
  127. #define GT_DEV_BOOT_BANK_PARAM_OFS 0x46c
  128. /* DMA Record */
  129. #define GT_CHAN_0_DMA_BYTE_COUNT_OFS 0x800
  130. #define GT_CHAN_1_DMA_BYTE_COUNT_OFS 0x804
  131. #define GT_CHAN_2_DMA_BYTE_COUNT_OFS 0x808
  132. #define GT_CHAN_3_DMA_BYTE_COUNT_OFS 0x80c
  133. #define GT_CHAN_0_DMA_SRC_ADRS_OFS 0x810
  134. #define GT_CHAN_1_DMA_SRC_ADRS_OFS 0x814
  135. #define GT_CHAN_2_DMA_SRC_ADRS_OFS 0x818
  136. #define GT_CHAN_3_DMA_SRC_ADRS_OFS 0x81c
  137. #define GT_CHAN_0_DMA_DEST_ADRS_OFS 0x820
  138. #define GT_CHAN_1_DMA_DEST_ADRS_OFS 0x824
  139. #define GT_CHAN_2_DMA_DEST_ADRS_OFS 0x828
  140. #define GT_CHAN_3_DMA_DEST_ADRS_OFS 0x82c
  141. #define GT_CHAN_0_NEXT_REC_PTR_OFS 0x830
  142. #define GT_CHAN_1_NEXT_REC_PTR_OFS 0x834
  143. #define GT_CHAN_2_NEXT_REC_PTR_OFS 0x838
  144. #define GT_CHAN_3_NEXT_REC_PTR_OFS 0x83c
  145. #define GT_CHAN_0_CURRENT_DESCRIPTOR_PTR_OFS 0x870
  146. #define GT_CHAN_1_CURRENT_DESCRIPTOR_PTR_OFS 0x874
  147. #define GT_CHAN_2_CURRENT_DESCRIPTOR_PTR_OFS 0x878
  148. #define GT_CHAN_3_CURRENT_DESCRIPTOR_PTR_OFS 0x87c
  149. #define GT_CHAN_0_CTL_OFS 0x840
  150. #define GT_CHAN_1_CTL_OFS 0x844
  151. #define GT_CHAN_2_CTL_OFS 0x848
  152. #define GT_CHAN_3_CTL_OFS 0x84c
  153. /* DMA Arbiter */
  154. #define GT_ARBITER_CTL_OFS 0x860
  155. /* Timer/COUNTER */
  156. #define GT_TIMER_COUNTER_0_OFS 0x850
  157. #define GT_TIMER_COUNTER_1_OFS 0x854
  158. #define GT_TIMER_COUNTER_2_OFS 0x858
  159. #define GT_TIMER_COUNTER_3_OFS 0x85c
  160. #define GT_TIMER_COUNTER_CTL_OFS 0x864
  161. /* PCI Internal */
  162. #define GT_PCI0_COMMAND_OFS 0xc00
  163. #define GT_PCI1_COMMAND_OFS 0xc80
  164. #define GT_PCI0_TIMEOUT_RETRY_OFS 0xc04
  165. #define GT_PCI1_TIMEOUT_RETRY_OFS 0xc84
  166. #define GT_PCI0_SCS10_BANK_SZ_OFS 0xc08
  167. #define GT_PCI1_SCS10_BANK_SZ_OFS 0xc88
  168. #define GT_PCI0_SCS32_BANK_SZ_OFS 0xc0c
  169. #define GT_PCI1_SCS32_BANK_SZ_OFS 0xc8c
  170. #define GT_PCI0_CS20_BANK_SZ_OFS 0xc10
  171. #define GT_PCI1_CS20_BANK_SZ_OFS 0xc90
  172. #define GT_PCI0_CS3_BOOTCS_BANK_SZ_OFS 0xc14
  173. #define GT_PCI1_CS3_BOOTCS_BANK_SZ_OFS 0xc94
  174. #define GT_PCI0_BASE_ADRS_REGS_ENABLE_OFS 0xc3c
  175. #define GT_PCI1_BASE_ADRS_REGS_ENABLE_OFS 0xcbc
  176. #define GT_PCI0_PREFETCH_MAX_BURST_SZ_OFS 0xc40
  177. #define GT_PCI1_PREFETCH_MAX_BURST_SZ_OFS 0xcc0
  178. #define GT_PCI0_SCS10_BASE_ADRS_REMAP_OFS 0xc48
  179. #define GT_PCI1_SCS10_BASE_ADRS_REMAP_OFS 0xcc8
  180. #define GT_PCI0_SCS32_BASE_ADRS_REMAP_OFS 0xc4c
  181. #define GT_PCI1_SCS32_BASE_ADRS_REMAP_OFS 0xccc
  182. #define GT_PCI0_CS20_BASE_ADRS_REMAP_OFS 0xc50
  183. #define GT_PCI1_CS20_BASE_ADRS_REMAP_OFS 0xcd0
  184. #define GT_PCI0_CS3_BOOTCS_BASE_ADRS_REMAP_OFS 0xc54
  185. #define GT_PCI1_CS3_BOOTCS_BASE_ADRS_REMAP_OFS 0xcd4
  186. #define GT_PCI0_SWAPPED_SCS10_BASE_ADRS_REMAP_OFS 0xc58
  187. #define GT_PCI1_SWAPPED_SCS10_BASE_ADRS_REMAP_OFS 0xcd8
  188. #define GT_PCI0_SWAPPED_SCS32_BASE_ADRS_REMAP_OFS 0xc5c
  189. #define GT_PCI1_SWAPPED_SCS32_BASE_ADRS_REMAP_OFS 0xcdc
  190. #define GT_PCI0_SWAPPED_CS3_BOOTCS_BASE_ADRS_REMAP_OFS 0xc64
  191. #define GT_PCI1_SWAPPED_CS3_BOOTCS_BASE_ADRS_REMAP_OFS 0xce4
  192. #define GT_PCI0_CFG_ADRS_OFS 0xcf8
  193. #define GT_PCI1_CFG_ADRS_OFS 0xcf0
  194. #define GT_PCI0_CFG_DATA_VIRT_OFS 0xcfc
  195. #define GT_PCI1_CFG_DATA_VIRT_OFS 0xcf4
  196. #define GT_PCI0_INTR_ACK_VIRT_OFS 0xc34
  197. #define GT_PCI1_INTR_ACK_VIRT_OFS 0xc30
  198. /* Interrupts */
  199. #define GT_INTR_CAUSE_OFS 0xc18
  200. #define GT_H_INTR_CAUSE_OFS 0xc98
  201. #define GT_CPU_INTR_MASK_OFS 0xc1c
  202. #define GT_CPU_H_INTR_MASK_OFS 0xc9c
  203. #define GT_PCI0_INTR_CAUSE_MASK_OFS 0xc24
  204. #define GT_PCI0_H_INTR_CAUSE_MASK_OFS 0xca4
  205. #define GT_PCI0_SERR0_MASK_OFS 0xc28
  206. #define GT_PCI1_SERR1_MASK_OFS 0xca8
  207. #define GT_CPU_SELECT_CAUSE_OFS 0xc70
  208. #define GT_PCI0_INTR_SELECT_OFS 0xc74
  209. /*
  210.  * PCI Configuration
  211.  * 
  212.  * This is done by writing a register offset from pciConfigLib.h into
  213.  * GT_PCI0_CFG_ADRS, and then writing or reading the register value at
  214.  * GT_PCI0_CFG_DATA_VIRT.  For register offsets, use definitions from
  215.  * pciConfigLib.h
  216.  *
  217.  * for PCI1, use GT_PCI1_CFG_{ADRS,DATA_VIRT}. Alternatively, add the
  218.  * constant offset GT_PCI1_CFG_OFS to the register offset, and use
  219.  * GT_PCI0_CFG_{ADRS,DATA_VIRT}
  220.  */
  221. #define GT_PCI1_CFG_OFS 0x080
  222. #define GT_PCI0_SCS10_BASE_ADRS_OFS PCI_CFG_BASE_ADDRESS_0
  223. #define GT_PCI0_SCS32_BASE_ADRS_OFS PCI_CFG_BASE_ADDRESS_1
  224. #define GT_PCI0_CS20_BASE_ADRS_OFS PCI_CFG_BASE_ADDRESS_2
  225. #define GT_PCI0_CS3_BOOTCS_BASE_ADRS_OFS PCI_CFG_BASE_ADDRESS_3
  226. #define GT_PCI0_INTERNAL_REGS_MEM_MAPPED_BASE_ADRS_OFS PCI_CFG_BASE_ADDRESS_4
  227. #define GT_PCI0_INTERNAL_REGS_IO_MAPPED_BASE_ADRS_OFS PCI_CFG_BASE_ADDRESS_5
  228. #define GT_EXPANSION_ROM_BASE_ADRS_OFS PCI_CFG_EXPANSION_ROM
  229. /* PCI Configuration, Function 1 */
  230. #define GT_PCI0_SWAPPED_SCS10_BASE_ADRS_OFS 0x110
  231. #define GT_PCI0_SWAPPED_SCS32_BASE_ADRS_OFS 0x114
  232. #define GT_PCI0_SWAPPED_CS3_BOOTCS_BASE_ADRS_OFS 0x11c
  233. /* I2O Support Registers */
  234. #define GT_INBOUND_MESSAGE_0_OFS 0x10
  235. #define GT_INBOUND_MESSAGE_1_OFS 0x14
  236. #define GT_OUTBOUND_MESSAGE_0_OFS 0x18
  237. #define GT_OUTBOUND_MESSAGE_1_OFS 0x1c
  238. #define GT_INBOUND_DOORBELL_OFS 0x20
  239. #define GT_INBOUND_INTR_CAUSE_OFS 0x24
  240. #define GT_INBOUND_INTR_MASK_OFS 0x28
  241. #define GT_OUTBOUND_DOORBELL_OFS 0x2c
  242. #define GT_OUTBOUND_INTR_CAUSE_OFS 0x30
  243. #define GT_OUTBOUND_INTR_MASK_OFS 0x34
  244. #define GT_INBOUND_QUEUE_PORT_VIRT_OFS 0x40
  245. #define GT_OUTBOUND_QUEUE_PORT_VIRT_OFS 0x44
  246. #define GT_QUEUE_CTL_OFS 0x50
  247. #define GT_QUEUE_BASE_ADRS_OFS 0x54
  248. #define GT_INBOUND_FREE_HEAD_PTR_OFS 0x60
  249. #define GT_INBOUND_FREE_TAIL_PTR_OFS 0x64
  250. #define GT_INBOUND_POST_HEAD_PTR_OFS 0x68
  251. #define GT_INBOUND_POST_TAIL_PTR_OFS 0x6c
  252. #define GT_OUTBOUND_FREE_HEAD_PTR_OFS 0x70
  253. #define GT_OUTBOUND_FREE_TAIL_PTR_OFS 0x74
  254. #define GT_OUTBOUND_POST_HEAD_PTR_OFS 0x78
  255. #define GT_OUTBOUND_POST_TAIL_PTR_OFS 0x7c
  256. /**********************************************************************
  257.  *
  258.  * GT64120A Internal Register ABSOLUTE ADDRESSES
  259.  *
  260.  * These require the includer of this header to define a GT_BASE macro.
  261.  * Here's an assembly-language example:
  262.  *
  263.  *   #include <gt64120a.h>
  264.  *
  265.  *   #define K1BASE 0xa0000000 /@ MIPS base address for phys mem @/
  266.  *   #define GT_BASE (K1BASE | GT_INTERNAL_REGS_BASE_DEF)
  267.  *
  268.  *    lw    k0,GT_CPU_INTF_CFG /@ get CPU Interface Configuration @/
  269.  *
  270.  **********************************************************************/
  271. /* Default memory map */
  272. #define GT_SCS0_BASE_DEF 0x00000000
  273. #define GT_SCS1_BASE_DEF 0x00800000
  274. #define GT_SCS2_BASE_DEF 0x01000000
  275. #define GT_SCS3_BASE_DEF 0x01800000
  276. #define GT_PCI0_IO_0_BASE_DEF 0x10000000
  277. #define GT_PCI0_MEM_0_BASE_DEF 0x12000000
  278. #define GT_INTERNAL_REGS_BASE_DEF 0x14000000
  279. #define GT_CS0_BASE_DEF 0x1c000000
  280. #define GT_CS1_BASE_DEF 0x1c800000
  281. #define GT_CS2_BASE_DEF 0x1d000000
  282. #define GT_CS3_BASE_DEF 0x1f000000
  283. #define GT_BOOTCS_BASE_DEF 0x1fc00000
  284. #define GT_PCI1_IO_BASE_DEF 0x20000000
  285. #define GT_PCI1_MEM_0_BASE_DEF 0x22000000
  286. #define GT_PCI1_MEM_1_BASE_DEF 0x24000000
  287. #define GT_PCI0_MEM_1_BASE_DEF 0xf2000000
  288. /* CPU Configuration */
  289. #define GT_CPU_INTF_CFG (GT_BASE+GT_CPU_INTF_CFG_OFS)
  290. #define GT_MULTI_GT_REG (GT_BASE+GT_MULTI_GT_REG_OFS)
  291. /* CPU Address Decode */
  292. #define GT_SCS10_L_DEC_ADRS (GT_BASE+GT_SCS10_L_DEC_ADRS_OFS)
  293. #define GT_SCS10_H_DEC_ADRS (GT_BASE+GT_SCS10_H_DEC_ADRS_OFS)
  294. #define GT_SCS32_L_DEC_ADRS (GT_BASE+GT_SCS32_L_DEC_ADRS_OFS)
  295. #define GT_SCS32_H_DEC_ADRS (GT_BASE+GT_SCS32_H_DEC_ADRS_OFS)
  296. #define GT_CS20_L_DEC_ADRS (GT_BASE+GT_CS20_L_DEC_ADRS_OFS)
  297. #define GT_CS20_H_DEC_ADRS (GT_BASE+GT_CS20_H_DEC_ADRS_OFS)
  298. #define GT_CS3_BOOTCS_L_DEC_ADRS (GT_BASE+GT_CS3_BOOTCS_L_DEC_ADRS_OFS)
  299. #define GT_CS3_BOOTCS_H_DEC_ADRS (GT_BASE+GT_CS3_BOOTCS_H_DEC_ADRS_OFS)
  300. #define GT_PCI0_IO_L_DEC_ADRS (GT_BASE+GT_PCI0_IO_L_DEC_ADRS_OFS)
  301. #define GT_PCI0_IO_H_DEC_ADRS (GT_BASE+GT_PCI0_IO_H_DEC_ADRS_OFS)
  302. #define GT_PCI0_MEM_0_L_DEC_ADRS (GT_BASE+GT_PCI0_MEM_0_L_DEC_ADRS_OFS)
  303. #define GT_PCI0_MEM_0_H_DEC_ADRS (GT_BASE+GT_PCI0_MEM_0_H_DEC_ADRS_OFS)
  304. #define GT_PCI0_MEM_1_L_DEC_ADRS (GT_BASE+GT_PCI0_MEM_1_L_DEC_ADRS_OFS)
  305. #define GT_PCI0_MEM_1_H_DEC_ADRS (GT_BASE+GT_PCI0_MEM_1_H_DEC_ADRS_OFS)
  306. #define GT_PCI1_IO_L_DEC_ADRS (GT_BASE+GT_PCI1_IO_L_DEC_ADRS_OFS)
  307. #define GT_PCI1_IO_H_DEC_ADRS (GT_BASE+GT_PCI1_IO_H_DEC_ADRS_OFS)
  308. #define GT_PCI1_MEM_0_L_DEC_ADRS (GT_BASE+GT_PCI1_MEM_0_L_DEC_ADRS_OFS)
  309. #define GT_PCI1_MEM_0_H_DEC_ADRS (GT_BASE+GT_PCI1_MEM_0_H_DEC_ADRS_OFS)
  310. #define GT_PCI1_MEM_1_L_DEC_ADRS (GT_BASE+GT_PCI1_MEM_1_L_DEC_ADRS_OFS)
  311. #define GT_PCI1_MEM_1_H_DEC_ADRS (GT_BASE+GT_PCI1_MEM_1_H_DEC_ADRS_OFS)
  312. #define GT_INTERNAL_SPACE_DEC (GT_BASE+GT_INTERNAL_SPACE_DEC_OFS)
  313. #define GT_SCS10_ADRS_REMAP (GT_BASE+GT_SCS10_ADRS_REMAP_OFS)
  314. #define GT_SCS32_ADRS_REMAP (GT_BASE+GT_SCS32_ADRS_REMAP_OFS)
  315. #define GT_CS20_REMAP (GT_BASE+GT_CS20_REMAP_OFS)
  316. #define GT_CS3_BOOTCS_REMAP (GT_BASE+GT_CS3_BOOTCS_REMAP_OFS)
  317. #define GT_PCI0_IO_REMAP (GT_BASE+GT_PCI0_IO_REMAP_OFS)
  318. #define GT_PCI0_MEM_0_REMAP (GT_BASE+GT_PCI0_MEM_0_REMAP_OFS)
  319. #define GT_PCI0_MEM_1_REMAP (GT_BASE+GT_PCI0_MEM_1_REMAP_OFS)
  320. #define GT_PCI1_IO_REMAP (GT_BASE+GT_PCI1_IO_REMAP_OFS)
  321. #define GT_PCI1_MEM_0_REMAP (GT_BASE+GT_PCI1_MEM_0_REMAP_OFS)
  322. #define GT_PCI1_MEM_1_REMAP (GT_BASE+GT_PCI1_MEM_1_REMAP_OFS)
  323. /* CPU Errors Report */
  324. #define GT_CPU_ERROR_ADRS_L (GT_BASE+GT_CPU_ERROR_ADRS_L_OFS)
  325. #define GT_CPU_ERROR_ADRS_H (GT_BASE+GT_CPU_ERROR_ADRS_H_OFS)
  326. #define GT_CPU_ERROR_DATA_L (GT_BASE+GT_CPU_ERROR_DATA_L_OFS)
  327. #define GT_CPU_ERROR_DATA_H (GT_BASE+GT_CPU_ERROR_DATA_H_OFS)
  328. #define GT_CPU_ERROR_PARITY (GT_BASE+GT_CPU_ERROR_PARITY_OFS)
  329. /* CPU Sync Barrier */
  330. #define GT_PCI0_SYNC_BARRIER_VIRT (GT_BASE+GT_PCI0_SYNC_BARRIER_VIRT_OFS)
  331. #define GT_PCI1_SYNC_BARRIER_VIRT (GT_BASE+GT_PCI1_SYNC_BARRIER_VIRT_OFS)
  332. /* SDRAM and Device Address Decode */
  333. #define GT_SCS0_L_DEC_ADRS (GT_BASE+GT_SCS0_L_DEC_ADRS_OFS)
  334. #define GT_SCS0_H_DEC_ADRS (GT_BASE+GT_SCS0_H_DEC_ADRS_OFS)
  335. #define GT_SCS1_L_DEC_ADRS (GT_BASE+GT_SCS1_L_DEC_ADRS_OFS)
  336. #define GT_SCS1_H_DEC_ADRS (GT_BASE+GT_SCS1_H_DEC_ADRS_OFS)
  337. #define GT_SCS2_L_DEC_ADRS (GT_BASE+GT_SCS2_L_DEC_ADRS_OFS)
  338. #define GT_SCS2_H_DEC_ADRS (GT_BASE+GT_SCS2_H_DEC_ADRS_OFS)
  339. #define GT_SCS3_L_DEC_ADRS (GT_BASE+GT_SCS3_L_DEC_ADRS_OFS)
  340. #define GT_SCS3_H_DEC_ADRS (GT_BASE+GT_SCS3_H_DEC_ADRS_OFS)
  341. #define GT_CS0_L_DEC_ADRS (GT_BASE+GT_CS0_L_DEC_ADRS_OFS)
  342. #define GT_CS0_H_DEC_ADRS (GT_BASE+GT_CS0_H_DEC_ADRS_OFS)
  343. #define GT_CS1_L_DEC_ADRS (GT_BASE+GT_CS1_L_DEC_ADRS_OFS)
  344. #define GT_CS1_H_DEC_ADRS (GT_BASE+GT_CS1_H_DEC_ADRS_OFS)
  345. #define GT_CS2_L_DEC_ADRS (GT_BASE+GT_CS2_L_DEC_ADRS_OFS)
  346. #define GT_CS2_H_DEC_ADRS (GT_BASE+GT_CS2_H_DEC_ADRS_OFS)
  347. #define GT_CS3_L_DEC_ADRS (GT_BASE+GT_CS3_L_DEC_ADRS_OFS)
  348. #define GT_CS3_H_DEC_ADRS (GT_BASE+GT_CS3_H_DEC_ADRS_OFS)
  349. #define GT_BOOTCS_L_DEC_ADRS (GT_BASE+GT_BOOTCS_L_DEC_ADRS_OFS)
  350. #define GT_BOOTCS_H_DEC_ADRS (GT_BASE+GT_BOOTCS_H_DEC_ADRS_OFS)
  351. #define GT_ADRS_DEC_ERROR (GT_BASE+GT_ADRS_DEC_ERROR_OFS)
  352. /* SDRAM Configuration */
  353. #define GT_SDRAM_CFG (GT_BASE+GT_SDRAM_CFG_OFS)
  354. #define GT_SDRAM_OP_MODE (GT_BASE+GT_SDRAM_OP_MODE_OFS)
  355. #define GT_SDRAM_BURST_MODE (GT_BASE+GT_SDRAM_BURST_MODE_OFS)
  356. #define GT_SDRAM_ADRS_DEC (GT_BASE+GT_SDRAM_ADRS_DEC_OFS)
  357. /* SDRAM Parameters */
  358. #define GT_SDRAM_BANK0_PARAM (GT_BASE+GT_SDRAM_BANK0_PARAM_OFS)
  359. #define GT_SDRAM_BANK1_PARAM (GT_BASE+GT_SDRAM_BANK1_PARAM_OFS)
  360. #define GT_SDRAM_BANK2_PARAM (GT_BASE+GT_SDRAM_BANK2_PARAM_OFS)
  361. #define GT_SDRAM_BANK3_PARAM (GT_BASE+GT_SDRAM_BANK3_PARAM_OFS)
  362. /* ECC */
  363. #define GT_ECC_ERROR_ADRS (GT_BASE+GT_ECC_ERROR_ADRS_OFS)
  364. #define GT_ECC_ERROR_DATA_H (GT_BASE+GT_ECC_ERROR_DATA_H_OFS)
  365. #define GT_ECC_ERROR_DATA_L (GT_BASE+GT_ECC_ERROR_DATA_L_OFS)
  366. #define GT_ECC_FROM_MEM (GT_BASE+GT_ECC_FROM_MEM_OFS)
  367. #define GT_ECC_CALCULATED (GT_BASE+GT_ECC_CALCULATED_OFS)
  368. /* Device Parameters*/
  369. #define GT_DEV_BANK0_PARAM (GT_BASE+GT_DEV_BANK0_PARAM_OFS)
  370. #define GT_DEV_BANK1_PARAM (GT_BASE+GT_DEV_BANK1_PARAM_OFS)
  371. #define GT_DEV_BANK2_PARAM (GT_BASE+GT_DEV_BANK2_PARAM_OFS)
  372. #define GT_DEV_BANK3_PARAM (GT_BASE+GT_DEV_BANK3_PARAM_OFS)
  373. #define GT_DEV_BOOT_BANK_PARAM (GT_BASE+GT_DEV_BOOT_BANK_PARAM_OFS)
  374. /* DMA Record */
  375. #define GT_CHAN_0_DMA_BYTE_COUNT (GT_BASE+GT_CHAN_0_DMA_BYTE_COUNT_OFS)
  376. #define GT_CHAN_1_DMA_BYTE_COUNT (GT_BASE+GT_CHAN_1_DMA_BYTE_COUNT_OFS)
  377. #define GT_CHAN_2_DMA_BYTE_COUNT (GT_BASE+GT_CHAN_2_DMA_BYTE_COUNT_OFS)
  378. #define GT_CHAN_3_DMA_BYTE_COUNT (GT_BASE+GT_CHAN_3_DMA_BYTE_COUNT_OFS)
  379. #define GT_CHAN_0_DMA_SRC_ADRS (GT_BASE+GT_CHAN_0_DMA_SRC_ADRS_OFS)
  380. #define GT_CHAN_1_DMA_SRC_ADRS (GT_BASE+GT_CHAN_1_DMA_SRC_ADRS_OFS)
  381. #define GT_CHAN_2_DMA_SRC_ADRS (GT_BASE+GT_CHAN_2_DMA_SRC_ADRS_OFS)
  382. #define GT_CHAN_3_DMA_SRC_ADRS (GT_BASE+GT_CHAN_3_DMA_SRC_ADRS_OFS)
  383. #define GT_CHAN_0_DMA_DEST_ADRS (GT_BASE+GT_CHAN_0_DMA_DEST_ADRS_OFS)
  384. #define GT_CHAN_1_DMA_DEST_ADRS (GT_BASE+GT_CHAN_1_DMA_DEST_ADRS_OFS)
  385. #define GT_CHAN_2_DMA_DEST_ADRS (GT_BASE+GT_CHAN_2_DMA_DEST_ADRS_OFS)
  386. #define GT_CHAN_3_DMA_DEST_ADRS (GT_BASE+GT_CHAN_3_DMA_DEST_ADRS_OFS)
  387. #define GT_CHAN_0_NEXT_REC_PTR (GT_BASE+GT_CHAN_0_NEXT_REC_PTR_OFS)
  388. #define GT_CHAN_1_NEXT_REC_PTR (GT_BASE+GT_CHAN_1_NEXT_REC_PTR_OFS)
  389. #define GT_CHAN_2_NEXT_REC_PTR (GT_BASE+GT_CHAN_2_NEXT_REC_PTR_OFS)
  390. #define GT_CHAN_3_NEXT_REC_PTR (GT_BASE+GT_CHAN_3_NEXT_REC_PTR_OFS)
  391. #define GT_CHAN_0_CURRENT_DESCRIPTOR_PTR (GT_BASE+GT_CHAN_0_CURRENT_DESCRIPTOR_PTR_OFS)
  392. #define GT_CHAN_1_CURRENT_DESCRIPTOR_PTR (GT_BASE+GT_CHAN_1_CURRENT_DESCRIPTOR_PTR_OFS)
  393. #define GT_CHAN_2_CURRENT_DESCRIPTOR_PTR (GT_BASE+GT_CHAN_2_CURRENT_DESCRIPTOR_PTR_OFS)
  394. #define GT_CHAN_3_CURRENT_DESCRIPTOR_PTR (GT_BASE+GT_CHAN_3_CURRENT_DESCRIPTOR_PTR_OFS)
  395. #define GT_CHAN_0_CTL (GT_BASE+GT_CHAN_0_CTL_OFS)
  396. #define GT_CHAN_1_CTL (GT_BASE+GT_CHAN_1_CTL_OFS)
  397. #define GT_CHAN_2_CTL (GT_BASE+GT_CHAN_2_CTL_OFS)
  398. #define GT_CHAN_3_CTL (GT_BASE+GT_CHAN_3_CTL_OFS)
  399. /* DMA Arbiter */
  400. #define GT_ARBITER_CTL (GT_BASE+GT_ARBITER_CTL_OFS)
  401. /* Timer/COUNTER */
  402. #define GT_TIMER_COUNTER_0 (GT_BASE+GT_TIMER_COUNTER_0_OFS)
  403. #define GT_TIMER_COUNTER_1 (GT_BASE+GT_TIMER_COUNTER_1_OFS)
  404. #define GT_TIMER_COUNTER_2 (GT_BASE+GT_TIMER_COUNTER_2_OFS)
  405. #define GT_TIMER_COUNTER_3 (GT_BASE+GT_TIMER_COUNTER_3_OFS)
  406. #define GT_TIMER_COUNTER_CTL (GT_BASE+GT_TIMER_COUNTER_CTL_OFS)
  407. /* PCI Internal */
  408. #define GT_PCI0_COMMAND (GT_BASE+GT_PCI0_COMMAND_OFS)
  409. #define GT_PCI1_COMMAND (GT_BASE+GT_PCI1_COMMAND_OFS)
  410. #define GT_PCI0_TIMEOUT_RETRY (GT_BASE+GT_PCI0_TIMEOUT_RETRY_OFS)
  411. #define GT_PCI1_TIMEOUT_RETRY (GT_BASE+GT_PCI1_TIMEOUT_RETRY_OFS)
  412. #define GT_PCI0_SCS10_BANK_SZ (GT_BASE+GT_PCI0_SCS10_BANK_SZ_OFS)
  413. #define GT_PCI1_SCS10_BANK_SZ (GT_BASE+GT_PCI1_SCS10_BANK_SZ_OFS)
  414. #define GT_PCI0_SCS32_BANK_SZ (GT_BASE+GT_PCI0_SCS32_BANK_SZ_OFS)
  415. #define GT_PCI1_SCS32_BANK_SZ (GT_BASE+GT_PCI1_SCS32_BANK_SZ_OFS)
  416. #define GT_PCI0_CS20_BANK_SZ (GT_BASE+GT_PCI0_CS20_BANK_SZ_OFS)
  417. #define GT_PCI1_CS20_BANK_SZ (GT_BASE+GT_PCI1_CS20_BANK_SZ_OFS)
  418. #define GT_PCI0_CS3_BOOTCS_BANK_SZ (GT_BASE+GT_PCI0_CS3_BOOTCS_BANK_SZ_OFS)
  419. #define GT_PCI1_CS3_BOOTCS_BANK_SZ (GT_BASE+GT_PCI1_CS3_BOOTCS_BANK_SZ_OFS)
  420. #define GT_PCI0_BASE_ADRS_REGS_ENABLE (GT_BASE+GT_PCI0_BASE_ADRS_REGS_ENABLE_OFS)
  421. #define GT_PCI1_BASE_ADRS_REGS_ENABLE (GT_BASE+GT_PCI1_BASE_ADRS_REGS_ENABLE_OFS)
  422. #define GT_PCI0_PREFETCH_MAX_BURST_SZ (GT_BASE+GT_PCI0_PREFETCH_MAX_BURST_SZ_OFS)
  423. #define GT_PCI1_PREFETCH_MAX_BURST_SZ (GT_BASE+GT_PCI1_PREFETCH_MAX_BURST_SZ_OFS)
  424. #define GT_PCI0_SCS10_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_SCS10_BASE_ADRS_REMAP_OFS)
  425. #define GT_PCI1_SCS10_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_SCS10_BASE_ADRS_REMAP_OFS)
  426. #define GT_PCI0_SCS32_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_SCS32_BASE_ADRS_REMAP_OFS)
  427. #define GT_PCI1_SCS32_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_SCS32_BASE_ADRS_REMAP_OFS)
  428. #define GT_PCI0_CS20_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_CS20_BASE_ADRS_REMAP_OFS)
  429. #define GT_PCI1_CS20_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_CS20_BASE_ADRS_REMAP_OFS)
  430. #define GT_PCI0_CS3_BOOTCS_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_CS3_BOOTCS_BASE_ADRS_REMAP_OFS)
  431. #define GT_PCI1_CS3_BOOTCS_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_CS3_BOOTCS_BASE_ADRS_REMAP_OFS)
  432. #define GT_PCI0_SWAPPED_SCS10_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_SWAPPED_SCS10_BASE_ADRS_REMAP_OFS)
  433. #define GT_PCI1_SWAPPED_SCS10_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_SWAPPED_SCS10_BASE_ADRS_REMAP_OFS)
  434. #define GT_PCI0_SWAPPED_SCS32_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_SWAPPED_SCS32_BASE_ADRS_REMAP_OFS)
  435. #define GT_PCI1_SWAPPED_SCS32_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_SWAPPED_SCS32_BASE_ADRS_REMAP_OFS)
  436. #define GT_PCI0_SWAPPED_CS3_BOOTCS_BASE_ADRS_REMAP (GT_BASE+GT_PCI0_SWAPPED_CS3_BOOTCS_BASE_ADRS_REMAP_OFS)
  437. #define GT_PCI1_SWAPPED_CS3_BOOTCS_BASE_ADRS_REMAP (GT_BASE+GT_PCI1_SWAPPED_CS3_BOOTCS_BASE_ADRS_REMAP_OFS)
  438. #define GT_PCI0_CFG_ADRS (GT_BASE+GT_PCI0_CFG_ADRS_OFS)
  439. #define GT_PCI1_CFG_ADRS (GT_BASE+GT_PCI1_CFG_ADRS_OFS)
  440. #define GT_PCI0_CFG_DATA_VIRT (GT_BASE+GT_PCI0_CFG_DATA_VIRT_OFS)
  441. #define GT_PCI1_CFG_DATA_VIRT (GT_BASE+GT_PCI1_CFG_DATA_VIRT_OFS)
  442. #define GT_PCI0_INTR_ACK_VIRT (GT_BASE+GT_PCI0_INTR_ACK_VIRT_OFS)
  443. #define GT_PCI1_INTR_ACK_VIRT (GT_BASE+GT_PCI1_INTR_ACK_VIRT_OFS)
  444. /* Interrupts */
  445. #define GT_INTR_CAUSE (GT_BASE+GT_INTR_CAUSE_OFS)
  446. #define GT_H_INTR_CAUSE (GT_BASE+GT_H_INTR_CAUSE_OFS)
  447. #define GT_CPU_INTR_MASK (GT_BASE+GT_CPU_INTR_MASK_OFS)
  448. #define GT_CPU_H_INTR_MASK (GT_BASE+GT_CPU_H_INTR_MASK_OFS)
  449. #define GT_PCI0_INTR_CAUSE_MASK (GT_BASE+GT_PCI0_INTR_CAUSE_MASK_OFS)
  450. #define GT_PCI0_H_INTR_CAUSE_MASK (GT_BASE+GT_PCI0_H_INTR_CAUSE_MASK_OFS)
  451. #define GT_PCI0_SERR0_MASK (GT_BASE+GT_PCI0_SERR0_MASK_OFS)
  452. #define GT_PCI1_SERR1_MASK (GT_BASE+GT_PCI1_SERR1_MASK_OFS)
  453. #define GT_CPU_SELECT_CAUSE (GT_BASE+GT_CPU_SELECT_CAUSE_OFS)
  454. #define GT_PCI0_INTR_SELECT (GT_BASE+GT_PCI0_INTR_SELECT_OFS)
  455. /*
  456.  * I2O Support Registers
  457.  *
  458.  * "I20 registers can be accessed from the CPU and PCI_0 sides (unless
  459.  * stated otherwise). If accessed from the PCI_0 side, address offset is
  460.  * with respect to the PCI_0 SCS[1:0]* Base Address Register contents.
  461.  * If accessed from the CPU side, the address offset is with respect to
  462.  * the CPU Internal Space Base Register + 0x1c00"
  463.  * -- GT64120A Data Sheet Revision 1.0 p. 171
  464.  */
  465. #define GT_I2O_CPU_BASE_OFS 0x1c00
  466. #define GT_INBOUND_MESSAGE_0 (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_MESSAGE_0_OFS)
  467. #define GT_INBOUND_MESSAGE_1 (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_MESSAGE_1_OFS)
  468. #define GT_OUTBOUND_MESSAGE_0 (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_MESSAGE_0_OFS)
  469. #define GT_OUTBOUND_MESSAGE_1 (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_MESSAGE_1_OFS)
  470. #define GT_INBOUND_DOORBELL (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_DOORBELL_OFS)
  471. #define GT_INBOUND_INTR_CAUSE (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_INTR_CAUSE_OFS)
  472. #define GT_INBOUND_INTR_MASK (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_INTR_MASK_OFS)
  473. #define GT_OUTBOUND_DOORBELL (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_DOORBELL_OFS)
  474. #define GT_OUTBOUND_INTR_CAUSE (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_INTR_CAUSE_OFS)
  475. #define GT_OUTBOUND_INTR_MASK (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_INTR_MASK_OFS)
  476. #define GT_INBOUND_QUEUE_PORT_VIRT (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_QUEUE_PORT_VIRT_OFS)
  477. #define GT_OUTBOUND_QUEUE_PORT_VIRT (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_QUEUE_PORT_VIRT_OFS)
  478. #define GT_QUEUE_CTL (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_QUEUE_CTL_OFS)
  479. #define GT_QUEUE_BASE_ADRS (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_QUEUE_BASE_ADRS_OFS)
  480. #define GT_INBOUND_FREE_HEAD_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_FREE_HEAD_PTR_OFS)
  481. #define GT_INBOUND_FREE_TAIL_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_FREE_TAIL_PTR_OFS)
  482. #define GT_INBOUND_POST_HEAD_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_POST_HEAD_PTR_OFS)
  483. #define GT_INBOUND_POST_TAIL_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_INBOUND_POST_TAIL_PTR_OFS)
  484. #define GT_OUTBOUND_FREE_HEAD_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_FREE_HEAD_PTR_OFS)
  485. #define GT_OUTBOUND_FREE_TAIL_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_FREE_TAIL_PTR_OFS)
  486. #define GT_OUTBOUND_POST_HEAD_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_POST_HEAD_PTR_OFS)
  487. #define GT_OUTBOUND_POST_TAIL_PTR (GT_BASE+GT_I2O_CPU_BASE_OFS+GT_OUTBOUND_POST_TAIL_PTR_OFS)
  488. /***********************************************************************
  489.  *
  490.  * Register encodings
  491.  *
  492.  ***********************************************************************/
  493. /* create a mask of n ones */
  494. #ifndef GT_MSK
  495. #define GT_MSK(n) ((1 << (n)) - 1)
  496. #endif
  497. /* for CPU Interface Config: GT_CPU_INTF_CFG */
  498. #define GT_CACHEOPMAP_SHF 0
  499. #define GT_CACHEOPMAP_MSK (GT_MSK(9) << GT_CACHEOPMAP_SHF)
  500. #define GT_CACHEPRES_SHF 9
  501. #define GT_CACHEPRES_MSK (GT_MSK(1) << GT_CACHEPRES_SHF)
  502. #define GT_CACHEPRES_BIT GT_CACHEPRES_MSK
  503. #define GT_CACHEPRES_GT64012_NOT_PRESENT 0
  504. #define GT_CACHEPRES_GT64012_PRESENT 1
  505. #define GT_WRITEMODE_SHF 11
  506. #define GT_WRITEMODE_MSK (GT_MSK(1) << GT_WRITEMODE_SHF)
  507. #define GT_WRITEMODE_BIT GT_WRITEMODE_MSK
  508. #define GT_WRITEMODE_PIPELINED 0
  509. #define GT_WRITEMODE_R4000 1
  510. #define GT_ENDIANESS_SHF 12
  511. #define GT_ENDIANESS_MSK (GT_MSK(1) << GT_ENDIANESS_SHF)
  512. #define GT_ENDIANESS_BIT GT_ENDIANESS_MSK
  513. #define GT_ENDIANESS_BIG 0
  514. #define GT_ENDIANESS_LITTLE 1
  515. #define GT_R5KL2_PRESENT_SHF 14
  516. #define GT_R5KL2_PRESENT_MSK (GT_MSK(1) << GT_R5KL2_PRESENT_SHF)
  517. #define GT_R5KL2_PRESENT_BIT GT_R5KL2_PRESENT_MSK
  518. #define GT_R5KL2_PRESENT_NOT_PRESENT 0
  519. #define GT_R5KL2_PRESENT_PRESENT 1
  520. #define GT_EXTERNAL_HIT_DELAY_SHF 15
  521. #define GT_EXTERNAL_HIT_DELAY_MSK (GT_MSK(1) << GT_EXTERNAL_HIT_DELAY_SHF)
  522. #define GT_EXTERNAL_HIT_DELAY_BIT GT_EXTERNAL_HIT_DELAY_MSK
  523. #define GT_EXTERNAL_HIT_DELAY_NON_REGISTERED 0
  524. #define GT_EXTERNAL_HIT_DELAY_REGISTERED 1
  525. #define GT_CPU_WRITE_RATE_SHF 16
  526. #define GT_CPU_WRITE_RATE_MSK (GT_MSK(1) << GT_CPU_WRITE_RATE_SHF)
  527. #define GT_CPU_WRITE_RATE_BIT GT_CPU_WRITE_RATE_MSK
  528. #define GT_CPU_WRITE_RATE_DXDXDXDX 0
  529. #define GT_CPU_WRITE_RATE_DDDD 1
  530. #define GT_STOP_RETRY_SHF 17
  531. #define GT_STOP_RETRY_MSK (GT_MSK(1) << GT_STOP_RETRY_SHF)
  532. #define GT_STOP_RETRY_BIT GT_STOP_RETRY_MSK
  533. #define GT_STOP_RETRY_CONTINUE 0
  534. #define GT_STOP_RETRY_STOP 1
  535. #define GT_MULTIGT_SHF 18
  536. #define GT_MULTIGT_MSK (GT_MSK(1) << GT_MULTIGT_SHF)
  537. #define GT_MULTIGT_BIT GT_MULTIGT_BIT
  538. #define GT_MULTIGT_NOT_SUPPORTED 0
  539. #define GT_MULTIGT_SUPPORTED 1
  540. #define GT_SYSADCVALID_SHF 19
  541. #define GT_SYSADCVALID_MSK (GT_MSK(1) << GT_SYSADCVALID_SHF)
  542. #define GT_SYSADCVALID_BIT GT_SYSADCVALID_MSK
  543. #define GT_SYSADCVALID_NOT_CONNECTED 0
  544. #define GT_SYSADCVALID_CONNECTED 1
  545. #define GT_PCI0OVERRIDE_SHF 20
  546. #define GT_PCI0OVERRIDE_MSK (GT_MSK(2) << GT_PCI0OVERRIDE_SHF)
  547. #define GT_PCI0OVERRIDE_NORMAL 0 /* normal address decoding */
  548. #define GT_PCI0OVERRIDE_1GBYTE 1 /* 1 GB PCI_0 Mem0 space */
  549. #define GT_PCI0OVERRIDE_2GBYTE 2 /* 2 GB PCI_0 Mem0 space */
  550. #define GT_PCI1OVERRIDE_SHF 24
  551. #define GT_PCI1OVERRIDE_MSK (GT_MSK(2) << GT_PCI1OVERRIDE_SHF)
  552. #define GT_PCI1OVERRIDE_NORMAL 0 /* normal address decoding */
  553. #define GT_PCI1OVERRIDE_1GBYTE 1 /* 1 GB PCI_1 Mem0 space */
  554. #define GT_PCI1OVERRIDE_2GBYTE 2 /* 2 GB PCI_1 Mem0 space */
  555. /*
  556.  * for Internal Space Decode: GT_INTERNAL_SPACE_DEC
  557.  */
  558. #define GT_INTERNAL_SPACE_DEC_DEF 0x000000a0
  559. /* for SDRAM Configuration: GT_SDRAM_CFG */
  560. #define GT_SDRAM_CFG_REFINTCNT_SHF 0
  561. #define GT_SDRAM_CFG_REFINTCNT_MSK (GT_MSK(14) << GT_SDRAM_CFG_REFINTCNT_SHF)
  562. #define GT_SDRAM_CFG_INTERLEAVE_SHF 14
  563. #define GT_SDRAM_CFG_INTERLEAVE_MSK    (GT_MSK(1) << GT_SDRAM_CFG_INTERLEAVE_SHF)
  564. #define GT_SDRAM_CFG_INTERLEAVE_BIT GT_SDRAM_CFG_INTERLEAVE_MSK
  565. #define GT_SDRAM_CFG_INTERLEAVE_ENABLED 0
  566. #define GT_SDRAM_CFG_INTERLEAVE_DISABLED 1
  567. #define GT_SDRAM_CFG_RMW_SHF 15
  568. #define GT_SDRAM_CFG_RMW_MSK (GT_MSK(1) << GT_SDRAM_CFG_RMW_SHF)
  569. #define GT_SDRAM_CFG_RMW_BIT GT_SDRAM_CFG_RMW_MSK
  570. #define GT_SDRAM_CFG_RMW_DISABLED 0
  571. #define GT_SDRAM_CFG_RMW_ENABLED 1
  572. #define GT_SDRAM_CFG_STAGREF_SHF 16
  573. #define GT_SDRAM_CFG_STAGREF_MSK (GT_MSK(1) << GT_SDRAM_CFG_STAGREF_SHF)
  574. #define GT_SDRAM_CFG_STAGREF_BIT GT_SDRAM_CFG_STAGREF_MSK
  575. #define GT_SDRAM_CFG_STAGREF_STAGGERED 0
  576. #define GT_SDRAM_CFG_STAGREF_NON_STAGGERED 1
  577. #define GT_SDRAM_CFG_CPUTODRAMERR_SHF 17
  578. #define GT_SDRAM_CFG_CPUTODRAMERR_MSK (GT_MSK(1) << GT_SDRAM_CFG_CPUTODRAMERR_SHF)
  579. #define GT_SDRAM_CFG_CPUTODRAMERR_BIT GT_SDRAM_CFG_CPUTODRAMERR_MSK
  580. #define GT_SDRAM_CFG_CPUTODRAMERR_GENERATE_ERR 0
  581. #define GT_SDRAM_CFG_CPUTODRAMERR_ALWAYS_GOOD 1
  582. #define GT_SDRAM_CFG_ECCINT_SHF 18
  583. #define GT_SDRAM_CFG_ECCINT_MSK (GT_MSK(1) << GT_SDRAM_CFG_ECCINT_SHF)
  584. #define GT_SDRAM_CFG_ECCINT_BIT GT_SDRAM_CFG_ECCINT_MSK
  585. #define GT_SDRAM_CFG_ECCINT_2_ERRORS 0
  586. #define GT_SDRAM_CFG_ECCINT_1_ERROR 1
  587. #define GT_SDRAM_CFG_DUPCNTL_SHF 19
  588. #define GT_SDRAM_CFG_DUPCNTL_MSK (GT_MSK(1) << GT_SDRAM_CFG_DUPCNTL_SHF)
  589. #define GT_SDRAM_CFG_DUPCNTL_BIT GT_SDRAM_CFG_DUPCNTL_MSK
  590. #define GT_SDRAM_CFG_DUPBA_SHF 20
  591. #define GT_SDRAM_CFG_DUPBA_MSK (GT_MSK(1) << GT_SDRAM_CFG_DUPBA_SHF)
  592. #define GT_SDRAM_CFG_DUPBA_BIT GT_SDRAM_CFG_DUPBA_MSK
  593. #define GT_SDRAM_CFG_DUPBA_DO_NOT_DUP 0
  594. #define GT_SDRAM_CFG_DUPBA_DUPLICATE 1
  595. #define GT_SDRAM_CFG_DUPEOT0_SHF 21
  596. #define GT_SDRAM_CFG_DUPEOT0_MSK (GT_MSK(1) << GT_SDRAM_CFG_DUPEOT0_SHF)
  597. #define GT_SDRAM_CFG_DUPEOT0_BIT GT_SDRAM_CFG_DUPEOT0_MSK
  598. #define GT_SDRAM_CFG_DUPEOT0_DO_NOT_DUP 0
  599. #define GT_SDRAM_CFG_DUPEOT0_DUPLICATE 1
  600. #define GT_SDRAM_CFG_DUPEOT1_SHF 22
  601. #define GT_SDRAM_CFG_DUPEOT1_MSK (GT_MSK(1) << GT_SDRAM_CFG_DUPEOT1_SHF)
  602. #define GT_SDRAM_CFG_DUPEOT1_BIT GT_SDRAM_CFG_DUPEOT1_MSK
  603. #define GT_SDRAM_CFG_DUPEOT1_DO_NOT_DUP 0
  604. #define GT_SDRAM_CFG_DUPEOT1_DUPLICATE 1
  605. #define GT_SDRAM_CFG_REGSDRAM_SHF 23
  606. #define GT_SDRAM_CFG_REGSDRAM_MSK (GT_MSK(1) << GT_SDRAM_CFG_REGSDRAM_SHF)
  607. #define GT_SDRAM_CFG_REGSDRAM_BIT GT_SDRAM_CFG_REGSDRAM_MSK
  608. #define GT_SDRAM_CFG_REGSDRAM_DISABLE 0
  609. #define GT_SDRAM_CFG_REGSDRAM_ENABLE 1
  610. #define GT_SDRAM_CFG_DADR12_SHF 24
  611. #define GT_SDRAM_CFG_DADR12_MSK (GT_MSK(1) << GT_SDRAM_CFG_DADR12_SHF)
  612. #define GT_SDRAM_CFG_DADR12_BIT GT_SDRAM_CFG_DADR12_MSK
  613. #define GT_SDRAM_CFG_DADR12_ADP0 0
  614. #define GT_SDRAM_CFG_DADR12_DMAREQ3 0
  615. /* for SDRAM Operation Mode: GT_SDRAM_OP_MODE */
  616. #define GT_SDRAM_OPMODE_OP_SHF 0
  617. #define GT_SDRAM_OPMODE_OP_MSK (GT_MSK(3) << GT_SDRAM_OPMODE_OP_SHF)
  618. #define GT_SDRAM_OPMODE_OP_NORMAL 0 /* Normal SDRAM mode */
  619. #define GT_SDRAM_OPMODE_OP_NOP 1 /* NOP Command */
  620. #define GT_SDRAM_OPMODE_OP_ABPC 2 /* All banks precharge cmd */
  621. #define GT_SDRAM_OPMODE_OP_MRCE 3 /* Mode Register Cmd enable */
  622. #define GT_SDRAM_OPMODE_OP_CBRCE 4 /* CBR cycle enable */
  623. /* for SDRAM Burst Mode: GT_SDRAM_BURST_MODE */
  624. #define GT_SDRAM_BURST_MODE_MBO 0xFFB /* reserved bits, must be 1 */
  625. #define GT_BURST_ORDER_SHF 2
  626. #define GT_BURST_ORDER_MSK (GT_MSK(1) << GT_BURST_ORDER_SHF)
  627. #define GT_BURST_ORDER_BIT GT_BURST_ORDER_MSK
  628. #define GT_BURST_ORDER_SUBBLOCK 1
  629. #define GT_BURST_ORDER_LINEAR 0
  630. /* for SDRAM Address Decode: GT_SDRAM_ADRS_DEC */
  631. #define GT_ADDRDECODE_DEF 0x2 /* default value */
  632. /* for SDRAM Bank 0/1/2/3 Parameters: GT_SDRAM_BANK*_PARAM */
  633. #define GT_SDRAM_B0_CASLAT_SHF 0
  634. #define GT_SDRAM_B0_CASLAT_MSK (GT_MSK(2) << GT_SDRAM_B0_CASLAT_SHF)
  635. #define GT_SDRAM_B0_CASLAT_2 1
  636. #define GT_SDRAM_B0_CASLAT_3 2
  637. #define GT_SDRAM_B0_FLOWTHROUGH_SHF 2
  638. #define GT_SDRAM_B0_FLOWTHROUGH_MSK (GT_MSK(1) << GT_SDRAM_B0_FLOWTHROUGH_SHF)
  639. #define GT_SDRAM_B0_FLOWTHROUGH_BIT GT_SDRAM_B0_FLOWTHROUGH_MSK
  640. #define GT_SDRAM_B0_FLOWTHROUGH_1_SAMPLE 0
  641. #define GT_SDRAM_B0_FLOWTHROUGH_NO_SAMPLE 1
  642. #define GT_SDRAM_B0_SRASPRCHG_SHF 3
  643. #define GT_SDRAM_B0_SRASPRCHG_MSK (GT_MSK(1) << GT_SDRAM_B0_SRASPRCHG_SHF)
  644. #define GT_SDRAM_B0_SRASPRCHG_2 0
  645. #define GT_SDRAM_B0_SRASPRCHG_3 1
  646. #define GT_SDRAM_B0_COMPATIBLE_SHF 4 /* for GT64120A's predecessor */
  647. #define GT_SDRAM_B0_COMPATIBLE_MSK (GT_MSK(1) << GT_SDRAM_B0_COMPATIBLE_SHF)
  648. #define GT_SDRAM_B0_COMPATIBLE_BIT GT_SDRAM_B0_COMPATIBLE_MSK
  649. #define GT_SDRAM_B0_COMPATIBLE_B1 0
  650. #define GT_SDRAM_B0_COMPATIBLE_B0 1
  651. #define GT_SDRAM_B0_64BITINT_SHF 5
  652. #define GT_SDRAM_B0_64BITINT_MSK (GT_MSK(1) << GT_SDRAM_B0_64BITINT_SHF)
  653. #define GT_SDRAM_B0_64BITINT_BIT GT_SDRAM_B0_64BITINT_MSK
  654. #define GT_SDRAM_B0_64BITINT_2 0
  655. #define GT_SDRAM_B0_64BITINT_4 1
  656. #define GT_SDRAM_B0_BANKWIDTH_SHF 6
  657. #define GT_SDRAM_B0_BANKWIDTH_MSK (GT_MSK(1) << GT_SDRAM_B0_BANKWIDTH_SHF)
  658. #define GT_SDRAM_B0_BANKWIDTH_BIT GT_SDRAM_B0_BANKWIDTH_MSK
  659. #define GT_SDRAM_B0_BANKWIDTH_32 0
  660. #define GT_SDRAM_B0_BANKWIDTH_64 1
  661. #define GT_SDRAM_B0_BANKLOC_SHF 7
  662. #define GT_SDRAM_B0_BANKLOC_MSK (GT_MSK(1) << GT_SDRAM_B0_BANKLOC_SHF)
  663. #define GT_SDRAM_B0_BANKLOC_BIT GT_SDRAM_B0_BANKLOC_MSK
  664. #define GT_SDRAM_B0_BANKLOC_EVEN 0
  665. #define GT_SDRAM_B0_BANKLOC_ODD 1
  666. #define GT_SDRAM_B0_ECC_SHF 8
  667. #define GT_SDRAM_B0_ECC_MSK (GT_MSK(1) << GT_SDRAM_B0_ECC_SHF)
  668. #define GT_SDRAM_B0_ECC_BIT GT_SDRAM_B0_ECC_MSK
  669. #define GT_SDRAM_B0_ECC_NOT_SUPPORTED 0
  670. #define GT_SDRAM_B0_ECC_SUPPORTED 1
  671. #define GT_SDRAM_B0_BYPASS_SHF 9
  672. #define GT_SDRAM_B0_BYPASS_MSK (GT_MSK(1) << GT_SDRAM_B0_BYPASS_SHF)
  673. #define GT_SDRAM_B0_BYPASS_BIT GT_SDRAM_B0_BYPASS_MSK
  674. #define GT_SDRAM_B0_BYPASS_NO_BYPASS 0
  675. #define GT_SDRAM_B0_BYPASS_BYPASS 1
  676. #define GT_SDRAM_B0_SRASTOSCAS_SHF 10
  677. #define GT_SDRAM_B0_SRASTOSCAS_MSK (GT_MSK(1) << GT_SDRAM_B0_SRASTOSCAS_SHF)
  678. #define GT_SDRAM_B0_SRASTOSCAS_BIT GT_SDRAM_B0_SRASTOSCAS_MSK
  679. #define GT_SDRAM_B0_SRASTOSCAS_2 0
  680. #define GT_SDRAM_B0_SRASTOSCAS_3 1
  681. #define GT_SDRAM_B0_SDRAMSIZE0_SHF 11
  682. #define GT_SDRAM_B0_SDRAMSIZE0_MSK (GT_MSK(1) << GT_SDRAM_B0_SDRAMSIZE0_SHF)
  683. #define GT_SDRAM_B0_SDRAMSIZE0_BIT GT_SDRAM_B0_SDRAMSIZE0_MSK
  684. #define GT_SDRAM_B0_SDRAMSIZE0_16M 0
  685. #define GT_SDRAM_B0_SDRAMSIZE0_64M 1
  686. #define GT_SDRAM_B0_SDRAMSIZE0_128M 1
  687. #define GT_SDRAM_B0_SDRAMSIZE0_256M 1
  688. #define GT_SDRAM_B0_EXTPARITY_SHF 12
  689. #define GT_SDRAM_B0_EXTPARITY_MSK (GT_MSK(1) << GT_SDRAM_B0_EXTPARITY_SHF)
  690. #define GT_SDRAM_B0_EXTPARITY_BIT GT_SDRAM_B0_EXTPARITY_MSK
  691. #define GT_SDRAM_B0_EXTPARITY_NO_GEN 0
  692. #define GT_SDRAM_B0_EXTPARITY_GEN 1
  693. #define GT_SDRAM_B0_BRSTLEN_SHF 13
  694. #define GT_SDRAM_B0_BRSTLEN_MSK (GT_MSK(1) << GT_SDRAM_B0_BRSTLEN_SHF)
  695. #define GT_SDRAM_B0_BRSTLEN_BIT GT_SDRAM_B0_BRSTLEN_MSK
  696. #define GT_SDRAM_B0_BRSTLEN_8 0
  697. #define GT_SDRAM_B0_BRSTLEN_4 1
  698. #define GT_SDRAM_B0_SDRAMSIZE1_SHF 14
  699. #define GT_SDRAM_B0_SDRAMSIZE1_MSK (GT_MSK(1) << GT_SDRAM_B0_SDRAMSIZE1_SHF)
  700. #define GT_SDRAM_B0_SDRAMSIZE1_BIT GT_SDRAM_B0_SDRAMSIZE1_MSK
  701. #define GT_SDRAM_B0_SDRAMSIZE1_16M 0
  702. #define GT_SDRAM_B0_SDRAMSIZE1_64M 0
  703. #define GT_SDRAM_B0_SDRAMSIZE1_128M 0
  704. #define GT_SDRAM_B0_SDRAMSIZE1_256M 1
  705. /* for Device Bank 0/1/2/3 Parameters: GT_DEV_BANK*_PARAM_OFS */
  706. #define GT_DEV_BANK_TURNOFF_SHF 0
  707. #define GT_DEV_BANK_TURNOFF_MSK (GT_MSK(3) << GT_DEV_BANK_TURNOFF_SHF)
  708. #define GT_DEV_BANK_ACCTOFIRST_SHF 3
  709. #define GT_DEV_BANK_ACCTOFIRST_MSK (GT_MSK(4) << GT_DEV_BANK_ACCTOFIRST_SHF)
  710. #define GT_DEV_BANK_ACCTONEXT_SHF 7
  711. #define GT_DEV_BANK_ACCTONEXT_MSK (GT_MSK(4) << GT_DEV_BANK_ACCTONEXT_SHF)
  712. #define GT_DEV_BANK_ALETOWR_SHF 11
  713. #define GT_DEV_BANK_ALETOWR_MSK (GT_MSK(3) << GT_DEV_BANK_ALETOWR_SHF)
  714. #define GT_DEV_BANK_WRACTIVE_SHF 14
  715. #define GT_DEV_BANK_WRACTIVE_MSK (GT_MSK(3) << GT_DEV_BANK_WRACTIVE_SHF)
  716. #define GT_DEV_BANK_WRHIGH_SHF 17
  717. #define GT_DEV_BANK_WRHIGH_MSK (GT_MSK(3) << GT_DEV_BANK_WRHIGH_SHF)
  718. #define GT_DEV_BANK_DEVWIDTH_SHF 20
  719. #define GT_DEV_BANK_DEVWIDTH_MSK (GT_MSK(2) << GT_DEV_BANK_DEVWIDTH_SHF)
  720. #define GT_DEV_BANK_DEVWIDTH_8 0
  721. #define GT_DEV_BANK_DEVWIDTH_16 1
  722. #define GT_DEV_BANK_DEVWIDTH_32 2
  723. #define GT_DEV_BANK_DEVWIDTH_64 3
  724. #define GT_DEV_BANK_DMAFLYBY0_SHF 22
  725. #define GT_DEV_BANK_DMAFLYBY0_MSK (GT_MSK(1) << GT_DEV_BANK_DMAFLYBY0_SHF)
  726. #define GT_DEV_BANK_DMAFLYBY0_BIT GT_DEV_BANK_DMAFLYBY_MSK
  727. #define GT_DEV_BANK_DEVLOC_SHF 23
  728. #define GT_DEV_BANK_DEVLOC_MSK (GT_MSK(1) << GT_DEV_BANK_DEVLOC_SHF)
  729. #define GT_DEV_BANK_DEVLOC_BIT GT_DEV_BANK_DEVLOC_MSK
  730. #define GT_DEV_BANK_DEVLOC_EVEN 0
  731. #define GT_DEV_BANK_DEVLOC_ODD 1
  732. #define GT_DEV_BANK_DMAFLYBY1_SHF 26
  733. #define GT_DEV_BANK_DMAFLYBY1_MSK (GT_MSK(4) << GT_DEV_BANK_DMAFLYBY1_SHF)
  734. /* for PCI Command: PCI_0_COMMAND, PCI_1_COMMAND */
  735. #define GT_MBYTESWAP_SHF 0
  736. #define GT_MBYTESWAP_MSK (GT_MSK(1) << GT_MBYTESWAP_SHF)
  737. #define GT_MBYTESWAP_BIT GT_MBYTESWAP_MSK
  738. #define GT_MBYTESWAP_SWAP 0
  739. #define GT_MBYTESWAP_DONT_SWAP 1
  740. #define GT_SYNCMODE_SHF 1
  741. #define GT_SYNCMODE_MSK (GT_MSK(3) << GT_SYNCMODE_SHF)
  742. #define GT_SYNCMODE_BIT GT_SYNCMODE_MSK
  743. #define GT_SYNCMODE_DC_TO_66 0
  744. #define GT_SYNCMODE_P_GE_HALF_T 1
  745. #define GT_SYNCMODE_SYNC_P_GE_HALF_T 2
  746. #define GT_SYNCMODE_P_GE_THIRD_T 5
  747. #define GT_SYNCMODE_SYNC_P_GE_THIRD_T 6
  748. #define GT_MWORDSWAP_SHF 10
  749. #define GT_MWORDSWAP_MSK (GT_MSK(1) << GT_MWORDSWAP_SHF)
  750. #define GT_MWORDSWAP_BIT GT_MWORDSWAP_MSK
  751. #define GT_MWORDSWAP_SWAP 1
  752. #define GT_MWORDSWAP_DONT_SWAP 0
  753. #define GT_SWORDSWAP_SHF 11
  754. #define GT_SWORDSWAP_MSK (GT_MSK(1) << GT_SWORDSWAP_SHF)
  755. #define GT_SWORDSWAP_BIT GT_SWORDSWAP_MSK
  756. #define GT_SWORDSWAP_SWAP 1
  757. #define GT_SWORDSWAP_DONT_SWAP 0
  758. #define GT_SSBWORDSWAP_SHF 12
  759. #define GT_SSBWORDSWAP_MSK (GT_MSK(1) << GT_SSBWORDSWAP_SHF)
  760. #define GT_SSBWORDSWAP_BIT GT_SSBWORDSWAP_MSK
  761. #define GT_SSBWORDSWAP_SWAP 1
  762. #define GT_SSBWORDSWAP_DONT_SWAP 0
  763. #define GT_SBYTESWAP_SHF 16
  764. #define GT_SBYTESWAP_MSK (GT_MSK(1) << GT_SBYTESWAP_SHF)
  765. #define GT_SBYTESWAP_BIT GT_SBYTESWAP_MSK
  766. #define GT_SBYTESWAP_SWAP 0
  767. #define GT_SBYTESWAP_DONT_SWAP 1
  768. /* for PCI Timeout & Retry: GT_PCI0_TIMEOUT_RETRY, GT_PCI1_TIMEOUT_RETRY */
  769. #define GT_TIMEOUT0_SHF 0
  770. #define GT_TIMEOUT0_MSK (GT_MSK(8) << GT_TIMEOUT0_SHF)
  771. #define GT_TIMEOUT0_MAX GT_TIMEOUT0_MSK
  772. #define GT_TIMEOUT0_DEF 0x0f
  773. #define GT_TIMEOUT1_SHF 8
  774. #define GT_TIMEOUT1_MSK (GT_MSK(8) << GT_TIMEOUT1_SHF)
  775. #define GT_TIMEOUT1_MAX GT_TIMEOUT1_MSK
  776. #define GT_TIMEOUT1_DEF 0x07
  777. #define GT_RETRYCTR_SHF 16
  778. #define GT_RETRYCTR_MSK (GT_MSK(8) << GT_RETRYCTR_SHF)
  779. #define GT_RETRYCTR_MAX GT_RETRYCTR_MSK
  780. #define GT_RETRYCTR_RETRY_FOREVER 0
  781. #define GT_RETRYCTR_DEF GT_RETRYCTR_RETRY_FOREVER
  782. #define GT_TIMEOUT_MAX (GT_TIMEOUT0_MAX | GT_TIMEOUT1_MAX | GT_RETRYCTR_MAX)
  783. /* for PCI configuration cycles: GT_PCI0_CFG_ADRS, GT_PCI1_CFG_ADRS */
  784. #define GT_CONFIGEN_SHF 31
  785. #define GT_CONFIGEN_MSK (GT_MSK(1) << GT_CONFIGEN_SHF)
  786. #define GT_CONFIGEN_BIT GT_CONFIGEN_MSK
  787. #define GT_BUSNUM_SHF 16
  788. #define GT_BUSNUM_MSK (GT_MSK(8) << GT_BUSNUM_SHF)
  789. #define GT_DEVNUM_SHF 11
  790. #define GT_DEVNUM_MSK (GT_MSK(5) << GT_DEVNUM_SHF)
  791. #define GT_FUNCNUM_SHF 8
  792. #define GT_FUNCNUM_MSK (GT_MSK(3) << GT_FUNCNUM_SHF)
  793. #define GT_REGNUM_SHF 2
  794. #define GT_REGNUM_MSK (GT_MSK(6) << GT_REGNUM_SHF)
  795. /*
  796.  * for Interrupt Cause & Mask: GT_INTR_CAUSE, GT_CPU_INTR_MASK,
  797.  * GT_PCI0_INTR_CAUSE_MASK
  798.  *
  799.  * (1) can also be used for High Interrupt Cause & Mask: GT_H_INTR_CAUSE,
  800.  * GT_CPU_H_INTR_MASK, GT_PCI0_H_INTR_CAUSE_MASK
  801.  */
  802. #define GT_INTR_INTSUM 0x00000001
  803. #define GT_INTR_MEMOUT 0x00000002
  804. #define GT_INTR_DMAOUT 0x00000004
  805. #define GT_INTR_CPUOUT 0x00000008
  806. #define GT_INTR_DMA0COMP 0x00000010
  807. #define GT_INTR_DMA1COMP 0x00000020
  808. #define GT_INTR_DMA2COMP 0x00000040
  809. #define GT_INTR_DMA3COMP 0x00000080
  810. #define GT_INTR_T0EXP 0x00000100
  811. #define GT_INTR_T1EXP 0x00000200
  812. #define GT_INTR_T2EXP 0x00000400
  813. #define GT_INTR_T3EXP 0x00000800
  814. #define GT_INTR_MASRDERR 0x00001000 /* (1) */
  815. #define GT_INTR_SLVWRERR 0x00002000 /* (1) */
  816. #define GT_INTR_MASWRERR 0x00004000 /* (1) */
  817. #define GT_INTR_SLVRDERR 0x00008000 /* (1) */
  818. #define GT_INTR_ADDRERR  0x00010000 /* (1) */
  819. #define GT_INTR_MEMERR 0x00020000
  820. #define GT_INTR_MASABORT 0x00040000 /* (1) */
  821. #define GT_INTR_TARABORT 0x00080000 /* (1) */
  822. #define GT_INTR_RETRYCTR 0x00100000 /* (1) */
  823. #define GT_INTR_PMCINT 0x00200000 /* (1) */
  824. #define GT_INTR_CPUINT_SHF 22
  825. #define GT_INTR_CPUINT_MSK (GT_MSK(4) << GT_CPUINT_SHF)
  826. #define GT_INTR_PCIINT_SHF 26
  827. #define GT_INTR_PCIINT_MSK (GT_MSK(4) << GT_PCIINT_SHF)
  828. #define GT_INTR_CPUINTSUM 0x40000000
  829. #define GT_INTR_PCIINTSUM 0x80000000
  830. /* for SErr0/1* Mask, PCI_0/1 Events: GT_PCI0_SERR0_MASK, GT_PC1_SERR1_MASK */
  831. #define GT_SERR_ADDRERR 0x00000001
  832. #define GT_SERR_MASWRERR 0x00000002
  833. #define GT_SERR_MASRDERR 0x00000004
  834. #define GT_SERR_MEMERR 0x00000008
  835. #define GT_SERR_MASABORT 0x00000010
  836. #define GT_SERR_TARABORT 0x00000020
  837. /* Miscellenous */
  838. #define GT_BANKSIZE_MAX (256 * 1024 * 1024)   /* Max 256MB bank */
  839. /* GT Internal register data must be swapped when CPU is in big-endian mode */
  840. #if (_BYTE_ORDER == _BIG_ENDIAN)
  841. #define GT_SWAP(x) LONGSWAP(x)
  842. #else /* _BYTE_ORDER == _LITTLE_ENDIAN */
  843. #define GT_SWAP(x) (x)
  844. #endif /* _BYTE_ORDER */
  845. #ifdef __cplusplus
  846. }
  847. #endif
  848. #endif /* __INCgt64120ah */