excite.h 4.1 KB

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