irq.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*
  2. * U-boot bf533_irq.h
  3. *
  4. * Copyright (c) 2005 blackfin.uclinux.org
  5. *
  6. * This file is based on
  7. * linux/arch/$(ARCH)/platform/$(PLATFORM)/irq.c
  8. * Changed by HuTao Apr18, 2003
  9. *
  10. * Copyright was missing when I got the code so took from MIPS arch ...MaTed---
  11. * Copyright (C) 1994 by Waldorf GMBH, written by Ralf Baechle
  12. * Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 by Ralf Baechle
  13. *
  14. * Adapted for BlackFin (ADI) by Ted Ma <mated@sympatico.ca>
  15. * Copyright (c) 2002 Arcturus Networks Inc. (www.arcturusnetworks.com)
  16. * Copyright (c) 2002 Lineo, Inc. <mattw@lineo.com>
  17. *
  18. * Adapted for BlackFin BF533 by Bas Vermeulen <bas@buyways.nl>
  19. * Copyright (c) 2003 BuyWays B.V. (www.buyways.nl)
  20. * See file CREDITS for list of people who contributed to this
  21. * project.
  22. *
  23. * This program is free software; you can redistribute it and/or
  24. * modify it under the terms of the GNU General Public License as
  25. * published by the Free Software Foundation; either version 2 of
  26. * the License, or (at your option) any later version.
  27. *
  28. * This program is distributed in the hope that it will be useful,
  29. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  30. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  31. * GNU General Public License for more details.
  32. *
  33. * You should have received a copy of the GNU General Public License
  34. * along with this program; if not, write to the Free Software
  35. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  36. * MA 02111-1307 USA
  37. */
  38. #ifndef _BF533_IRQ_H_
  39. #define _BF533_IRQ_H_
  40. /*
  41. * Interrupt source definitions
  42. * Event Source Core Event Name Number
  43. * EMU 0
  44. * Reset RST 1
  45. * NMI NMI 2
  46. * Exception EVX 3
  47. * Reserved -- 4
  48. * Hardware Error IVHW 5
  49. * Core Timer IVTMR 6
  50. * PLL Wakeup Interrupt IVG7 7
  51. * DMA Error (generic) IVG7 8
  52. * PPI Error Interrupt IVG7 9
  53. * SPORT0 Error Interrupt IVG7 10
  54. * SPORT1 Error Interrupt IVG7 11
  55. * SPI Error Interrupt IVG7 12
  56. * UART Error Interrupt IVG7 13
  57. * RTC Interrupt IVG8 14
  58. * DMA0 Interrupt (PPI) IVG8 15
  59. * DMA1 (SPORT0 RX) IVG9 16
  60. * DMA2 (SPORT0 TX) IVG9 17
  61. * DMA3 (SPORT1 RX) IVG9 18
  62. * DMA4 (SPORT1 TX) IVG9 19
  63. * DMA5 (PPI) IVG10 20
  64. * DMA6 (UART RX) IVG10 21
  65. * DMA7 (UART TX) IVG10 22
  66. * Timer0 IVG11 23
  67. * Timer1 IVG11 24
  68. * Timer2 IVG11 25
  69. * PF Interrupt A IVG12 26
  70. * PF Interrupt B IVG12 27
  71. * DMA8/9 Interrupt IVG13 28
  72. * DMA10/11 Interrupt IVG13 29
  73. * Watchdog Timer IVG13 30
  74. * Software Interrupt 1 IVG14 31
  75. * Software Interrupt 2 --
  76. * (lowest priority) IVG15 32
  77. */
  78. /* The ABSTRACT IRQ definitions */
  79. /* The first seven of the following are fixed,
  80. * the rest you change if you need to
  81. */
  82. #define IRQ_EMU 0 /* Emulation */
  83. #define IRQ_RST 1 /* reset */
  84. #define IRQ_NMI 2 /* Non Maskable */
  85. #define IRQ_EVX 3 /* Exception */
  86. #define IRQ_UNUSED 4 /* - unused interrupt */
  87. #define IRQ_HWERR 5 /* Hardware Error */
  88. #define IRQ_CORETMR 6 /* Core timer */
  89. #define IRQ_PLL_WAKEUP 7 /* PLL Wakeup Interrupt */
  90. #define IRQ_DMA_ERROR 8 /* DMA Error (general) */
  91. #define IRQ_PPI_ERROR 9 /* PPI Error Interrupt */
  92. #define IRQ_SPORT0_ERROR 10 /* SPORT0 Error Interrupt */
  93. #define IRQ_SPORT1_ERROR 11 /* SPORT1 Error Interrupt */
  94. #define IRQ_SPI_ERROR 12 /* SPI Error Interrupt */
  95. #define IRQ_UART_ERROR 13 /* UART Error Interrupt */
  96. #define IRQ_RTC 14 /* RTC Interrupt */
  97. #define IRQ_PPI 15 /* DMA0 Interrupt (PPI) */
  98. #define IRQ_SPORT0 16 /* DMA1 Interrupt (SPORT0 RX) */
  99. #define IRQ_SPARE1 17 /* DMA2 Interrupt (SPORT0 TX) */
  100. #define IRQ_SPORT1 18 /* DMA3 Interrupt (SPORT1 RX) */
  101. #define IRQ_SPARE2 19 /* DMA4 Interrupt (SPORT1 TX) */
  102. #define IRQ_SPI 20 /* DMA5 Interrupt (SPI) */
  103. #define IRQ_UART 21 /* DMA6 Interrupt (UART RX) */
  104. #define IRQ_SPARE3 22 /* DMA7 Interrupt (UART TX) */
  105. #define IRQ_TMR0 23 /* Timer 0 */
  106. #define IRQ_TMR1 24 /* Timer 1 */
  107. #define IRQ_TMR2 25 /* Timer 2 */
  108. #define IRQ_PROG_INTA 26 /* Programmable Flags A (8) */
  109. #define IRQ_PROG_INTB 27 /* Programmable Flags B (8) */
  110. #define IRQ_MEM_DMA0 28 /* DMA8/9 Interrupt (Memory DMA Stream 0) */
  111. #define IRQ_MEM_DMA1 29 /* DMA10/11 Interrupt (Memory DMA Stream 1) */
  112. #define IRQ_WATCH 30 /* Watch Dog Timer */
  113. #define IRQ_SW_INT1 31 /* Software Int 1 */
  114. #define IRQ_SW_INT2 32 /* Software Int 2 (reserved for SYSCALL) */
  115. #define IRQ_UART_RX_BIT 0x4000
  116. #define IRQ_UART_TX_BIT 0x8000
  117. #define IRQ_UART_ERROR_BIT 0x40
  118. #define IVG7 7
  119. #define IVG8 8
  120. #define IVG9 9
  121. #define IVG10 10
  122. #define IVG11 11
  123. #define IVG12 12
  124. #define IVG13 13
  125. #define IVG14 14
  126. #define IVG15 15
  127. #define SYS_IRQS 33
  128. #endif