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