85 lines
3.0 KiB
C
85 lines
3.0 KiB
C
/*
|
|
* Carsten Langgaard, carstenl@mips.com
|
|
* Copyright (C) 1999 MIPS Technologies, Inc. All rights reserved.
|
|
*
|
|
* ########################################################################
|
|
*
|
|
* 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
|
|
|
|
#define ATLASINT_BASE 1
|
|
#define ATLASINT_UART (ATLASINT_BASE+0)
|
|
#define ATLASINT_TIM0 (ATLASINT_BASE+1)
|
|
#define ATLASINT_RES2 (ATLASINT_BASE+2)
|
|
#define ATLASINT_RES3 (ATLASINT_BASE+3)
|
|
#define ATLASINT_RTC (ATLASINT_BASE+4)
|
|
#define ATLASINT_COREHI (ATLASINT_BASE+5)
|
|
#define ATLASINT_CORELO (ATLASINT_BASE+6)
|
|
#define ATLASINT_RES7 (ATLASINT_BASE+7)
|
|
#define ATLASINT_PCIA (ATLASINT_BASE+8)
|
|
#define ATLASINT_PCIB (ATLASINT_BASE+9)
|
|
#define ATLASINT_PCIC (ATLASINT_BASE+10)
|
|
#define ATLASINT_PCID (ATLASINT_BASE+11)
|
|
#define ATLASINT_ENUM (ATLASINT_BASE+12)
|
|
#define ATLASINT_DEG (ATLASINT_BASE+13)
|
|
#define ATLASINT_ATXFAIL (ATLASINT_BASE+14)
|
|
#define ATLASINT_INTA (ATLASINT_BASE+15)
|
|
#define ATLASINT_INTB (ATLASINT_BASE+16)
|
|
#define ATLASINT_ETH ATLASINT_INTB
|
|
#define ATLASINT_INTC (ATLASINT_BASE+17)
|
|
#define ATLASINT_SCSI ATLASINT_INTC
|
|
#define ATLASINT_INTD (ATLASINT_BASE+18)
|
|
#define ATLASINT_SERR (ATLASINT_BASE+19)
|
|
#define ATLASINT_RES20 (ATLASINT_BASE+20)
|
|
#define ATLASINT_RES21 (ATLASINT_BASE+21)
|
|
#define ATLASINT_RES22 (ATLASINT_BASE+22)
|
|
#define ATLASINT_RES23 (ATLASINT_BASE+23)
|
|
#define ATLASINT_RES24 (ATLASINT_BASE+24)
|
|
#define ATLASINT_RES25 (ATLASINT_BASE+25)
|
|
#define ATLASINT_RES26 (ATLASINT_BASE+26)
|
|
#define ATLASINT_RES27 (ATLASINT_BASE+27)
|
|
#define ATLASINT_RES28 (ATLASINT_BASE+28)
|
|
#define ATLASINT_RES29 (ATLASINT_BASE+29)
|
|
#define ATLASINT_RES30 (ATLASINT_BASE+30)
|
|
#define ATLASINT_RES31 (ATLASINT_BASE+31)
|
|
#define ATLASINT_END (ATLASINT_BASE+31)
|
|
|
|
/*
|
|
* Atlas registers are memory mapped on 64-bit aligned boundaries and
|
|
* only word access are allowed.
|
|
*/
|
|
struct atlas_ictrl_regs {
|
|
volatile unsigned int intraw;
|
|
int dummy1;
|
|
volatile unsigned int intseten;
|
|
int dummy2;
|
|
volatile unsigned int intrsten;
|
|
int dummy3;
|
|
volatile unsigned int intenable;
|
|
int dummy4;
|
|
volatile unsigned int intstatus;
|
|
int dummy5;
|
|
};
|
|
|
|
extern void atlasint_init(void);
|
|
|
|
#endif /* !(_MIPS_ATLASINT_H) */
|