atlasint.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /*
  2. * Copyright (C) 1999, 2006 MIPS Technologies, Inc. All rights reserved.
  3. * Authors: Carsten Langgaard <carstenl@mips.com>
  4. * Maciej W. Rozycki <macro@mips.com>
  5. *
  6. * ########################################################################
  7. *
  8. * This program is free software; you can distribute it and/or modify it
  9. * under the terms of the GNU General Public License (Version 2) as
  10. * published by the Free Software Foundation.
  11. *
  12. * This program is distributed in the hope it will be useful, but WITHOUT
  13. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  14. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  15. * for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License along
  18. * with this program; if not, write to the Free Software Foundation, Inc.,
  19. * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
  20. *
  21. * ########################################################################
  22. *
  23. * Defines for the Atlas interrupt controller.
  24. *
  25. */
  26. #ifndef _MIPS_ATLASINT_H
  27. #define _MIPS_ATLASINT_H
  28. /*
  29. * Interrupts 0..7 are used for Atlas CPU interrupts (nonEIC mode)
  30. */
  31. #define MIPSCPU_INT_BASE 0
  32. /* CPU interrupt offsets */
  33. #define MIPSCPU_INT_SW0 0
  34. #define MIPSCPU_INT_SW1 1
  35. #define MIPSCPU_INT_MB0 2
  36. #define MIPSCPU_INT_ATLAS MIPSCPU_INT_MB0
  37. #define MIPSCPU_INT_MB1 3
  38. #define MIPSCPU_INT_MB2 4
  39. #define MIPSCPU_INT_MB3 5
  40. #define MIPSCPU_INT_MB4 6
  41. #define MIPSCPU_INT_CPUCTR 7
  42. /*
  43. * Interrupts 8..39 are used for Atlas interrupt controller interrupts
  44. */
  45. #define ATLAS_INT_BASE 8
  46. #define ATLAS_INT_UART (ATLAS_INT_BASE + 0)
  47. #define ATLAS_INT_TIM0 (ATLAS_INT_BASE + 1)
  48. #define ATLAS_INT_RES2 (ATLAS_INT_BASE + 2)
  49. #define ATLAS_INT_RES3 (ATLAS_INT_BASE + 3)
  50. #define ATLAS_INT_RTC (ATLAS_INT_BASE + 4)
  51. #define ATLAS_INT_COREHI (ATLAS_INT_BASE + 5)
  52. #define ATLAS_INT_CORELO (ATLAS_INT_BASE + 6)
  53. #define ATLAS_INT_RES7 (ATLAS_INT_BASE + 7)
  54. #define ATLAS_INT_PCIA (ATLAS_INT_BASE + 8)
  55. #define ATLAS_INT_PCIB (ATLAS_INT_BASE + 9)
  56. #define ATLAS_INT_PCIC (ATLAS_INT_BASE + 10)
  57. #define ATLAS_INT_PCID (ATLAS_INT_BASE + 11)
  58. #define ATLAS_INT_ENUM (ATLAS_INT_BASE + 12)
  59. #define ATLAS_INT_DEG (ATLAS_INT_BASE + 13)
  60. #define ATLAS_INT_ATXFAIL (ATLAS_INT_BASE + 14)
  61. #define ATLAS_INT_INTA (ATLAS_INT_BASE + 15)
  62. #define ATLAS_INT_INTB (ATLAS_INT_BASE + 16)
  63. #define ATLAS_INT_ETH ATLAS_INT_INTB
  64. #define ATLAS_INT_INTC (ATLAS_INT_BASE + 17)
  65. #define ATLAS_INT_SCSI ATLAS_INT_INTC
  66. #define ATLAS_INT_INTD (ATLAS_INT_BASE + 18)
  67. #define ATLAS_INT_SERR (ATLAS_INT_BASE + 19)
  68. #define ATLAS_INT_RES20 (ATLAS_INT_BASE + 20)
  69. #define ATLAS_INT_RES21 (ATLAS_INT_BASE + 21)
  70. #define ATLAS_INT_RES22 (ATLAS_INT_BASE + 22)
  71. #define ATLAS_INT_RES23 (ATLAS_INT_BASE + 23)
  72. #define ATLAS_INT_RES24 (ATLAS_INT_BASE + 24)
  73. #define ATLAS_INT_RES25 (ATLAS_INT_BASE + 25)
  74. #define ATLAS_INT_RES26 (ATLAS_INT_BASE + 26)
  75. #define ATLAS_INT_RES27 (ATLAS_INT_BASE + 27)
  76. #define ATLAS_INT_RES28 (ATLAS_INT_BASE + 28)
  77. #define ATLAS_INT_RES29 (ATLAS_INT_BASE + 29)
  78. #define ATLAS_INT_RES30 (ATLAS_INT_BASE + 30)
  79. #define ATLAS_INT_RES31 (ATLAS_INT_BASE + 31)
  80. #define ATLAS_INT_END (ATLAS_INT_BASE + 31)
  81. /*
  82. * Interrupts 64..127 are used for Soc-it Classic interrupts
  83. */
  84. #define MSC01C_INT_BASE 64
  85. /* SOC-it Classic interrupt offsets */
  86. #define MSC01C_INT_TMR 0
  87. #define MSC01C_INT_PCI 1
  88. /*
  89. * Interrupts 64..127 are used for Soc-it EIC interrupts
  90. */
  91. #define MSC01E_INT_BASE 64
  92. /* SOC-it EIC interrupt offsets */
  93. #define MSC01E_INT_SW0 1
  94. #define MSC01E_INT_SW1 2
  95. #define MSC01E_INT_MB0 3
  96. #define MSC01E_INT_ATLAS MSC01E_INT_MB0
  97. #define MSC01E_INT_MB1 4
  98. #define MSC01E_INT_MB2 5
  99. #define MSC01E_INT_MB3 6
  100. #define MSC01E_INT_MB4 7
  101. #define MSC01E_INT_TMR 8
  102. #define MSC01E_INT_PCI 9
  103. #define MSC01E_INT_PERFCTR 10
  104. #define MSC01E_INT_CPUCTR 11
  105. #endif /* !(_MIPS_ATLASINT_H) */