18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/********************************************************************* 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * msnd_pinnacle.h 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Turtle Beach MultiSound Sound Card Driver for Linux 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * Some parts of this header file were derived from the Turtle Beach 98c2ecf20Sopenharmony_ci * MultiSound Driver Development Kit. 108c2ecf20Sopenharmony_ci * 118c2ecf20Sopenharmony_ci * Copyright (C) 1998 Andrew Veliath 128c2ecf20Sopenharmony_ci * Copyright (C) 1993 Turtle Beach Systems, Inc. 138c2ecf20Sopenharmony_ci * 148c2ecf20Sopenharmony_ci ********************************************************************/ 158c2ecf20Sopenharmony_ci#ifndef __MSND_PINNACLE_H 168c2ecf20Sopenharmony_ci#define __MSND_PINNACLE_H 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci#define DSP_NUMIO 0x08 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#define IREG_LOGDEVICE 0x07 218c2ecf20Sopenharmony_ci#define IREG_ACTIVATE 0x30 228c2ecf20Sopenharmony_ci#define LD_ACTIVATE 0x01 238c2ecf20Sopenharmony_ci#define LD_DISACTIVATE 0x00 248c2ecf20Sopenharmony_ci#define IREG_EECONTROL 0x3F 258c2ecf20Sopenharmony_ci#define IREG_MEMBASEHI 0x40 268c2ecf20Sopenharmony_ci#define IREG_MEMBASELO 0x41 278c2ecf20Sopenharmony_ci#define IREG_MEMCONTROL 0x42 288c2ecf20Sopenharmony_ci#define IREG_MEMRANGEHI 0x43 298c2ecf20Sopenharmony_ci#define IREG_MEMRANGELO 0x44 308c2ecf20Sopenharmony_ci#define MEMTYPE_8BIT 0x00 318c2ecf20Sopenharmony_ci#define MEMTYPE_16BIT 0x02 328c2ecf20Sopenharmony_ci#define MEMTYPE_RANGE 0x00 338c2ecf20Sopenharmony_ci#define MEMTYPE_HIADDR 0x01 348c2ecf20Sopenharmony_ci#define IREG_IO0_BASEHI 0x60 358c2ecf20Sopenharmony_ci#define IREG_IO0_BASELO 0x61 368c2ecf20Sopenharmony_ci#define IREG_IO1_BASEHI 0x62 378c2ecf20Sopenharmony_ci#define IREG_IO1_BASELO 0x63 388c2ecf20Sopenharmony_ci#define IREG_IRQ_NUMBER 0x70 398c2ecf20Sopenharmony_ci#define IREG_IRQ_TYPE 0x71 408c2ecf20Sopenharmony_ci#define IRQTYPE_HIGH 0x02 418c2ecf20Sopenharmony_ci#define IRQTYPE_LOW 0x00 428c2ecf20Sopenharmony_ci#define IRQTYPE_LEVEL 0x01 438c2ecf20Sopenharmony_ci#define IRQTYPE_EDGE 0x00 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci#define HP_DSPR 0x04 468c2ecf20Sopenharmony_ci#define HP_BLKS 0x04 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#define HPDSPRESET_OFF 2 498c2ecf20Sopenharmony_ci#define HPDSPRESET_ON 0 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci#define HPBLKSEL_0 2 528c2ecf20Sopenharmony_ci#define HPBLKSEL_1 3 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci#define HIMT_DAT_OFF 0x03 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci#define HIDSP_PLAY_UNDER 0x00 578c2ecf20Sopenharmony_ci#define HIDSP_INT_PLAY_UNDER 0x01 588c2ecf20Sopenharmony_ci#define HIDSP_SSI_TX_UNDER 0x02 598c2ecf20Sopenharmony_ci#define HIDSP_RECQ_OVERFLOW 0x08 608c2ecf20Sopenharmony_ci#define HIDSP_INT_RECORD_OVER 0x09 618c2ecf20Sopenharmony_ci#define HIDSP_SSI_RX_OVERFLOW 0x0a 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci#define HIDSP_MIDI_IN_OVER 0x10 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci#define HIDSP_MIDI_FRAME_ERR 0x11 668c2ecf20Sopenharmony_ci#define HIDSP_MIDI_PARITY_ERR 0x12 678c2ecf20Sopenharmony_ci#define HIDSP_MIDI_OVERRUN_ERR 0x13 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci#define HIDSP_INPUT_CLIPPING 0x20 708c2ecf20Sopenharmony_ci#define HIDSP_MIX_CLIPPING 0x30 718c2ecf20Sopenharmony_ci#define HIDSP_DAT_IN_OFF 0x21 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci#define TIME_PRO_RESET_DONE 0x028A 748c2ecf20Sopenharmony_ci#define TIME_PRO_SYSEX 0x001E 758c2ecf20Sopenharmony_ci#define TIME_PRO_RESET 0x0032 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci#define DAR_BUFF_SIZE 0x1000 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci#define MIDQ_BUFF_SIZE 0x800 808c2ecf20Sopenharmony_ci#define DSPQ_BUFF_SIZE 0x5A0 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci#define DSPQ_DATA_BUFF 0x7860 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci#define MOP_WAVEHDR 0 858c2ecf20Sopenharmony_ci#define MOP_EXTOUT 1 868c2ecf20Sopenharmony_ci#define MOP_HWINIT 0xfe 878c2ecf20Sopenharmony_ci#define MOP_NONE 0xff 888c2ecf20Sopenharmony_ci#define MOP_MAX 1 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci#define MIP_EXTIN 0 918c2ecf20Sopenharmony_ci#define MIP_WAVEHDR 1 928c2ecf20Sopenharmony_ci#define MIP_HWINIT 0xfe 938c2ecf20Sopenharmony_ci#define MIP_MAX 1 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci/* Pinnacle/Fiji SMA Common Data */ 968c2ecf20Sopenharmony_ci#define SMA_wCurrPlayBytes 0x0000 978c2ecf20Sopenharmony_ci#define SMA_wCurrRecordBytes 0x0002 988c2ecf20Sopenharmony_ci#define SMA_wCurrPlayVolLeft 0x0004 998c2ecf20Sopenharmony_ci#define SMA_wCurrPlayVolRight 0x0006 1008c2ecf20Sopenharmony_ci#define SMA_wCurrInVolLeft 0x0008 1018c2ecf20Sopenharmony_ci#define SMA_wCurrInVolRight 0x000a 1028c2ecf20Sopenharmony_ci#define SMA_wCurrMHdrVolLeft 0x000c 1038c2ecf20Sopenharmony_ci#define SMA_wCurrMHdrVolRight 0x000e 1048c2ecf20Sopenharmony_ci#define SMA_dwCurrPlayPitch 0x0010 1058c2ecf20Sopenharmony_ci#define SMA_dwCurrPlayRate 0x0014 1068c2ecf20Sopenharmony_ci#define SMA_wCurrMIDIIOPatch 0x0018 1078c2ecf20Sopenharmony_ci#define SMA_wCurrPlayFormat 0x001a 1088c2ecf20Sopenharmony_ci#define SMA_wCurrPlaySampleSize 0x001c 1098c2ecf20Sopenharmony_ci#define SMA_wCurrPlayChannels 0x001e 1108c2ecf20Sopenharmony_ci#define SMA_wCurrPlaySampleRate 0x0020 1118c2ecf20Sopenharmony_ci#define SMA_wCurrRecordFormat 0x0022 1128c2ecf20Sopenharmony_ci#define SMA_wCurrRecordSampleSize 0x0024 1138c2ecf20Sopenharmony_ci#define SMA_wCurrRecordChannels 0x0026 1148c2ecf20Sopenharmony_ci#define SMA_wCurrRecordSampleRate 0x0028 1158c2ecf20Sopenharmony_ci#define SMA_wCurrDSPStatusFlags 0x002a 1168c2ecf20Sopenharmony_ci#define SMA_wCurrHostStatusFlags 0x002c 1178c2ecf20Sopenharmony_ci#define SMA_wCurrInputTagBits 0x002e 1188c2ecf20Sopenharmony_ci#define SMA_wCurrLeftPeak 0x0030 1198c2ecf20Sopenharmony_ci#define SMA_wCurrRightPeak 0x0032 1208c2ecf20Sopenharmony_ci#define SMA_bMicPotPosLeft 0x0034 1218c2ecf20Sopenharmony_ci#define SMA_bMicPotPosRight 0x0035 1228c2ecf20Sopenharmony_ci#define SMA_bMicPotMaxLeft 0x0036 1238c2ecf20Sopenharmony_ci#define SMA_bMicPotMaxRight 0x0037 1248c2ecf20Sopenharmony_ci#define SMA_bInPotPosLeft 0x0038 1258c2ecf20Sopenharmony_ci#define SMA_bInPotPosRight 0x0039 1268c2ecf20Sopenharmony_ci#define SMA_bAuxPotPosLeft 0x003a 1278c2ecf20Sopenharmony_ci#define SMA_bAuxPotPosRight 0x003b 1288c2ecf20Sopenharmony_ci#define SMA_bInPotMaxLeft 0x003c 1298c2ecf20Sopenharmony_ci#define SMA_bInPotMaxRight 0x003d 1308c2ecf20Sopenharmony_ci#define SMA_bAuxPotMaxLeft 0x003e 1318c2ecf20Sopenharmony_ci#define SMA_bAuxPotMaxRight 0x003f 1328c2ecf20Sopenharmony_ci#define SMA_bInPotMaxMethod 0x0040 1338c2ecf20Sopenharmony_ci#define SMA_bAuxPotMaxMethod 0x0041 1348c2ecf20Sopenharmony_ci#define SMA_wCurrMastVolLeft 0x0042 1358c2ecf20Sopenharmony_ci#define SMA_wCurrMastVolRight 0x0044 1368c2ecf20Sopenharmony_ci#define SMA_wCalFreqAtoD 0x0046 1378c2ecf20Sopenharmony_ci#define SMA_wCurrAuxVolLeft 0x0048 1388c2ecf20Sopenharmony_ci#define SMA_wCurrAuxVolRight 0x004a 1398c2ecf20Sopenharmony_ci#define SMA_wCurrPlay1VolLeft 0x004c 1408c2ecf20Sopenharmony_ci#define SMA_wCurrPlay1VolRight 0x004e 1418c2ecf20Sopenharmony_ci#define SMA_wCurrPlay2VolLeft 0x0050 1428c2ecf20Sopenharmony_ci#define SMA_wCurrPlay2VolRight 0x0052 1438c2ecf20Sopenharmony_ci#define SMA_wCurrPlay3VolLeft 0x0054 1448c2ecf20Sopenharmony_ci#define SMA_wCurrPlay3VolRight 0x0056 1458c2ecf20Sopenharmony_ci#define SMA_wCurrPlay4VolLeft 0x0058 1468c2ecf20Sopenharmony_ci#define SMA_wCurrPlay4VolRight 0x005a 1478c2ecf20Sopenharmony_ci#define SMA_wCurrPlay1PeakLeft 0x005c 1488c2ecf20Sopenharmony_ci#define SMA_wCurrPlay1PeakRight 0x005e 1498c2ecf20Sopenharmony_ci#define SMA_wCurrPlay2PeakLeft 0x0060 1508c2ecf20Sopenharmony_ci#define SMA_wCurrPlay2PeakRight 0x0062 1518c2ecf20Sopenharmony_ci#define SMA_wCurrPlay3PeakLeft 0x0064 1528c2ecf20Sopenharmony_ci#define SMA_wCurrPlay3PeakRight 0x0066 1538c2ecf20Sopenharmony_ci#define SMA_wCurrPlay4PeakLeft 0x0068 1548c2ecf20Sopenharmony_ci#define SMA_wCurrPlay4PeakRight 0x006a 1558c2ecf20Sopenharmony_ci#define SMA_wCurrPlayPeakLeft 0x006c 1568c2ecf20Sopenharmony_ci#define SMA_wCurrPlayPeakRight 0x006e 1578c2ecf20Sopenharmony_ci#define SMA_wCurrDATSR 0x0070 1588c2ecf20Sopenharmony_ci#define SMA_wCurrDATRXCHNL 0x0072 1598c2ecf20Sopenharmony_ci#define SMA_wCurrDATTXCHNL 0x0074 1608c2ecf20Sopenharmony_ci#define SMA_wCurrDATRXRate 0x0076 1618c2ecf20Sopenharmony_ci#define SMA_dwDSPPlayCount 0x0078 1628c2ecf20Sopenharmony_ci#define SMA__size 0x007c 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci#define INITCODEFILE "turtlebeach/pndspini.bin" 1658c2ecf20Sopenharmony_ci#define PERMCODEFILE "turtlebeach/pndsperm.bin" 1668c2ecf20Sopenharmony_ci#define LONGNAME "MultiSound (Pinnacle/Fiji)" 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci#endif /* __MSND_PINNACLE_H */ 169