interrupts.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. /*
  2. * Copyright (C) 2009 Cisco Systems, Inc.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  17. */
  18. #ifndef _ASM_MACH_POWERTV_INTERRUPTS_H_
  19. #define _ASM_MACH_POWERTV_INTERRUPTS_H_
  20. /*
  21. * Defines for all of the interrupt lines
  22. */
  23. /* Definitions for backward compatibility */
  24. #define kIrq_Uart1 irq_uart1
  25. #define ibase 0
  26. /*------------- Register: int_stat_3 */
  27. /* 126 unused (bit 31) */
  28. #define irq_asc2video (ibase+126) /* ASC 2 Video Interrupt */
  29. #define irq_asc1video (ibase+125) /* ASC 1 Video Interrupt */
  30. #define irq_comms_block_wd (ibase+124) /* ASC 1 Video Interrupt */
  31. #define irq_fdma_mailbox (ibase+123) /* FDMA Mailbox Output */
  32. #define irq_fdma_gp (ibase+122) /* FDMA GP Output */
  33. #define irq_mips_pic (ibase+121) /* MIPS Performance Counter
  34. * Interrupt */
  35. #define irq_mips_timer (ibase+120) /* MIPS Timer Interrupt */
  36. #define irq_memory_protect (ibase+119) /* Memory Protection Interrupt
  37. * -- Ored by glue logic inside
  38. * SPARC ILC (see
  39. * INT_MEM_PROT_STAT, below,
  40. * for individual interrupts)
  41. */
  42. /* 118 unused (bit 22) */
  43. #define irq_sbag (ibase+117) /* SBAG Interrupt -- Ored by
  44. * glue logic inside SPARC ILC
  45. * (see INT_SBAG_STAT, below,
  46. * for individual interrupts) */
  47. #define irq_qam_b_fec (ibase+116) /* QAM B FEC Interrupt */
  48. #define irq_qam_a_fec (ibase+115) /* QAM A FEC Interrupt */
  49. /* 114 unused (bit 18) */
  50. #define irq_mailbox (ibase+113) /* Mailbox Debug Interrupt --
  51. * Ored by glue logic inside
  52. * SPARC ILC (see
  53. * INT_MAILBOX_STAT, below, for
  54. * individual interrupts) */
  55. #define irq_fuse_stat1 (ibase+112) /* Fuse Status 1 */
  56. #define irq_fuse_stat2 (ibase+111) /* Fuse Status 2 */
  57. #define irq_fuse_stat3 (ibase+110) /* Blitter Interrupt / Fuse
  58. * Status 3 */
  59. #define irq_blitter (ibase+110) /* Blitter Interrupt / Fuse
  60. * Status 3 */
  61. #define irq_avc1_pp0 (ibase+109) /* AVC Decoder #1 PP0
  62. * Interrupt */
  63. #define irq_avc1_pp1 (ibase+108) /* AVC Decoder #1 PP1
  64. * Interrupt */
  65. #define irq_avc1_mbe (ibase+107) /* AVC Decoder #1 MBE
  66. * Interrupt */
  67. #define irq_avc2_pp0 (ibase+106) /* AVC Decoder #2 PP0
  68. * Interrupt */
  69. #define irq_avc2_pp1 (ibase+105) /* AVC Decoder #2 PP1
  70. * Interrupt */
  71. #define irq_avc2_mbe (ibase+104) /* AVC Decoder #2 MBE
  72. * Interrupt */
  73. #define irq_zbug_spi (ibase+103) /* Zbug SPI Slave Interrupt */
  74. #define irq_qam_mod2 (ibase+102) /* QAM Modulator 2 DMA
  75. * Interrupt */
  76. #define irq_ir_rx (ibase+101) /* IR RX 2 Interrupt */
  77. #define irq_aud_dsp2 (ibase+100) /* Audio DSP #2 Interrupt */
  78. #define irq_aud_dsp1 (ibase+99) /* Audio DSP #1 Interrupt */
  79. #define irq_docsis (ibase+98) /* DOCSIS Debug Interrupt */
  80. #define irq_sd_dvp1 (ibase+97) /* SD DVP #1 Interrupt */
  81. #define irq_sd_dvp2 (ibase+96) /* SD DVP #2 Interrupt */
  82. /*------------- Register: int_stat_2 */
  83. #define irq_hd_dvp (ibase+95) /* HD DVP Interrupt */
  84. #define kIrq_Prewatchdog (ibase+94) /* watchdog Pre-Interrupt */
  85. #define irq_timer2 (ibase+93) /* Programmable Timer
  86. * Interrupt 2 */
  87. #define irq_1394 (ibase+92) /* 1394 Firewire Interrupt */
  88. #define irq_usbohci (ibase+91) /* USB 2.0 OHCI Interrupt */
  89. #define irq_usbehci (ibase+90) /* USB 2.0 EHCI Interrupt */
  90. #define irq_pciexp (ibase+89) /* PCI Express 0 Interrupt */
  91. #define irq_pciexp0 (ibase+89) /* PCI Express 0 Interrupt */
  92. #define irq_afe1 (ibase+88) /* AFE 1 Interrupt */
  93. #define irq_sata (ibase+87) /* SATA 1 Interrupt */
  94. #define irq_sata1 (ibase+87) /* SATA 1 Interrupt */
  95. #define irq_dtcp (ibase+86) /* DTCP Interrupt */
  96. #define irq_pciexp1 (ibase+85) /* PCI Express 1 Interrupt */
  97. /* 84 unused (bit 20) */
  98. /* 83 unused (bit 19) */
  99. /* 82 unused (bit 18) */
  100. #define irq_sata2 (ibase+81) /* SATA2 Interrupt */
  101. #define irq_uart2 (ibase+80) /* UART2 Interrupt */
  102. #define irq_legacy_usb (ibase+79) /* Legacy USB Host ISR (1.1
  103. * Host module) */
  104. #define irq_pod (ibase+78) /* POD Interrupt */
  105. #define irq_slave_usb (ibase+77) /* Slave USB */
  106. #define irq_denc1 (ibase+76) /* DENC #1 VTG Interrupt */
  107. #define irq_vbi_vtg (ibase+75) /* VBI VTG Interrupt */
  108. #define irq_afe2 (ibase+74) /* AFE 2 Interrupt */
  109. #define irq_denc2 (ibase+73) /* DENC #2 VTG Interrupt */
  110. #define irq_asc2 (ibase+72) /* ASC #2 Interrupt */
  111. #define irq_asc1 (ibase+71) /* ASC #1 Interrupt */
  112. #define irq_mod_dma (ibase+70) /* Modulator DMA Interrupt */
  113. #define irq_byte_eng1 (ibase+69) /* Byte Engine Interrupt [1] */
  114. #define irq_byte_eng0 (ibase+68) /* Byte Engine Interrupt [0] */
  115. /* 67 unused (bit 03) */
  116. /* 66 unused (bit 02) */
  117. /* 65 unused (bit 01) */
  118. /* 64 unused (bit 00) */
  119. /*------------- Register: int_stat_1 */
  120. /* 63 unused (bit 31) */
  121. /* 62 unused (bit 30) */
  122. /* 61 unused (bit 29) */
  123. /* 60 unused (bit 28) */
  124. /* 59 unused (bit 27) */
  125. /* 58 unused (bit 26) */
  126. /* 57 unused (bit 25) */
  127. /* 56 unused (bit 24) */
  128. #define irq_buf_dma_mem2mem (ibase+55) /* BufDMA Memory to Memory
  129. * Interrupt */
  130. #define irq_buf_dma_usbtransmit (ibase+54) /* BufDMA USB Transmit
  131. * Interrupt */
  132. #define irq_buf_dma_qpskpodtransmit (ibase+53) /* BufDMA QPSK/POD Tramsit
  133. * Interrupt */
  134. #define irq_buf_dma_transmit_error (ibase+52) /* BufDMA Transmit Error
  135. * Interrupt */
  136. #define irq_buf_dma_usbrecv (ibase+51) /* BufDMA USB Receive
  137. * Interrupt */
  138. #define irq_buf_dma_qpskpodrecv (ibase+50) /* BufDMA QPSK/POD Receive
  139. * Interrupt */
  140. #define irq_buf_dma_recv_error (ibase+49) /* BufDMA Receive Error
  141. * Interrupt */
  142. #define irq_qamdma_transmit_play (ibase+48) /* QAMDMA Transmit/Play
  143. * Interrupt */
  144. #define irq_qamdma_transmit_error (ibase+47) /* QAMDMA Transmit Error
  145. * Interrupt */
  146. #define irq_qamdma_recv2high (ibase+46) /* QAMDMA Receive 2 High
  147. * (Chans 63-32) */
  148. #define irq_qamdma_recv2low (ibase+45) /* QAMDMA Receive 2 Low
  149. * (Chans 31-0) */
  150. #define irq_qamdma_recv1high (ibase+44) /* QAMDMA Receive 1 High
  151. * (Chans 63-32) */
  152. #define irq_qamdma_recv1low (ibase+43) /* QAMDMA Receive 1 Low
  153. * (Chans 31-0) */
  154. #define irq_qamdma_recv_error (ibase+42) /* QAMDMA Receive Error
  155. * Interrupt */
  156. #define irq_mpegsplice (ibase+41) /* MPEG Splice Interrupt */
  157. #define irq_deinterlace_rdy (ibase+40) /* Deinterlacer Frame Ready
  158. * Interrupt */
  159. #define irq_ext_in0 (ibase+39) /* External Interrupt irq_in0 */
  160. #define irq_gpio3 (ibase+38) /* GP I/O IRQ 3 - From GP I/O
  161. * Module */
  162. #define irq_gpio2 (ibase+37) /* GP I/O IRQ 2 - From GP I/O
  163. * Module (ABE_intN) */
  164. #define irq_pcrcmplt1 (ibase+36) /* PCR Capture Complete or
  165. * Discontinuity 1 */
  166. #define irq_pcrcmplt2 (ibase+35) /* PCR Capture Complete or
  167. * Discontinuity 2 */
  168. #define irq_parse_peierr (ibase+34) /* PID Parser Error Detect
  169. * (PEI) */
  170. #define irq_parse_cont_err (ibase+33) /* PID Parser continuity error
  171. * detect */
  172. #define irq_ds1framer (ibase+32) /* DS1 Framer Interrupt */
  173. /*------------- Register: int_stat_0 */
  174. #define irq_gpio1 (ibase+31) /* GP I/O IRQ 1 - From GP I/O
  175. * Module */
  176. #define irq_gpio0 (ibase+30) /* GP I/O IRQ 0 - From GP I/O
  177. * Module */
  178. #define irq_qpsk_out_aloha (ibase+29) /* QPSK Output Slotted Aloha
  179. * (chan 3) Transmission
  180. * Completed OK */
  181. #define irq_qpsk_out_tdma (ibase+28) /* QPSK Output TDMA (chan 2)
  182. * Transmission Completed OK */
  183. #define irq_qpsk_out_reserve (ibase+27) /* QPSK Output Reservation
  184. * (chan 1) Transmission
  185. * Completed OK */
  186. #define irq_qpsk_out_aloha_err (ibase+26) /* QPSK Output Slotted Aloha
  187. * (chan 3)Transmission
  188. * completed with Errors. */
  189. #define irq_qpsk_out_tdma_err (ibase+25) /* QPSK Output TDMA (chan 2)
  190. * Transmission completed with
  191. * Errors. */
  192. #define irq_qpsk_out_rsrv_err (ibase+24) /* QPSK Output Reservation
  193. * (chan 1) Transmission
  194. * completed with Errors */
  195. #define irq_aloha_fail (ibase+23) /* Unsuccessful Resend of Aloha
  196. * for N times. Aloha retry
  197. * timeout for channel 3. */
  198. #define irq_timer1 (ibase+22) /* Programmable Timer
  199. * Interrupt */
  200. #define irq_keyboard (ibase+21) /* Keyboard Module Interrupt */
  201. #define irq_i2c (ibase+20) /* I2C Module Interrupt */
  202. #define irq_spi (ibase+19) /* SPI Module Interrupt */
  203. #define irq_irblaster (ibase+18) /* IR Blaster Interrupt */
  204. #define irq_splice_detect (ibase+17) /* PID Key Change Interrupt or
  205. * Splice Detect Interrupt */
  206. #define irq_se_micro (ibase+16) /* Secure Micro I/F Module
  207. * Interrupt */
  208. #define irq_uart1 (ibase+15) /* UART Interrupt */
  209. #define irq_irrecv (ibase+14) /* IR Receiver Interrupt */
  210. #define irq_host_int1 (ibase+13) /* Host-to-Host Interrupt 1 */
  211. #define irq_host_int0 (ibase+12) /* Host-to-Host Interrupt 0 */
  212. #define irq_qpsk_hecerr (ibase+11) /* QPSK HEC Error Interrupt */
  213. #define irq_qpsk_crcerr (ibase+10) /* QPSK AAL-5 CRC Error
  214. * Interrupt */
  215. /* 9 unused (bit 09) */
  216. /* 8 unused (bit 08) */
  217. #define irq_psicrcerr (ibase+7) /* QAM PSI CRC Error
  218. * Interrupt */
  219. #define irq_psilength_err (ibase+6) /* QAM PSI Length Error
  220. * Interrupt */
  221. #define irq_esfforward (ibase+5) /* ESF Interrupt Mark From
  222. * Forward Path Reference -
  223. * every 3ms when forward Mbits
  224. * and forward slot control
  225. * bytes are updated. */
  226. #define irq_esfreverse (ibase+4) /* ESF Interrupt Mark from
  227. * Reverse Path Reference -
  228. * delayed from forward mark by
  229. * the ranging delay plus a
  230. * fixed amount. When reverse
  231. * Mbits and reverse slot
  232. * control bytes are updated.
  233. * Occurs every 3ms for 3.0M and
  234. * 1.554 M upstream rates and
  235. * every 6 ms for 256K upstream
  236. * rate. */
  237. #define irq_aloha_timeout (ibase+3) /* Slotted-Aloha timeout on
  238. * Channel 1. */
  239. #define irq_reservation (ibase+2) /* Partial (or Incremental)
  240. * Reservation Message Completed
  241. * or Slotted aloha verify for
  242. * channel 1. */
  243. #define irq_aloha3 (ibase+1) /* Slotted-Aloha Message Verify
  244. * Interrupt or Reservation
  245. * increment completed for
  246. * channel 3. */
  247. #define irq_mpeg_d (ibase+0) /* MPEG Decoder Interrupt */
  248. #endif /* _ASM_MACH_POWERTV_INTERRUPTS_H_ */