ics2101reg.h revision 1.1 1 1.1 brezak /* $NetBSD: ics2101reg.h,v 1.1 1995/07/19 19:58:33 brezak Exp $ */
2 1.1 brezak /*
3 1.1 brezak * Copyright (c) 1994, 1995 Ken Hornstein. All rights reserved.
4 1.1 brezak * Copyright (c) 1995 John T. Kohl. All rights reserved.
5 1.1 brezak *
6 1.1 brezak * Redistribution and use in source and binary forms, with or without
7 1.1 brezak * modification, are permitted provided that the following conditions
8 1.1 brezak * are met:
9 1.1 brezak * 1. Redistributions of source code must retain the above copyright
10 1.1 brezak * notice, this list of conditions and the following disclaimer.
11 1.1 brezak * 2. Redistributions in binary form must reproduce the above copyright
12 1.1 brezak * notice, this list of conditions and the following disclaimer in the
13 1.1 brezak * documentation and/or other materials provided with the distribution.
14 1.1 brezak * 3. All advertising materials mentioning features or use of this software
15 1.1 brezak * must display the following acknowledgement:
16 1.1 brezak * This product includes software developed by Ken Hornstein.
17 1.1 brezak * 4. The name of the authors may not be used to endorse or promote products
18 1.1 brezak * derived from this software without specific prior written permission.
19 1.1 brezak *
20 1.1 brezak * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
21 1.1 brezak * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22 1.1 brezak * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23 1.1 brezak * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24 1.1 brezak * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 1.1 brezak * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 1.1 brezak * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 1.1 brezak * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 1.1 brezak * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 1.1 brezak * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 1.1 brezak *
31 1.1 brezak * $Id: ics2101reg.h,v 1.1 1995/07/19 19:58:33 brezak Exp $
32 1.1 brezak */
33 1.1 brezak
34 1.1 brezak /*
35 1.1 brezak * Register defs for Integrated Circuit Systems, Inc. ICS-2101 mixer
36 1.1 brezak * chip, used on Gravis UltraSound cards.
37 1.1 brezak *
38 1.1 brezak * Block diagram:
39 1.1 brezak * port #
40 1.1 brezak * 0 +----+
41 1.1 brezak * Mic in (Right/Left) -->--->---| |
42 1.1 brezak * 1 | | amp --->---- amp out
43 1.1 brezak * Line in (Right/Left) -->--->---| | |
44 1.1 brezak * 2 | | |
45 1.1 brezak * CD in (Right/Left) -->--->---| |--->---+---+----->---- line out
46 1.1 brezak * 3 | | |
47 1.1 brezak * GF1 Out (Right/Left) -->--->---| | |
48 1.1 brezak * 4 | | |
49 1.1 brezak * Unused (Right/Left) -->--->---| | |
50 1.1 brezak * +----+ v
51 1.1 brezak * ICS 2101 |
52 1.1 brezak * |
53 1.1 brezak * To GF1 Sample Input ---<---------------+
54 1.1 brezak *
55 1.1 brezak * Master output volume: mixer channel #5
56 1.1 brezak */
57 1.1 brezak
58 1.1 brezak /*
59 1.1 brezak * ICS Mixer registers
60 1.1 brezak */
61 1.1 brezak
62 1.1 brezak #define ICSMIX_CTRL_LEFT 0x00 /* Control left channel */
63 1.1 brezak #define ICSMIX_CTRL_RIGHT 0x01 /* Control right channel */
64 1.1 brezak #define ICSMIX_ATTN_LEFT 0x02 /* Attenuate left channel */
65 1.1 brezak #define ICSMIX_ATTN_RIGHT 0x03 /* Attenutate right channel */
66 1.1 brezak #define ICSMIX_PAEN 0x04 /* Panning control */
67 1.1 brezak #define ICSMIX_CHAN_0 0 /* Values for mixer channels */
68 1.1 brezak #define ICSMIX_CHAN_1 1
69 1.1 brezak #define ICSMIX_CHAN_2 2
70 1.1 brezak #define ICSMIX_CHAN_3 3
71 1.1 brezak #define ICSMIX_CHAN_4 4
72 1.1 brezak #define ICSMIX_CHAN_5 5
73 1.1 brezak
74 1.1 brezak #define ICSMIX_MIN_ATTN 0x7f
75 1.1 brezak #define ICSMIX_MAX_ATTN 0x00
76 1.1 brezak /*
77 1.1 brezak * The ICS mixer is write-only--it cannot be queried for current settings.
78 1.1 brezak * Drivers must keep track of current values themselves.
79 1.1 brezak */
80