root/dev/isa/madreg.h

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

INCLUDED FROM


    1 /*      $OpenBSD: madreg.h,v 1.1 1998/04/26 21:02:37 provos Exp $       */
    2 /*      $NetBSD: madreg.h,v 1.4 1998/01/19 22:18:27 augustss Exp $      */
    3 /*
    4  * Copyright (c) 1996 Lennart Augustsson
    5  * Copyright (c) 1995 Hannu Savolainen
    6  * Copyright (c) 1991-1993 Regents of the University of California.
    7  * All rights reserved.
    8  *
    9  * Redistribution and use in source and binary forms, with or without
   10  * modification, are permitted provided that the following conditions
   11  * are met:
   12  * 1. Redistributions of source code must retain the above copyright
   13  *    notice, this list of conditions and the following disclaimer.
   14  * 2. Redistributions in binary form must reproduce the above copyright
   15  *    notice, this list of conditions and the following disclaimer in the
   16  *    documentation and/or other materials provided with the distribution.
   17  * 3. All advertising materials mentioning features or use of this software
   18  *    must display the following acknowledgement:
   19  *      This product includes software developed by the Computer Systems
   20  *      Engineering Group at Lawrence Berkeley Laboratory.
   21  * 4. Neither the name of the University nor of the Laboratory may be used
   22  *    to endorse or promote products derived from this software without
   23  *    specific prior written permission.
   24  *
   25  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   26  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   27  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   28  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   29  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   30  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   31  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   32  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   33  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   34  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   35  * SUCH DAMAGE.
   36  *
   37  */
   38 
   39 /*
   40  * Variations of the suppored chips.
   41  */
   42 
   43 #define MAD_NONE        0
   44 #define MAD_82C928      1               /* OPTi 82C928     MAD16 */
   45 #define MAD_OTI601D     2               /* OAK OTI-601D    Mozart */
   46 #define MAD_82C929      3               /* OPTi 82C929     MAD16 Pro */
   47 #define MAD_82C931      4               /* OPTi 82C831     */
   48 
   49 /*
   50  *    Registers
   51  *
   52  *      The MAD16 occupies I/O ports 0xf8d to 0xf93 (fixed locations).
   53  *      All ports are inactive by default. They can be activated by
   54  *      writing 0xE2 or 0xE3 to the password register. The password is valid
   55  *      only until the next I/O read or write.
   56  */
   57 
   58 #define MAD_BASE        0xf8d
   59 #define MAD_NPORT       7
   60 
   61 #define MC1_PORT        0       /* SB address, CDROM interface type, joystick */
   62 #define MC2_PORT        1       /* CDROM address, IRQ, DMA, plus OPL4 bit */
   63 #define MC3_PORT        2
   64 #define MC_PASSWD_REG   MC3_PORT
   65 #define MC4_PORT        3
   66 #define MC5_PORT        4
   67 #define MC6_PORT        5
   68 #define MC7_PORT        6
   69 
   70 #define MC1_NOCD        0x00
   71 #define MC1_JOYDISABLE  0x01
   72 #define MC1_SONY        0x02
   73 #define MC1_MITSUMI     0x04
   74 #define MC1_PANASONIC   0x06
   75 #define MC1_SECIDE      0x08
   76 #define MC1_PRIMIDE     0x0a
   77 
   78 #define MC2_CDDISABLE   0x03
   79 #define MC2_OPL4        0x20
   80 
   81 /* Possible WSS emulation ports */
   82 #define M_WSS_PORT0 0x530
   83 #define M_WSS_PORT1 0xe80
   84 #define M_WSS_PORT2 0xf40
   85 #define M_WSS_PORT3 0x604
   86 #define M_WSS_NPORTS 4
   87 
   88 /* Port 1 */
   89 #define M_WSS_PORT_SELECT(i) (0x80 | ((i) << 4))
   90 
   91 #define M_PASSWD_928    0xe2
   92 #define M_PASSWD_929    0xe3
   93 #define M_PASSWD_931    0xe4
   94 
   95 /* Regions of I/O space that the MAD occupies besides
   96    WSS emulation and MAD_BASE.  Talk about waste. */
   97 #define MAD_REG1 0x220
   98 #define MAD_LEN1 16
   99 #define MAD_REG2 0x380
  100 #define MAD_LEN2 2
  101 #define MAD_REG3 0x388
  102 #define MAD_LEN3 4

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