/* * Copyright (C) 1999, 2006 MIPS Technologies, Inc. All rights reserved. * Authors: Carsten Langgaard <carstenl@mips.com> * Maciej W. Rozycki <macro@mips.com> * * ######################################################################## * * This program is free software; you can distribute it and/or modify it * under the terms of the GNU General Public License (Version 2) as * published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. * * ######################################################################## * * Defines for the Atlas interrupt controller. * */ #ifndef _MIPS_ATLASINT_H #define _MIPS_ATLASINT_H #include <irq.h> /* * Interrupts 0..7 are used for Atlas CPU interrupts (nonEIC mode) */ #define MIPSCPU_INT_BASE MIPS_CPU_IRQ_BASE /* CPU interrupt offsets */ #define MIPSCPU_INT_SW0 0 #define MIPSCPU_INT_SW1 1 #define MIPSCPU_INT_MB0 2 #define MIPSCPU_INT_ATLAS MIPSCPU_INT_MB0 #define MIPSCPU_INT_MB1 3 #define MIPSCPU_INT_MB2 4 #define MIPSCPU_INT_MB3 5 #define MIPSCPU_INT_MB4 6 #define MIPSCPU_INT_CPUCTR 7 /* * Interrupts 8..39 are used for Atlas interrupt controller interrupts */ #define ATLAS_INT_BASE 8 #define ATLAS_INT_UART (ATLAS_INT_BASE + 0) #define ATLAS_INT_TIM0 (ATLAS_INT_BASE + 1) #define ATLAS_INT_RES2 (ATLAS_INT_BASE + 2) #define ATLAS_INT_RES3 (ATLAS_INT_BASE + 3) #define ATLAS_INT_RTC (ATLAS_INT_BASE + 4) #define ATLAS_INT_COREHI (ATLAS_INT_BASE + 5) #define ATLAS_INT_CORELO (ATLAS_INT_BASE + 6) #define ATLAS_INT_RES7 (ATLAS_INT_BASE + 7) #define ATLAS_INT_PCIA (ATLAS_INT_BASE + 8) #define ATLAS_INT_PCIB (ATLAS_INT_BASE + 9) #define ATLAS_INT_PCIC (ATLAS_INT_BASE + 10) #define ATLAS_INT_PCID (ATLAS_INT_BASE + 11) #define ATLAS_INT_ENUM (ATLAS_INT_BASE + 12) #define ATLAS_INT_DEG (ATLAS_INT_BASE + 13) #define ATLAS_INT_ATXFAIL (ATLAS_INT_BASE + 14) #define ATLAS_INT_INTA (ATLAS_INT_BASE + 15) #define ATLAS_INT_INTB (ATLAS_INT_BASE + 16) #define ATLAS_INT_ETH ATLAS_INT_INTB #define ATLAS_INT_INTC (ATLAS_INT_BASE + 17) #define ATLAS_INT_SCSI ATLAS_INT_INTC #define ATLAS_INT_INTD (ATLAS_INT_BASE + 18) #define ATLAS_INT_SERR (ATLAS_INT_BASE + 19) #define ATLAS_INT_RES20 (ATLAS_INT_BASE + 20) #define ATLAS_INT_RES21 (ATLAS_INT_BASE + 21) #define ATLAS_INT_RES22 (ATLAS_INT_BASE + 22) #define ATLAS_INT_RES23 (ATLAS_INT_BASE + 23) #define ATLAS_INT_RES24 (ATLAS_INT_BASE + 24) #define ATLAS_INT_RES25 (ATLAS_INT_BASE + 25) #define ATLAS_INT_RES26 (ATLAS_INT_BASE + 26) #define ATLAS_INT_RES27 (ATLAS_INT_BASE + 27) #define ATLAS_INT_RES28 (ATLAS_INT_BASE + 28) #define ATLAS_INT_RES29 (ATLAS_INT_BASE + 29) #define ATLAS_INT_RES30 (ATLAS_INT_BASE + 30) #define ATLAS_INT_RES31 (ATLAS_INT_BASE + 31) #define ATLAS_INT_END (ATLAS_INT_BASE + 31) /* * Interrupts 64..127 are used for Soc-it Classic interrupts */ #define MSC01C_INT_BASE 64 /* SOC-it Classic interrupt offsets */ #define MSC01C_INT_TMR 0 #define MSC01C_INT_PCI 1 /* * Interrupts 64..127 are used for Soc-it EIC interrupts */ #define MSC01E_INT_BASE 64 /* SOC-it EIC interrupt offsets */ #define MSC01E_INT_SW0 1 #define MSC01E_INT_SW1 2 #define MSC01E_INT_MB0 3 #define MSC01E_INT_ATLAS MSC01E_INT_MB0 #define MSC01E_INT_MB1 4 #define MSC01E_INT_MB2 5 #define MSC01E_INT_MB3 6 #define MSC01E_INT_MB4 7 #define MSC01E_INT_TMR 8 #define MSC01E_INT_PCI 9 #define MSC01E_INT_PERFCTR 10 #define MSC01E_INT_CPUCTR 11 #endif /* !(_MIPS_ATLASINT_H) */