Home | History | Annotate | Line # | Download | only in jazz
      1 /*	$NetBSD: rd94.h,v 1.8 2011/03/06 14:58:44 tsutsui Exp $	*/
      2 /*	$OpenBSD: pica.h,v 1.4 1996/09/14 15:58:28 pefo Exp $ */
      3 
      4 /*
      5  * Copyright (c) 1994, 1995, 1996 Per Fogelstrom
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  * 3. All advertising materials mentioning features or use of this software
     16  *    must display the following acknowledgement:
     17  *	This product includes software developed under OpenBSD by
     18  *	Per Fogelstrom.
     19  * 4. The name of the author may not be used to endorse or promote products
     20  *    derived from this software without specific prior written permission.
     21  *
     22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
     23  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     24  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     25  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
     26  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     28  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     29  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     31  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     32  * SUCH DAMAGE.
     33  *
     34  */
     35 #ifndef	_RD94_H_
     36 #define	_RD94_H_ 1
     37 
     38 /*
     39  * I/O map
     40  */
     41 
     42 #define	RD94_P_LOCAL_IO_BASE	0x80000000	/* I/O Base address */
     43 #define	RD94_V_LOCAL_IO_BASE	0xe0000000
     44 #define	RD94_S_LOCAL_IO_BASE	0x00040000	/* Size */
     45 #define RD94SYS RD94_V_LOCAL_IO_BASE
     46 
     47 #define	RD94_SYS_CONFIG		(RD94SYS+0x000)	/* Global config register */
     48 #define	RD94_SYS_RFAILADDR	(RD94SYS+0x010)	/* Remote failed address */
     49 #define	RD94_SYS_MFAILADDR	(RD94SYS+0x018)	/* Memory failed address */
     50 #define	RD94_SYS_INVALIDADDR	(RD94SYS+0x020)	/* Invalid address */
     51 #define	RD94_SYS_TL_BASE	(RD94SYS+0x028)	/* DMA transl. table base */
     52 #define	RD94_SYS_TL_LIMIT	(RD94SYS+0x030)	/* DMA transl. table limit */
     53 #define	RD94_SYS_TL_IVALID	(RD94SYS+0x038)	/* DMA transl. cache inval */
     54 #define	RD94_SYS_INTSTAT0	(RD94SYS+0x040)	/* Int0 status (DMA?) */
     55 #define	RD94_SYS_INTSTAT1	(RD94SYS+0x048)	/* Int1 status (LB) */
     56 #define	RD94_SYS_INTSTAT2	(RD94SYS+0x050)	/* Int2 status (PCI/EISA) */
     57 #define	RD94_SYS_INTSTAT3	(RD94SYS+0x058)	/* Int3 status (Timer) */
     58 #define	RD94_SYS_INTSTAT4	(RD94SYS+0x060)	/* Int4 status (IPI) */
     59 #define	RD94_SYS_CPUID		(RD94SYS+0x070)	/* CPU number */
     60 #define	RD94_SYS_NMISRC		(RD94SYS+0x078)	/* NMI source */
     61 #define	RD94_SYS_EXT_IMASK	(RD94SYS+0x0f8)	/* External int enable mask */
     62 #define	RD94_SYS_DMA0_REGS	(RD94SYS+0x100)	/* DMA ch0 base address */
     63 #define	RD94_SYS_DMA1_REGS	(RD94SYS+0x120)	/* DMA ch0 base address */
     64 #define	RD94_SYS_DMA2_REGS	(RD94SYS+0x140)	/* DMA ch0 base address */
     65 #define	RD94_SYS_DMA3_REGS	(RD94SYS+0x160)	/* DMA ch0 base address */
     66 #define	RD94_SYS_IT_VALUE	(RD94SYS+0x1a8)	/* Interval timer reload */
     67 #define	RD94_SYS_IPI		(RD94SYS+0x1b8)	/* IPI register */
     68 #define	RD94_SYS_ECCDIAG	(RD94SYS+0x1c8)	/* ECC diagnostics */
     69 #define	RD94_SYS_PCI_CONFADDR	(RD94SYS+0x518)	/* PCI configuration address */
     70 #define	RD94_SYS_PCI_CONFDATA	(RD94SYS+0x520)	/* PCI configuration data */
     71 #define	RD94_SYS_PCI_INTMASK	(RD94SYS+0x530)	/* PCI interrupt mask */
     72 #define	RD94_SYS_PCI_INTSTAT	(RD94SYS+0x538)	/* PCI interrupt status */
     73 #define	RD94_SYS_BEEP_DIVISOR	(RD94SYS+0x5A8)	/* Beep frequency divisor */
     74 #define	RD94_SYS_BEEP_CNTL	(RD94SYS+0x5AC)	/* Beep control */
     75 #define	RD94_SYS_ERR_STAT	(RD94SYS+0x5BC)	/* System error status */
     76 
     77 #define RD94LB RD94_V_LOCAL_IO_BASE
     78 #define	RD94_SYS_SONIC		(RD94LB+0x1000)	/* SONIC base address */
     79 #define	RD94_SYS_SCSI0		(RD94LB+0x2000)	/* SCSI0 base address */
     80 #define	RD94_SYS_SCSI1		(RD94LB+0x3000)	/* SCSI1 base address */
     81 #define	RD94_SYS_CLOCK		(RD94LB+0x4000)	/* Clock base address */
     82 #define	RD94_SYS_KBD		(RD94LB+0x5000)	/* Keybrd/mouse base address */
     83 #define	RD94_SYS_COM1		(RD94LB+0x6000)	/* Com port 1 */
     84 #define	RD94_SYS_COM2		(RD94LB+0x7000)	/* Com port 2 */
     85 #define	RD94_SYS_PAR1		(RD94LB+0x8000)	/* Parallel port 1 */
     86 #define	RD94_SYS_NVRAM		(RD94LB+0x9000)	/* Unprotected NV-ram */
     87 #define	RD94_SYS_PNVRAM		(RD94LB+0xa000)	/* Protected NV-ram */
     88 #define	RD94_SYS_NVPROM		(RD94LB+0xb000)	/* Read only NV-ram */
     89 #define	RD94_SYS_FLOPPY		(RD94LB+0xC000)	/* Floppy base address */
     90 #define	RD94_SYS_SOUND		(RD94LB+0x10000)/* Sound port */
     91 #define	RD94_SYS_THERMOMETER	(RD94LB+0x12000)/* DS1620 thermometer */
     92 
     93 #define	RD94_SYS_LB_LED		(RD94LB+0xE000)	/* LED/self-test register */
     94 #define	RD94_SYS_LB_IE1		(RD94LB+0xF000)	/* Local bus int enable */
     95 #define	RD94_SYS_LB_IE2		(RD94LB+0xF002)	/* Local bus int enable */
     96 
     97 #define	RD94_P_PCI_IO		0x90000000	/* PCI I/O control */
     98 #define	RD94_V_PCI_IO		0xe2000000
     99 #define	RD94_S_PCI_IO		0x01000000
    100 
    101 #define	RD94_P_PCI_MEM		0x100000000LL	/* PCI Memory control */
    102 #define	RD94_V_PCI_MEM		0xe3000000
    103 #define	RD94_S_PCI_MEM		0x40000000
    104 
    105 #define	RD94_P_EISA_IO		0x90000000	/* EISA I/O control */
    106 #define	RD94_V_EISA_IO		0xe2000000
    107 #define	RD94_S_EISA_IO		0x01000000
    108 
    109 #define	RD94_P_EISA_MEM		0x100000000LL	/* EISA Memory control */
    110 #define	RD94_V_EISA_MEM		0xe3000000
    111 #define	RD94_S_EISA_MEM		0x40000000
    112 
    113 #endif	/* _RD94_H_ */
    114