| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |