Home | History | Annotate | Line # | Download | only in eisa
eisavar.h revision 1.10.8.1
      1  1.10.8.1  thorpej /*	$NetBSD: eisavar.h,v 1.10.8.1 1997/05/13 03:01:33 thorpej Exp $	*/
      2       1.1      cgd 
      3       1.1      cgd /*
      4       1.3      cgd  * Copyright (c) 1995, 1996 Christopher G. Demetriou
      5       1.1      cgd  * All rights reserved.
      6       1.1      cgd  *
      7       1.1      cgd  * Redistribution and use in source and binary forms, with or without
      8       1.1      cgd  * modification, are permitted provided that the following conditions
      9       1.1      cgd  * are met:
     10       1.1      cgd  * 1. Redistributions of source code must retain the above copyright
     11       1.1      cgd  *    notice, this list of conditions and the following disclaimer.
     12       1.1      cgd  * 2. Redistributions in binary form must reproduce the above copyright
     13       1.1      cgd  *    notice, this list of conditions and the following disclaimer in the
     14       1.1      cgd  *    documentation and/or other materials provided with the distribution.
     15       1.1      cgd  * 3. All advertising materials mentioning features or use of this software
     16       1.1      cgd  *    must display the following acknowledgement:
     17       1.1      cgd  *      This product includes software developed by Christopher G. Demetriou
     18       1.1      cgd  *      for the NetBSD Project.
     19       1.1      cgd  * 4. The name of the author may not be used to endorse or promote products
     20       1.1      cgd  *    derived from this software without specific prior written permission
     21       1.1      cgd  *
     22       1.1      cgd  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     23       1.1      cgd  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     24       1.1      cgd  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     25       1.1      cgd  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     26       1.1      cgd  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     27       1.1      cgd  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     28       1.1      cgd  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     29       1.1      cgd  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     30       1.1      cgd  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     31       1.1      cgd  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     32       1.1      cgd  */
     33       1.1      cgd 
     34       1.7      cgd #ifndef _DEV_EISA_EISAVAR_H_
     35       1.7      cgd #define	_DEV_EISA_EISAVAR_H_
     36       1.3      cgd 
     37       1.3      cgd /*
     38       1.3      cgd  * Definitions for EISA autoconfiguration.
     39       1.3      cgd  *
     40       1.7      cgd  * This file describes types and functions which are used for EISA
     41       1.8      cgd  * configuration.  Some of this information is machine-specific, and is
     42       1.8      cgd  * separated into eisa_machdep.h.
     43       1.3      cgd  */
     44       1.3      cgd 
     45       1.4      cgd #include <machine/bus.h>
     46       1.3      cgd #include <dev/eisa/eisareg.h>		/* For ID register & string info. */
     47       1.3      cgd 
     48       1.8      cgd /*
     49       1.8      cgd  * Structures and definitions needed by the machine-dependent header.
     50       1.8      cgd  */
     51       1.8      cgd struct eisabus_attach_args;
     52       1.8      cgd 
     53       1.8      cgd /*
     54       1.8      cgd  * Machine-dependent definitions.
     55       1.8      cgd  */
     56       1.9      cgd #if (alpha + i386 != 1)
     57       1.8      cgd ERROR: COMPILING FOR UNSUPPORTED MACHINE, OR MORE THAN ONE.
     58       1.9      cgd #endif
     59       1.9      cgd #if alpha
     60       1.9      cgd #include <alpha/eisa/eisa_machdep.h>
     61       1.8      cgd #endif
     62       1.8      cgd #if i386
     63       1.8      cgd #include <i386/eisa/eisa_machdep.h>
     64       1.8      cgd #endif
     65       1.8      cgd 
     66       1.3      cgd typedef int	eisa_slot_t;		/* really only needs to be 4 bits */
     67       1.3      cgd 
     68       1.1      cgd /*
     69       1.3      cgd  * EISA bus attach arguments.
     70       1.1      cgd  */
     71       1.3      cgd struct eisabus_attach_args {
     72      1.10  thorpej 	char	*eba_busname;		/* XXX should be common */
     73      1.10  thorpej 	bus_space_tag_t eba_iot;	/* eisa i/o space tag */
     74      1.10  thorpej 	bus_space_tag_t eba_memt;	/* eisa mem space tag */
     75  1.10.8.1  thorpej 	bus_dma_tag_t eba_dmat;		/* DMA tag */
     76       1.8      cgd 	eisa_chipset_tag_t eba_ec;
     77       1.3      cgd };
     78       1.1      cgd 
     79       1.1      cgd /*
     80       1.3      cgd  * EISA device attach arguments.
     81       1.1      cgd  */
     82       1.3      cgd struct eisa_attach_args {
     83      1.10  thorpej 	bus_space_tag_t ea_iot;		/* eisa i/o space tag */
     84      1.10  thorpej 	bus_space_tag_t ea_memt;	/* eisa mem space tag */
     85  1.10.8.1  thorpej 	bus_dma_tag_t ea_dmat;		/* DMA tag */
     86       1.8      cgd 	eisa_chipset_tag_t ea_ec;
     87       1.4      cgd 
     88       1.3      cgd 	eisa_slot_t	ea_slot;
     89       1.3      cgd 	u_int8_t	ea_vid[EISA_NVIDREGS];
     90       1.3      cgd 	u_int8_t	ea_pid[EISA_NPIDREGS];
     91       1.3      cgd 	char		ea_idstring[EISA_IDSTRINGLEN];
     92       1.3      cgd };
     93       1.3      cgd 
     94       1.3      cgd /*
     95       1.7      cgd  * Locators for EISA devices, as specified to config.
     96       1.3      cgd  */
     97       1.7      cgd #define	eisacf_slot		cf_loc[0]
     98       1.7      cgd #define	EISA_UNKNOWN_SLOT	-1		/* wildcarded 'slot' */
     99       1.3      cgd 
    100       1.7      cgd #endif /* _DEV_EISA_EISAVAR_H_ */
    101