Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / sound / oss / sb_mixer.h
blobab74426157ba7a185b4a9f81598b206e4ac82388
1 /*
2 * sound/sb_mixer.h
3 *
4 * Definitions for the SB Pro and SB16 mixers
5 */
6 /*
7 * Copyright (C) by Hannu Savolainen 1993-1997
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.
15 * Modified:
16 * Hunyue Yau Jan 6 1994
17 * Added defines for the Sound Galaxy NX Pro mixer.
19 * Rolf Fokkens Dec 20 1998
20 * Added defines for some ES188x chips.
22 * Rolf Fokkens Dec 27 1998
23 * Moved static stuff to sb_mixer.c
27 * Mixer registers
29 * NOTE! RECORD_SRC == IN_FILTER
32 /*
33 * Mixer registers of SB Pro
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
51 * Additional registers on the SG NX Pro
53 #define COVOX_VOL 0x42
54 #define TREBLE_LVL 0x44
55 #define BASS_LVL 0x46
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)
62 #define MONO_DAC 0x00
63 #define STEREO_DAC 0x02
66 * Mixer registers of SB16
68 #define SB16_OMASK 0x3c
69 #define SB16_IMASK_L 0x3d
70 #define SB16_IMASK_R 0x3e
72 #define LEFT_CHN 0
73 #define RIGHT_CHN 1
76 * 3DSE register of AWE32/64
78 #define AWE_3DSE 0x90
81 * Mixer registers of ALS007
83 #define ALS007_RECORD_SRC 0x6c
84 #define ALS007_OUTPUT_CTRL1 0x3c
85 #define ALS007_OUTPUT_CTRL2 0x4c
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}}
91 * Recording sources (SB Pro)
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 */
99 * Recording sources for ALS-007
102 #define ALS007_MIC 4
103 #define ALS007_LINE 6
104 #define ALS007_CD 2
105 #define ALS007_SYNTH 7