excite.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #ifndef __EXCITE_H__
  2. #define __EXCITE_H__
  3. #include <linux/init.h>
  4. #include <asm/addrspace.h>
  5. #include <asm/types.h>
  6. #define EXCITE_CPU_EXT_CLOCK 100000000
  7. #if !defined(__ASSEMBLY__)
  8. void __init excite_kgdb_init(void);
  9. void excite_procfs_init(void);
  10. extern unsigned long memsize;
  11. extern char modetty[];
  12. extern u32 unit_id;
  13. #endif
  14. /* Base name for XICAP devices */
  15. #define XICAP_NAME "xicap_gpi"
  16. /* OCD register offsets */
  17. #define LKB0 0x0038
  18. #define LKB5 0x0128
  19. #define LKM5 0x012C
  20. #define LKB7 0x0138
  21. #define LKM7 0x013c
  22. #define LKB8 0x0140
  23. #define LKM8 0x0144
  24. #define LKB9 0x0148
  25. #define LKM9 0x014c
  26. #define LKB10 0x0150
  27. #define LKM10 0x0154
  28. #define LKB11 0x0158
  29. #define LKM11 0x015c
  30. #define LKB12 0x0160
  31. #define LKM12 0x0164
  32. #define LKB13 0x0168
  33. #define LKM13 0x016c
  34. #define LDP0 0x0200
  35. #define LDP1 0x0210
  36. #define LDP2 0x0220
  37. #define LDP3 0x0230
  38. #define INTPIN0 0x0A40
  39. #define INTPIN1 0x0A44
  40. #define INTPIN2 0x0A48
  41. #define INTPIN3 0x0A4C
  42. #define INTPIN4 0x0A50
  43. #define INTPIN5 0x0A54
  44. #define INTPIN6 0x0A58
  45. #define INTPIN7 0x0A5C
  46. /* TITAN register offsets */
  47. #define CPRR 0x0004
  48. #define CPDSR 0x0008
  49. #define CPTC0R 0x000c
  50. #define CPTC1R 0x0010
  51. #define CPCFG0 0x0020
  52. #define CPCFG1 0x0024
  53. #define CPDST0A 0x0028
  54. #define CPDST0B 0x002c
  55. #define CPDST1A 0x0030
  56. #define CPDST1B 0x0034
  57. #define CPXDSTA 0x0038
  58. #define CPXDSTB 0x003c
  59. #define CPXCISRA 0x0048
  60. #define CPXCISRB 0x004c
  61. #define CPGIG0ER 0x0050
  62. #define CPGIG1ER 0x0054
  63. #define CPGRWL 0x0068
  64. #define CPURSLMT 0x00f8
  65. #define UACFG 0x0200
  66. #define UAINTS 0x0204
  67. #define SDRXFCIE 0x4828
  68. #define SDTXFCIE 0x4928
  69. #define INTP0Status0 0x1B00
  70. #define INTP0Mask0 0x1B04
  71. #define INTP0Set0 0x1B08
  72. #define INTP0Clear0 0x1B0C
  73. #define GXCFG 0x5000
  74. #define GXDMADRPFX 0x5018
  75. #define GXDMA_DESCADR 0x501c
  76. #define GXCH0TDESSTRT 0x5054
  77. /* IRQ definitions */
  78. #define NMICONFIG 0xac0
  79. #define TITAN_MSGINT 0xc4
  80. #define TITAN_IRQ ((TITAN_MSGINT / 0x20) + 2)
  81. #define FPGA0_MSGINT 0x5a
  82. #define FPGA0_IRQ ((FPGA0_MSGINT / 0x20) + 2)
  83. #define FPGA1_MSGINT 0x7b
  84. #define FPGA1_IRQ ((FPGA1_MSGINT / 0x20) + 2)
  85. #define PHY_MSGINT 0x9c
  86. #define PHY_IRQ ((PHY_MSGINT / 0x20) + 2)
  87. #if defined(CONFIG_BASLER_EXCITE_PROTOTYPE)
  88. /* Pre-release units used interrupt pin #9 */
  89. #define USB_IRQ 11
  90. #else
  91. /* Re-designed units use interrupt pin #1 */
  92. #define USB_MSGINT 0x39
  93. #define USB_IRQ ((USB_MSGINT / 0x20) + 2)
  94. #endif
  95. #define TIMER_IRQ 12
  96. /* Device address ranges */
  97. #define EXCITE_OFFS_OCD 0x1fffc000
  98. #define EXCITE_SIZE_OCD (16 * 1024)
  99. #define EXCITE_PHYS_OCD CPHYSADDR(EXCITE_OFFS_OCD)
  100. #define EXCITE_ADDR_OCD CKSEG1ADDR(EXCITE_OFFS_OCD)
  101. #define EXCITE_OFFS_SCRAM 0x1fffa000
  102. #define EXCITE_SIZE_SCRAM (8 << 10)
  103. #define EXCITE_PHYS_SCRAM CPHYSADDR(EXCITE_OFFS_SCRAM)
  104. #define EXCITE_ADDR_SCRAM CKSEG1ADDR(EXCITE_OFFS_SCRAM)
  105. #define EXCITE_OFFS_PCI_IO 0x1fff8000
  106. #define EXCITE_SIZE_PCI_IO (8 << 10)
  107. #define EXCITE_PHYS_PCI_IO CPHYSADDR(EXCITE_OFFS_PCI_IO)
  108. #define EXCITE_ADDR_PCI_IO CKSEG1ADDR(EXCITE_OFFS_PCI_IO)
  109. #define EXCITE_OFFS_TITAN 0x1fff0000
  110. #define EXCITE_SIZE_TITAN (32 << 10)
  111. #define EXCITE_PHYS_TITAN CPHYSADDR(EXCITE_OFFS_TITAN)
  112. #define EXCITE_ADDR_TITAN CKSEG1ADDR(EXCITE_OFFS_TITAN)
  113. #define EXCITE_OFFS_PCI_MEM 0x1ffe0000
  114. #define EXCITE_SIZE_PCI_MEM (64 << 10)
  115. #define EXCITE_PHYS_PCI_MEM CPHYSADDR(EXCITE_OFFS_PCI_MEM)
  116. #define EXCITE_ADDR_PCI_MEM CKSEG1ADDR(EXCITE_OFFS_PCI_MEM)
  117. #define EXCITE_OFFS_FPGA 0x1ffdc000
  118. #define EXCITE_SIZE_FPGA (16 << 10)
  119. #define EXCITE_PHYS_FPGA CPHYSADDR(EXCITE_OFFS_FPGA)
  120. #define EXCITE_ADDR_FPGA CKSEG1ADDR(EXCITE_OFFS_FPGA)
  121. #define EXCITE_OFFS_NAND 0x1ffd8000
  122. #define EXCITE_SIZE_NAND (16 << 10)
  123. #define EXCITE_PHYS_NAND CPHYSADDR(EXCITE_OFFS_NAND)
  124. #define EXCITE_ADDR_NAND CKSEG1ADDR(EXCITE_OFFS_NAND)
  125. #define EXCITE_OFFS_BOOTROM 0x1f000000
  126. #define EXCITE_SIZE_BOOTROM (8 << 20)
  127. #define EXCITE_PHYS_BOOTROM CPHYSADDR(EXCITE_OFFS_BOOTROM)
  128. #define EXCITE_ADDR_BOOTROM CKSEG1ADDR(EXCITE_OFFS_BOOTROM)
  129. /* FPGA address offsets */
  130. #define EXCITE_FPGA_DPR 0x0104 /* dual-ported ram */
  131. #define EXCITE_FPGA_SYSCTL 0x0200 /* system control register block */
  132. #endif /* __EXCITE_H__ */