1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*********************************************************************
3 *
4 * msnd_classic.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_CLASSIC_H
16#define __MSND_CLASSIC_H
17
18#define DSP_NUMIO 0x10
19
20#define HP_MEMM 0x08
21
22#define HP_BITM 0x0E
23#define HP_WAIT 0x0D
24#define HP_DSPR 0x0A
25#define HP_PROR 0x0B
26#define HP_BLKS 0x0C
27
28#define HPPRORESET_OFF 0
29#define HPPRORESET_ON 1
30
31#define HPDSPRESET_OFF 0
32#define HPDSPRESET_ON 1
33
34#define HPBLKSEL_0 0
35#define HPBLKSEL_1 1
36
37#define HPWAITSTATE_0 0
38#define HPWAITSTATE_1 1
39
40#define HPBITMODE_16 0
41#define HPBITMODE_8 1
42
43#define HIDSP_INT_PLAY_UNDER 0x00
44#define HIDSP_INT_RECORD_OVER 0x01
45#define HIDSP_INPUT_CLIPPING 0x02
46#define HIDSP_MIDI_IN_OVER 0x10
47#define HIDSP_MIDI_OVERRUN_ERR 0x13
48
49#define TIME_PRO_RESET_DONE 0x028A
50#define TIME_PRO_SYSEX 0x0040
51#define TIME_PRO_RESET 0x0032
52
53#define DAR_BUFF_SIZE 0x2000
54
55#define MIDQ_BUFF_SIZE 0x200
56#define DSPQ_BUFF_SIZE 0x40
57
58#define DSPQ_DATA_BUFF 0x7260
59
60#define MOP_SYNTH 0x10
61#define MOP_EXTOUT 0x32
62#define MOP_EXTTHRU 0x02
63#define MOP_OUTMASK 0x01
64
65#define MIP_EXTIN 0x01
66#define MIP_SYNTH 0x00
67#define MIP_INMASK 0x32
68
69/* Classic SMA Common Data */
70#define SMA_wCurrPlayBytes 0x0000
71#define SMA_wCurrRecordBytes 0x0002
72#define SMA_wCurrPlayVolLeft 0x0004
73#define SMA_wCurrPlayVolRight 0x0006
74#define SMA_wCurrInVolLeft 0x0008
75#define SMA_wCurrInVolRight 0x000a
76#define SMA_wUser_3 0x000c
77#define SMA_wUser_4 0x000e
78#define SMA_dwUser_5 0x0010
79#define SMA_dwUser_6 0x0014
80#define SMA_wUser_7 0x0018
81#define SMA_wReserved_A 0x001a
82#define SMA_wReserved_B 0x001c
83#define SMA_wReserved_C 0x001e
84#define SMA_wReserved_D 0x0020
85#define SMA_wReserved_E 0x0022
86#define SMA_wReserved_F 0x0024
87#define SMA_wReserved_G 0x0026
88#define SMA_wReserved_H 0x0028
89#define SMA_wCurrDSPStatusFlags 0x002a
90#define SMA_wCurrHostStatusFlags 0x002c
91#define SMA_wCurrInputTagBits 0x002e
92#define SMA_wCurrLeftPeak 0x0030
93#define SMA_wCurrRightPeak 0x0032
94#define SMA_wExtDSPbits 0x0034
95#define SMA_bExtHostbits 0x0036
96#define SMA_bBoardLevel 0x0037
97#define SMA_bInPotPosRight 0x0038
98#define SMA_bInPotPosLeft 0x0039
99#define SMA_bAuxPotPosRight 0x003a
100#define SMA_bAuxPotPosLeft 0x003b
101#define SMA_wCurrMastVolLeft 0x003c
102#define SMA_wCurrMastVolRight 0x003e
103#define SMA_bUser_12 0x0040
104#define SMA_bUser_13 0x0041
105#define SMA_wUser_14 0x0042
106#define SMA_wUser_15 0x0044
107#define SMA_wCalFreqAtoD 0x0046
108#define SMA_wUser_16 0x0048
109#define SMA_wUser_17 0x004a
110#define SMA__size 0x004c
111
112#define INITCODEFILE "turtlebeach/msndinit.bin"
113#define PERMCODEFILE "turtlebeach/msndperm.bin"
114#define LONGNAME "MultiSound (Classic/Monterey/Tahiti)"
115
116#endif /* __MSND_CLASSIC_H */
117

source code of linux/sound/isa/msnd/msnd_classic.h