Home | History | Annotate | Line # | Download | only in sun3x
obio.h revision 1.1
      1  1.1  gwr /*	$NetBSD: obio.h,v 1.1 1997/01/14 20:57:06 gwr Exp $	*/
      2  1.1  gwr 
      3  1.1  gwr /*-
      4  1.1  gwr  * Copyright (c) 1996 The NetBSD Foundation, Inc.
      5  1.1  gwr  * All rights reserved.
      6  1.1  gwr  *
      7  1.1  gwr  * This code is derived from software contributed to The NetBSD Foundation
      8  1.1  gwr  * by Adam Glass and Gordon W. Ross.
      9  1.1  gwr  *
     10  1.1  gwr  * Redistribution and use in source and binary forms, with or without
     11  1.1  gwr  * modification, are permitted provided that the following conditions
     12  1.1  gwr  * are met:
     13  1.1  gwr  * 1. Redistributions of source code must retain the above copyright
     14  1.1  gwr  *    notice, this list of conditions and the following disclaimer.
     15  1.1  gwr  * 2. Redistributions in binary form must reproduce the above copyright
     16  1.1  gwr  *    notice, this list of conditions and the following disclaimer in the
     17  1.1  gwr  *    documentation and/or other materials provided with the distribution.
     18  1.1  gwr  * 3. All advertising materials mentioning features or use of this software
     19  1.1  gwr  *    must display the following acknowledgement:
     20  1.1  gwr  *        This product includes software developed by the NetBSD
     21  1.1  gwr  *        Foundation, Inc. and its contributors.
     22  1.1  gwr  * 4. Neither the name of The NetBSD Foundation nor the names of its
     23  1.1  gwr  *    contributors may be used to endorse or promote products derived
     24  1.1  gwr  *    from this software without specific prior written permission.
     25  1.1  gwr  *
     26  1.1  gwr  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     27  1.1  gwr  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     28  1.1  gwr  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     29  1.1  gwr  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     30  1.1  gwr  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     31  1.1  gwr  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     32  1.1  gwr  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     33  1.1  gwr  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     34  1.1  gwr  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     35  1.1  gwr  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     36  1.1  gwr  * POSSIBILITY OF SUCH DAMAGE.
     37  1.1  gwr  */
     38  1.1  gwr 
     39  1.1  gwr /*
     40  1.1  gwr  * This file defines addresses in Type 1 space for various devices
     41  1.1  gwr  * which can be on the motherboard directly.
     42  1.1  gwr  *
     43  1.1  gwr  * Supposedly these values are constant across the entire sun3 architecture.
     44  1.1  gwr  *
     45  1.1  gwr  */
     46  1.1  gwr 
     47  1.1  gwr /*
     48  1.1  gwr  * The obio or type "1" address space.
     49  1.1  gwr  */
     50  1.1  gwr #define	OBIO_MIN_ADDRESS	0x58000000
     51  1.1  gwr #define	OBIO_MAX_ADDRESS	0x7BFFFFFF
     52  1.1  gwr 
     53  1.1  gwr /*
     54  1.1  gwr  * Physical addresses of nonconfigurable devices.
     55  1.1  gwr  */
     56  1.1  gwr #define	OBIO_P4_REG 		0x50300000
     57  1.1  gwr #define	OBIO_FPA_ADDR		0x5C000000
     58  1.1  gwr 
     59  1.1  gwr #define	OBIO_IOMMU  		0x60000000
     60  1.1  gwr 
     61  1.1  gwr /* Note that these six are all in the same page. */
     62  1.1  gwr #define	OBIO_ENABLEREG		0x61000000
     63  1.1  gwr #define	OBIO_BUSERRREG		0x61000400
     64  1.1  gwr #define	OBIO_DIAGREG		0x61000800
     65  1.1  gwr #define	OBIO_IDPROM1		0x61000C00 /* 3/470 only */
     66  1.1  gwr #define	OBIO_MEMREG 		0x61001000
     67  1.1  gwr #define	OBIO_INTERREG		0x61001400
     68  1.1  gwr 
     69  1.1  gwr #define	OBIO_ZS_KBD_MS		0x62000000
     70  1.1  gwr #define	OBIO_ZS_TTY_AB		0x62002000
     71  1.1  gwr 
     72  1.1  gwr /*
     73  1.1  gwr  * Note: there are two kinds of EEPROM/IDPROM/clock!
     74  1.1  gwr  * On the 3/80 one Mostek MK48T02 does it all.
     75  1.1  gwr  * The 3/470 uses the older, discrete parts.
     76  1.1  gwr  */
     77  1.1  gwr #define	OBIO_EEPROM 		0x64000000
     78  1.1  gwr #define	OBIO_IDPROM2		0x640007D8 /* 3/80 only (Mostek MK48T02) */
     79  1.1  gwr #define	OBIO_CLOCK2 		0x640007F8 /* 3/80 only (Mostek MK48T02) */
     80  1.1  gwr 
     81  1.1  gwr #define	OBIO_CLOCK1 		0x64002000 /* 3/470 only */
     82  1.1  gwr 
     83  1.1  gwr #define	OBIO_INTEL_ETHER	0x65000000
     84  1.1  gwr #define	OBIO_LANCE_ETHER	0x65002000
     85  1.1  gwr 
     86  1.1  gwr #define	OBIO_PCACHE_TAGS	0x68000000
     87  1.1  gwr #define	OBIO_ECCPARREG		0x6A1E0000
     88  1.1  gwr #define	OBIO_IOC_TAGS		0x6C000000
     89  1.1  gwr #define	OBIO_IOC_FLUSH		0x6D000000
     90  1.1  gwr 
     91  1.1  gwr #define	OBIO_FDC    		0x6e000000	/* 3/80 only */
     92  1.1  gwr #define	OBIO_PRINTER_PORT	0x6f000000	/* 3/80 only */
     93  1.1  gwr 
     94  1.1  gwr #ifdef	_KERNEL
     95  1.1  gwr 
     96  1.1  gwr caddr_t	obio_alloc __P((int, int));
     97  1.1  gwr void	obio_init __P((void));
     98  1.1  gwr caddr_t	obio_find_mapping __P((int pa, int size));
     99  1.1  gwr caddr_t	obio_vm_alloc __P((int));
    100  1.1  gwr 
    101  1.1  gwr /*
    102  1.1  gwr  * These are some OBIO devices that need early init calls.
    103  1.1  gwr  */
    104  1.1  gwr void	idprom_init __P((void));
    105  1.1  gwr void	eeprom_init __P((void));
    106  1.1  gwr void	zs_init     __P((void));
    107  1.1  gwr void	intreg_init __P((void));
    108  1.1  gwr void	clock_init  __P((void));
    109  1.1  gwr 
    110  1.1  gwr #endif	/* _KERNEL */
    111