]>
Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
f30c2269 | 2 | * sound/oss/sb_mixer.h |
1da177e4 LT |
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 |