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
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