| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
| Uwe Zeisberger | f30c226 | 2006-10-03 23:01:26 +0200 | [diff] [blame] | 2 | * sound/oss/sb_mixer.h | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |