linux/sound/isa/msnd/msnd_pinnacle.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*********************************************************************
   3 *
   4 * msnd_pinnacle.h
   5 *
   6 * Turtle Beach MultiSound Sound Card Driver for Linux
   7 *
   8 * Some parts of this header file were derived from the Turtle Beach
   9 * MultiSound Driver Development Kit.
  10 *
  11 * Copyright (C) 1998 Andrew Veliath
  12 * Copyright (C) 1993 Turtle Beach Systems, Inc.
  13 *
  14 ********************************************************************/
  15#ifndef __MSND_PINNACLE_H
  16#define __MSND_PINNACLE_H
  17
  18#define DSP_NUMIO                               0x08
  19
  20#define IREG_LOGDEVICE                          0x07
  21#define IREG_ACTIVATE                           0x30
  22#define LD_ACTIVATE                             0x01
  23#define LD_DISACTIVATE                          0x00
  24#define IREG_EECONTROL                          0x3F
  25#define IREG_MEMBASEHI                          0x40
  26#define IREG_MEMBASELO                          0x41
  27#define IREG_MEMCONTROL                         0x42
  28#define IREG_MEMRANGEHI                         0x43
  29#define IREG_MEMRANGELO                         0x44
  30#define MEMTYPE_8BIT                            0x00
  31#define MEMTYPE_16BIT                           0x02
  32#define MEMTYPE_RANGE                           0x00
  33#define MEMTYPE_HIADDR                          0x01
  34#define IREG_IO0_BASEHI                         0x60
  35#define IREG_IO0_BASELO                         0x61
  36#define IREG_IO1_BASEHI                         0x62
  37#define IREG_IO1_BASELO                         0x63
  38#define IREG_IRQ_NUMBER                         0x70
  39#define IREG_IRQ_TYPE                           0x71
  40#define IRQTYPE_HIGH                            0x02
  41#define IRQTYPE_LOW                             0x00
  42#define IRQTYPE_LEVEL                           0x01
  43#define IRQTYPE_EDGE                            0x00
  44
  45#define HP_DSPR                                 0x04
  46#define HP_BLKS                                 0x04
  47
  48#define HPDSPRESET_OFF                          2
  49#define HPDSPRESET_ON                           0
  50
  51#define HPBLKSEL_0                              2
  52#define HPBLKSEL_1                              3
  53
  54#define HIMT_DAT_OFF                            0x03
  55
  56#define HIDSP_PLAY_UNDER                        0x00
  57#define HIDSP_INT_PLAY_UNDER                    0x01
  58#define HIDSP_SSI_TX_UNDER                      0x02
  59#define HIDSP_RECQ_OVERFLOW                     0x08
  60#define HIDSP_INT_RECORD_OVER                   0x09
  61#define HIDSP_SSI_RX_OVERFLOW                   0x0a
  62
  63#define HIDSP_MIDI_IN_OVER                      0x10
  64
  65#define HIDSP_MIDI_FRAME_ERR                    0x11
  66#define HIDSP_MIDI_PARITY_ERR                   0x12
  67#define HIDSP_MIDI_OVERRUN_ERR                  0x13
  68
  69#define HIDSP_INPUT_CLIPPING                    0x20
  70#define HIDSP_MIX_CLIPPING                      0x30
  71#define HIDSP_DAT_IN_OFF                        0x21
  72
  73#define TIME_PRO_RESET_DONE                     0x028A
  74#define TIME_PRO_SYSEX                          0x001E
  75#define TIME_PRO_RESET                          0x0032
  76
  77#define DAR_BUFF_SIZE                           0x1000
  78
  79#define MIDQ_BUFF_SIZE                          0x800
  80#define DSPQ_BUFF_SIZE                          0x5A0
  81
  82#define DSPQ_DATA_BUFF                          0x7860
  83
  84#define MOP_WAVEHDR                             0
  85#define MOP_EXTOUT                              1
  86#define MOP_HWINIT                              0xfe
  87#define MOP_NONE                                0xff
  88#define MOP_MAX                                 1
  89
  90#define MIP_EXTIN                               0
  91#define MIP_WAVEHDR                             1
  92#define MIP_HWINIT                              0xfe
  93#define MIP_MAX                                 1
  94
  95/* Pinnacle/Fiji SMA Common Data */
  96#define SMA_wCurrPlayBytes                      0x0000
  97#define SMA_wCurrRecordBytes                    0x0002
  98#define SMA_wCurrPlayVolLeft                    0x0004
  99#define SMA_wCurrPlayVolRight                   0x0006
 100#define SMA_wCurrInVolLeft                      0x0008
 101#define SMA_wCurrInVolRight                     0x000a
 102#define SMA_wCurrMHdrVolLeft                    0x000c
 103#define SMA_wCurrMHdrVolRight                   0x000e
 104#define SMA_dwCurrPlayPitch                     0x0010
 105#define SMA_dwCurrPlayRate                      0x0014
 106#define SMA_wCurrMIDIIOPatch                    0x0018
 107#define SMA_wCurrPlayFormat                     0x001a
 108#define SMA_wCurrPlaySampleSize                 0x001c
 109#define SMA_wCurrPlayChannels                   0x001e
 110#define SMA_wCurrPlaySampleRate                 0x0020
 111#define SMA_wCurrRecordFormat                   0x0022
 112#define SMA_wCurrRecordSampleSize               0x0024
 113#define SMA_wCurrRecordChannels                 0x0026
 114#define SMA_wCurrRecordSampleRate               0x0028
 115#define SMA_wCurrDSPStatusFlags                 0x002a
 116#define SMA_wCurrHostStatusFlags                0x002c
 117#define SMA_wCurrInputTagBits                   0x002e
 118#define SMA_wCurrLeftPeak                       0x0030
 119#define SMA_wCurrRightPeak                      0x0032
 120#define SMA_bMicPotPosLeft                      0x0034
 121#define SMA_bMicPotPosRight                     0x0035
 122#define SMA_bMicPotMaxLeft                      0x0036
 123#define SMA_bMicPotMaxRight                     0x0037
 124#define SMA_bInPotPosLeft                       0x0038
 125#define SMA_bInPotPosRight                      0x0039
 126#define SMA_bAuxPotPosLeft                      0x003a
 127#define SMA_bAuxPotPosRight                     0x003b
 128#define SMA_bInPotMaxLeft                       0x003c
 129#define SMA_bInPotMaxRight                      0x003d
 130#define SMA_bAuxPotMaxLeft                      0x003e
 131#define SMA_bAuxPotMaxRight                     0x003f
 132#define SMA_bInPotMaxMethod                     0x0040
 133#define SMA_bAuxPotMaxMethod                    0x0041
 134#define SMA_wCurrMastVolLeft                    0x0042
 135#define SMA_wCurrMastVolRight                   0x0044
 136#define SMA_wCalFreqAtoD                        0x0046
 137#define SMA_wCurrAuxVolLeft                     0x0048
 138#define SMA_wCurrAuxVolRight                    0x004a
 139#define SMA_wCurrPlay1VolLeft                   0x004c
 140#define SMA_wCurrPlay1VolRight                  0x004e
 141#define SMA_wCurrPlay2VolLeft                   0x0050
 142#define SMA_wCurrPlay2VolRight                  0x0052
 143#define SMA_wCurrPlay3VolLeft                   0x0054
 144#define SMA_wCurrPlay3VolRight                  0x0056
 145#define SMA_wCurrPlay4VolLeft                   0x0058
 146#define SMA_wCurrPlay4VolRight                  0x005a
 147#define SMA_wCurrPlay1PeakLeft                  0x005c
 148#define SMA_wCurrPlay1PeakRight                 0x005e
 149#define SMA_wCurrPlay2PeakLeft                  0x0060
 150#define SMA_wCurrPlay2PeakRight                 0x0062
 151#define SMA_wCurrPlay3PeakLeft                  0x0064
 152#define SMA_wCurrPlay3PeakRight                 0x0066
 153#define SMA_wCurrPlay4PeakLeft                  0x0068
 154#define SMA_wCurrPlay4PeakRight                 0x006a
 155#define SMA_wCurrPlayPeakLeft                   0x006c
 156#define SMA_wCurrPlayPeakRight                  0x006e
 157#define SMA_wCurrDATSR                          0x0070
 158#define SMA_wCurrDATRXCHNL                      0x0072
 159#define SMA_wCurrDATTXCHNL                      0x0074
 160#define SMA_wCurrDATRXRate                      0x0076
 161#define SMA_dwDSPPlayCount                      0x0078
 162#define SMA__size                               0x007c
 163
 164#define INITCODEFILE            "turtlebeach/pndspini.bin"
 165#define PERMCODEFILE            "turtlebeach/pndsperm.bin"
 166#define LONGNAME                "MultiSound (Pinnacle/Fiji)"
 167
 168#endif /* __MSND_PINNACLE_H */
 169