1/* 2 * sound/oss/sb_mixer.h 3 * 4 * Definitions for the SB Pro and SB16 mixers 5 */ 6/* 7 * Copyright (C) by Hannu Savolainen 1993-1997 8 * 9 * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL) 10 * Version 2 (June 1991). See the "COPYING" file distributed with this software 11 * for more info. 12 */ 13 14/* 15 * Modified: 16 * Hunyue Yau Jan 6 1994 17 * Added defines for the Sound Galaxy NX Pro mixer. 18 * 19 * Rolf Fokkens Dec 20 1998 20 * Added defines for some ES188x chips. 21 * 22 * Rolf Fokkens Dec 27 1998 23 * Moved static stuff to sb_mixer.c 24 * 25 */ 26/* 27 * Mixer registers 28 * 29 * NOTE! RECORD_SRC == IN_FILTER 30 */ 31 32/* 33 * Mixer registers of SB Pro 34 */ 35#define VOC_VOL 0x04 36#define MIC_VOL 0x0A 37#define MIC_MIX 0x0A 38#define RECORD_SRC 0x0C 39#define IN_FILTER 0x0C 40#define OUT_FILTER 0x0E 41#define MASTER_VOL 0x22 42#define FM_VOL 0x26 43#define CD_VOL 0x28 44#define LINE_VOL 0x2E 45#define IRQ_NR 0x80 46#define DMA_NR 0x81 47#define IRQ_STAT 0x82 48#define OPSW 0x3c 49 50/* 51 * Additional registers on the SG NX Pro 52 */ 53#define COVOX_VOL 0x42 54#define TREBLE_LVL 0x44 55#define BASS_LVL 0x46 56 57#define FREQ_HI (1 << 3)/* Use High-frequency ANFI filters */ 58#define FREQ_LOW 0 /* Use Low-frequency ANFI filters */ 59#define FILT_ON 0 /* Yes, 0 to turn it on, 1 for off */ 60#define FILT_OFF (1 << 5) 61 62#define MONO_DAC 0x00 63#define STEREO_DAC 0x02 64 65/* 66 * Mixer registers of SB16 67 */ 68#define SB16_OMASK 0x3c 69#define SB16_IMASK_L 0x3d 70#define SB16_IMASK_R 0x3e 71 72#define LEFT_CHN 0 73#define RIGHT_CHN 1 74 75/* 76 * 3DSE register of AWE32/64 77 */ 78#define AWE_3DSE 0x90 79 80/* 81 * Mixer registers of ALS007 82 */ 83#define ALS007_RECORD_SRC 0x6c 84#define ALS007_OUTPUT_CTRL1 0x3c 85#define ALS007_OUTPUT_CTRL2 0x4c 86 87#define MIX_ENT(name, reg_l, bit_l, len_l, reg_r, bit_r, len_r) \ 88 {{reg_l, bit_l, len_l}, {reg_r, bit_r, len_r}} 89 90/* 91 * Recording sources (SB Pro) 92 */ 93 94#define SRC__MIC 1 /* Select Microphone recording source */ 95#define SRC__CD 3 /* Select CD recording source */ 96#define SRC__LINE 7 /* Use Line-in for recording source */ 97 98/* 99 * Recording sources for ALS-007 100 */ 101 102#define ALS007_MIC 4 103#define ALS007_LINE 6 104#define ALS007_CD 2 105#define ALS007_SYNTH 7 106