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