[BACK]Return to ariareg.h CVS log [TXT][DIR] Up to [local] / sys / dev / isa

Annotation of sys/dev/isa/ariareg.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: ariareg.h,v 1.2 2007/05/25 21:27:15 krw Exp $ */
                      2:
                      3: /*
                      4:  * Copyright (c) 1995, 1996 Roland C. Dowdeswell.  All rights reserved.
                      5:  *
                      6:  * Redistribution and use in source and binary forms, with or without
                      7:  * modification, are permitted provided that the following conditions
                      8:  * are met:
                      9:  * 1. Redistributions of source code must retain the above copyright
                     10:  *    notice, this list of conditions and the following disclaimer.
                     11:  * 2. Redistributions in binary form must reproduce the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer in the
                     13:  *    documentation and/or other materials provided with the distribution.
                     14:  * 3. All advertising materials mentioning features or use of this software
                     15:  *    must display the following acknowledgement:
                     16:  *      This product includes software developed by Roland C. Dowdeswell.
                     17:  * 4. The name of the authors may not be used to endorse or promote products
                     18:  *      derived from this software without specific prior written permission.
                     19:  *
                     20:  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
                     21:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     22:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     23:  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
                     24:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     25:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     26:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     27:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     28:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     29:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     30:  */
                     31:
                     32: /*
                     33:  * Macros to detect valid hardware configuration data.
                     34:  */
                     35: #define ARIA_IRQ_VALID(irq)   ((irq) == 10 || (irq) == 11 || (irq) == 12)
                     36: #define ARIA_DRQ_VALID(chan)  ((chan) == 5 || (chan) == 6)
                     37: #define ARIA_BASE_VALID(base) ((base) == 0x290 || (base) == 0x280 || (base) == 0x2a0 || (base) == 0x2b0)
                     38:
                     39: /*
                     40:  * Aria DSP ports
                     41:  *  (abrieviated ARIADSP_)
                     42:  */
                     43:
                     44: #define        ARIADSP_NPORT           8
                     45:
                     46: #define        ARIADSP_DSPDATA         0
                     47: #define ARIADSP_WRITE          0
                     48: #define        ARIADSP_STATUS          2
                     49: #define        ARIADSP_CONTROL         2
                     50: #define        ARIADSP_DMAADDRESS      4
                     51: #define        ARIADSP_DMADATA         6
                     52:
                     53: /*
                     54:  * Aria DSP Addresses and the like...
                     55:  *  (abrieviated ARIAA_)
                     56:  */
                     57:
                     58: #define ARIAA_HARDWARE_A       0x6050
                     59: #define        ARIAA_MODEL_A           0x60c3
                     60: #define ARIAA_PLAY_FIFO_A      0x6100
                     61: #define ARIAA_REC_FIFO_A       0x6101
                     62: #define ARIAA_TASK_A           0x6102
                     63:
                     64: /*
                     65:  * DSP random values
                     66:  *  (abrieviated ARIAR_)
                     67:  */
                     68:
                     69: #define ARIAR_PROMETHEUS_KLUDGE 0x0001
                     70: #define ARIAR_NPOLL            30000
                     71: #define ARIAR_OPEN_PLAY                0x0002
                     72: #define ARIAR_OPEN_RECORD      0x0001
                     73: #define ARIAR_PLAY_CHAN         1
                     74: #define ARIAR_RECORD_CHAN       0
                     75: #define ARIAR_BUSY             0x8000
                     76: #define ARIAR_ARIA_SYNTH       0x0080
                     77: #define ARIAR_SR22K             0x0040
                     78: #define ARIAR_DSPINTWR         0x0008
                     79: #define ARIAR_PCINTWR          0x0002
                     80:
                     81: /*
                     82:  * Aria DSP Commands
                     83:  *  (abrieviated ARIADSPC_)
                     84:  */
                     85:
                     86: #define ARIADSPC_SYSINIT       0x0000  /* Initialise system */
                     87: #define        ARIADSPC_FORMAT         0x0003  /* format (pcm8, pcm16, etc) */
                     88: #define ARIADSPC_MASTERVOLUME  0x0004
                     89: #define        ARIADSPC_BLOCKSIZE      0x0005
                     90: #define        ARIADSPC_MODE           0x0006
                     91: #define        ARIADSPC_CDVOLUME       0x0007
                     92: #define        ARIADSPC_MICVOLUME      0x0008
                     93: #define        ARIADSPC_MIXERCONFIG    0x0009
                     94: #define ARIADSPC_FORCEINTR     0x000a  /* Force an Interrupt */
                     95: #define ARIADSPC_TRANSCOMPLETE 0x0010  /* Transfer Complete */
                     96: #define ARIADSPC_START_PLAY    0x0011
                     97: #define ARIADSPC_STOP_PLAY     0x0012
                     98: #define ARIADSPC_CHAN_VOL      0x0013
                     99: #define ARIADSPC_CHAN_PAN      0x0014
                    100: #define ARIADSPC_START_REC     0x0015
                    101: #define ARIADSPC_STOP_REC      0x0016
                    102: #define ARIADSPC_DAPVOL                0x0017  /* Digital Audio Playback Vol */
                    103: #define ARIADSPC_ADCSOURCE     0x0030
                    104: #define ARIADSPC_ADCCONTROL    0x0031  /* Turn ADC off/on */
                    105: #define ARIADSPC_INPMONMODE    0x0032  /* Input Monitor Mode */
                    106: #define ARIADSPC_MASMONMODE    0x0033  /* Master Monitor Mode */
                    107: #define ARIADSPC_MIXERVOL      0x0034  /* Mixer Volumes */
                    108: #define ARIADSPC_TONE          0x0035  /* Tone controls */
                    109: #define        ARIADSPC_TERM           0xffff  /* End of Command */
                    110:
                    111: /*
                    112:  * DSP values (for commands)
                    113:  *  (abrieviated ARIAV_)
                    114:  */
                    115:
                    116: #define ARIAV_MODE_NO_SYNTH    0x0000  /* No synthesizer mode */
                    117:
                    118: #define ARIAMIX_MIC_LVL                0
                    119: #define ARIAMIX_LINE_IN_LVL    1
                    120: #define ARIAMIX_CD_LVL         2
                    121: #define ARIAMIX_DAC_LVL                3
                    122: #define ARIAMIX_TEL_LVL                4
                    123: #define ARIAMIX_AUX_LVL                5
                    124: #define ARIAMIX_MASTER_LVL     6
                    125: #define ARIAMIX_MASTER_TREBLE  7
                    126: #define ARIAMIX_MASTER_BASS    8
                    127: #define ARIAMIX_RECORD_SOURCE  9
                    128: #define ARIAMIX_MIC_MUTE       10
                    129: #define ARIAMIX_LINE_IN_MUTE   11
                    130: #define ARIAMIX_CD_MUTE                12
                    131: #define ARIAMIX_DAC_MUTE       13
                    132: #define ARIAMIX_TEL_MUTE       14
                    133: #define ARIAMIX_AUX_MUTE       15
                    134: #define ARIAMIX_OUT_LVL                16
                    135: #define ARIAMIX_OUTPUT_CLASS   17
                    136: #define ARIAMIX_INPUT_CLASS    18
                    137: #define ARIAMIX_RECORD_CLASS   19
                    138: #define ARIAMIX_EQ_CLASS        20

CVSweb