root/dev/pci/siop_pci_common.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: siop_pci_common.h,v 1.6 2005/10/08 17:48:21 krw Exp $ */
    2 /*      $NetBSD: siop_pci_common.h,v 1.6 2005/02/27 00:27:34 perry Exp $ */
    3 
    4 /*
    5  * Copyright (c) 2000 Manuel Bouyer.
    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 by Manuel Bouyer.
   18  * 4. The name of the author may not be used to endorse or promote products
   19  *    derived from this software without specific prior written permission.
   20  *
   21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   22  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   23  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   24  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   26  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   30  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   31  */
   32 
   33 /* common functions for the siop and esiop pci front ends */
   34 
   35 /* structure describing each chip */
   36 struct siop_product_desc {
   37         u_int32_t product;
   38         int     revision;
   39         int     features; /* features are defined in siopvar.h */
   40         u_int8_t maxburst;
   41         u_int8_t maxoff;  /* maximum supported offset */
   42         u_int8_t clock_div; /* clock divider to use for async. logic */
   43         u_int8_t clock_period; /* clock period (ns * 10) */
   44         int     ram_size; /* size of RAM, if appropriate */
   45 };
   46 
   47 const struct siop_product_desc * siop_lookup_product(u_int32_t, int);
   48 
   49 /* Driver internal state */
   50 struct siop_pci_common_softc {
   51         pci_chipset_tag_t       sc_pc;  /* PCI registers info */
   52         pcitag_t                sc_tag;
   53         void                    *sc_ih; /* PCI interrupt handle */
   54         const struct siop_product_desc *sc_pp; /* Adapter description */
   55 };
   56 
   57 int siop_pci_attach_common(struct siop_pci_common_softc *,
   58         struct siop_common_softc *, struct pci_attach_args *,
   59         int (*)(void *));
   60 void siop_pci_reset(struct siop_common_softc *);

/* [<][>][^][v][top][bottom][index][help] */