1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | /********************************************************************* * * msnd_pinnacle.h * * Turtle Beach MultiSound Sound Card Driver for Linux * * Some parts of this header file were derived from the Turtle Beach * MultiSound Driver Development Kit. * * Copyright (C) 1998 Andrew Veliath * Copyright (C) 1993 Turtle Beach Systems, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * ********************************************************************/ #ifndef __MSND_PINNACLE_H #define __MSND_PINNACLE_H #define DSP_NUMIO 0x08 #define IREG_LOGDEVICE 0x07 #define IREG_ACTIVATE 0x30 #define LD_ACTIVATE 0x01 #define LD_DISACTIVATE 0x00 #define IREG_EECONTROL 0x3F #define IREG_MEMBASEHI 0x40 #define IREG_MEMBASELO 0x41 #define IREG_MEMCONTROL 0x42 #define IREG_MEMRANGEHI 0x43 #define IREG_MEMRANGELO 0x44 #define MEMTYPE_8BIT 0x00 #define MEMTYPE_16BIT 0x02 #define MEMTYPE_RANGE 0x00 #define MEMTYPE_HIADDR 0x01 #define IREG_IO0_BASEHI 0x60 #define IREG_IO0_BASELO 0x61 #define IREG_IO1_BASEHI 0x62 #define IREG_IO1_BASELO 0x63 #define IREG_IRQ_NUMBER 0x70 #define IREG_IRQ_TYPE 0x71 #define IRQTYPE_HIGH 0x02 #define IRQTYPE_LOW 0x00 #define IRQTYPE_LEVEL 0x01 #define IRQTYPE_EDGE 0x00 #define HP_DSPR 0x04 #define HP_BLKS 0x04 #define HPDSPRESET_OFF 2 #define HPDSPRESET_ON 0 #define HPBLKSEL_0 2 #define HPBLKSEL_1 3 #define HIMT_DAT_OFF 0x03 #define HIDSP_PLAY_UNDER 0x00 #define HIDSP_INT_PLAY_UNDER 0x01 #define HIDSP_SSI_TX_UNDER 0x02 #define HIDSP_RECQ_OVERFLOW 0x08 #define HIDSP_INT_RECORD_OVER 0x09 #define HIDSP_SSI_RX_OVERFLOW 0x0a #define HIDSP_MIDI_IN_OVER 0x10 #define HIDSP_MIDI_FRAME_ERR 0x11 #define HIDSP_MIDI_PARITY_ERR 0x12 #define HIDSP_MIDI_OVERRUN_ERR 0x13 #define HIDSP_INPUT_CLIPPING 0x20 #define HIDSP_MIX_CLIPPING 0x30 #define HIDSP_DAT_IN_OFF 0x21 #define HDEXAR_SET_ANA_IN 0 #define HDEXAR_CLEAR_PEAKS 1 #define HDEXAR_IN_SET_POTS 2 #define HDEXAR_AUX_SET_POTS 3 #define HDEXAR_CAL_A_TO_D 4 #define HDEXAR_RD_EXT_DSP_BITS 5 #define HDEXAR_SET_SYNTH_IN 4 #define HDEXAR_READ_DAT_IN 5 #define HDEXAR_MIC_SET_POTS 6 #define HDEXAR_SET_DAT_IN 7 #define HDEXAR_SET_SYNTH_48 8 #define HDEXAR_SET_SYNTH_44 9 #define TIME_PRO_RESET_DONE 0x028A #define TIME_PRO_SYSEX 0x001E #define TIME_PRO_RESET 0x0032 #define AGND 0x01 #define SIGNAL 0x02 #define EXT_DSP_BIT_DCAL 0x0001 #define EXT_DSP_BIT_MIDI_CON 0x0002 #define BUFFSIZE 0x8000 #define HOSTQ_SIZE 0x40 #define SRAM_CNTL_START 0x7F00 #define SMA_STRUCT_START 0x7F40 #define DAP_BUFF_SIZE 0x2400 #define DAR_BUFF_SIZE 0x2000 #define DAPQ_STRUCT_SIZE 0x10 #define DARQ_STRUCT_SIZE 0x10 #define DAPQ_BUFF_SIZE (3 * 0x10) #define DARQ_BUFF_SIZE (3 * 0x10) #define MODQ_BUFF_SIZE 0x400 #define MIDQ_BUFF_SIZE 0x800 #define DSPQ_BUFF_SIZE 0x5A0 #define DAPQ_DATA_BUFF 0x6C00 #define DARQ_DATA_BUFF 0x6C30 #define MODQ_DATA_BUFF 0x6C60 #define MIDQ_DATA_BUFF 0x7060 #define DSPQ_DATA_BUFF 0x7860 #define DAPQ_OFFSET SRAM_CNTL_START #define DARQ_OFFSET (SRAM_CNTL_START + 0x08) #define MODQ_OFFSET (SRAM_CNTL_START + 0x10) #define MIDQ_OFFSET (SRAM_CNTL_START + 0x18) #define DSPQ_OFFSET (SRAM_CNTL_START + 0x20) #define MOP_WAVEHDR 0 #define MOP_EXTOUT 1 #define MOP_HWINIT 0xfe #define MOP_NONE 0xff #define MOP_MAX 1 #define MIP_EXTIN 0 #define MIP_WAVEHDR 1 #define MIP_HWINIT 0xfe #define MIP_MAX 1 /* Pinnacle/Fiji SMA Common Data */ #define SMA_wCurrPlayBytes 0x0000 #define SMA_wCurrRecordBytes 0x0002 #define SMA_wCurrPlayVolLeft 0x0004 #define SMA_wCurrPlayVolRight 0x0006 #define SMA_wCurrInVolLeft 0x0008 #define SMA_wCurrInVolRight 0x000a #define SMA_wCurrMHdrVolLeft 0x000c #define SMA_wCurrMHdrVolRight 0x000e #define SMA_dwCurrPlayPitch 0x0010 #define SMA_dwCurrPlayRate 0x0014 #define SMA_wCurrMIDIIOPatch 0x0018 #define SMA_wCurrPlayFormat 0x001a #define SMA_wCurrPlaySampleSize 0x001c #define SMA_wCurrPlayChannels 0x001e #define SMA_wCurrPlaySampleRate 0x0020 #define SMA_wCurrRecordFormat 0x0022 #define SMA_wCurrRecordSampleSize 0x0024 #define SMA_wCurrRecordChannels 0x0026 #define SMA_wCurrRecordSampleRate 0x0028 #define SMA_wCurrDSPStatusFlags 0x002a #define SMA_wCurrHostStatusFlags 0x002c #define SMA_wCurrInputTagBits 0x002e #define SMA_wCurrLeftPeak 0x0030 #define SMA_wCurrRightPeak 0x0032 #define SMA_bMicPotPosLeft 0x0034 #define SMA_bMicPotPosRight 0x0035 #define SMA_bMicPotMaxLeft 0x0036 #define SMA_bMicPotMaxRight 0x0037 #define SMA_bInPotPosLeft 0x0038 #define SMA_bInPotPosRight 0x0039 #define SMA_bAuxPotPosLeft 0x003a #define SMA_bAuxPotPosRight 0x003b #define SMA_bInPotMaxLeft 0x003c #define SMA_bInPotMaxRight 0x003d #define SMA_bAuxPotMaxLeft 0x003e #define SMA_bAuxPotMaxRight 0x003f #define SMA_bInPotMaxMethod 0x0040 #define SMA_bAuxPotMaxMethod 0x0041 #define SMA_wCurrMastVolLeft 0x0042 #define SMA_wCurrMastVolRight 0x0044 #define SMA_wCalFreqAtoD 0x0046 #define SMA_wCurrAuxVolLeft 0x0048 #define SMA_wCurrAuxVolRight 0x004a #define SMA_wCurrPlay1VolLeft 0x004c #define SMA_wCurrPlay1VolRight 0x004e #define SMA_wCurrPlay2VolLeft 0x0050 #define SMA_wCurrPlay2VolRight 0x0052 #define SMA_wCurrPlay3VolLeft 0x0054 #define SMA_wCurrPlay3VolRight 0x0056 #define SMA_wCurrPlay4VolLeft 0x0058 #define SMA_wCurrPlay4VolRight 0x005a #define SMA_wCurrPlay1PeakLeft 0x005c #define SMA_wCurrPlay1PeakRight 0x005e #define SMA_wCurrPlay2PeakLeft 0x0060 #define SMA_wCurrPlay2PeakRight 0x0062 #define SMA_wCurrPlay3PeakLeft 0x0064 #define SMA_wCurrPlay3PeakRight 0x0066 #define SMA_wCurrPlay4PeakLeft 0x0068 #define SMA_wCurrPlay4PeakRight 0x006a #define SMA_wCurrPlayPeakLeft 0x006c #define SMA_wCurrPlayPeakRight 0x006e #define SMA_wCurrDATSR 0x0070 #define SMA_wCurrDATRXCHNL 0x0072 #define SMA_wCurrDATTXCHNL 0x0074 #define SMA_wCurrDATRXRate 0x0076 #define SMA_dwDSPPlayCount 0x0078 #define SMA__size 0x007c #ifdef HAVE_DSPCODEH # include "pndsperm.c" # include "pndspini.c" # define PERMCODE pndsperm # define INITCODE pndspini # define PERMCODESIZE sizeof(pndsperm) # define INITCODESIZE sizeof(pndspini) #else # ifndef [31mCONFIG_MSNDPIN_INIT_FILE[0m # define [31mCONFIG_MSNDPIN_INIT_FILE[0m \ "/etc/sound/pndspini.bin" # endif # ifndef [31mCONFIG_MSNDPIN_PERM_FILE[0m # define [31mCONFIG_MSNDPIN_PERM_FILE[0m \ "/etc/sound/pndsperm.bin" # endif # define PERMCODEFILE [31mCONFIG_MSNDPIN_PERM_FILE[0m # define INITCODEFILE [31mCONFIG_MSNDPIN_INIT_FILE[0m # define PERMCODE dspini # define INITCODE permini # define PERMCODESIZE sizeof_dspini # define INITCODESIZE sizeof_permini #endif #define LONGNAME "MultiSound (Pinnacle/Fiji)" #endif /* __MSND_PINNACLE_H */ |