1 /*-
2 * (C) 1997 Luigi Rizzo (luigi@iet.unipi.it)
3 *
4 * This file contains information and macro definitions for
5 * the ad1816 chip
6 *
7 * $FreeBSD: src/sys/dev/sound/isa/ad1816.h,v 1.1.12.1 2005/01/30 01:00:03 imp Exp $
8 */
9
10 /* AD1816 register macros */
11
12 #define AD1816_ALE 0 /* indirect reg access */
13 #define AD1816_INT 1 /* interupt status */
14 #define AD1816_LOW 2 /* indirect low byte */
15 #define AD1816_HIGH 3 /* indirect high byte */
16
17 #if 0
18 #define ad1816_pioD(d) ((d)->io_base+4) /* PIO debug */
19 #define ad1816_pios(d) ((d)->io_base+5) /* PIO status */
20 #define ad1816_piod(d) ((d)->io_base+6) /* PIO data */
21 #endif
22
23 /* values for playback/capture config:
24 bits: 0 enable/disable
25 1 pio/dma
26 2 stereo/mono
27 3 companded/linearPCM
28 4-5 format : 00 8bit linear (uncomp)
29 00 8bit mulaw (comp)
30 01 16bit le (uncomp)
31 01 8bit alaw (comp)
32 11 16bit be (uncomp)
33 */
34
35 #define AD1816_PLAY 8 /* playback config */
36 #define AD1816_CAPT 9 /* capture config */
37
38 #define AD1816_BUSY 0x80 /* chip is busy */
39 #define AD1816_ALEMASK 0x3F /* mask for indirect adr. */
40
41 #if 0
42 #define AD1816_INTRSI 0x01 /* sb intr */
43 #define AD1816_INTRGI 0x02 /* game intr */
44 #define AD1816_INTRRI 0x04 /* ring intr */
45 #define AD1816_INTRDI 0x08 /* dsp intr */
46 #define AD1816_INTRVI 0x10 /* vol intr */
47 #define AD1816_INTRTI 0x20 /* timer intr */
48 #endif
49
50 #define AD1816_INTRCI 0x40 /* capture intr */
51 #define AD1816_INTRPI 0x80 /* playback intr */
52 /* PIO stuff is not supplied here */
53 /* playback / capture config */
54 #define AD1816_ENABLE 0x01 /* enable pl/cp */
55 #define AD1816_PIO 0x02 /* use pio */
56 #define AD1816_STEREO 0x04
57 #define AD1816_COMP 0x08 /* data is companded */
58 #define AD1816_U8 0x00 /* 8 bit linear pcm */
59 #define AD1816_MULAW 0x08 /* 8 bit mulaw */
60 #define AD1816_ALAW 0x18 /* 8 bit alaw */
61 #define AD1816_S16LE 0x10 /* 16 bit linear little endian */
62 #define AD1816_S16BE 0x30 /* 16 bit linear big endian */
63 #define AD1816_FORMASK 0x38 /* format mask */
64
65 #define AD1816_REC_DEVICES \
66 (SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD)
67
68 #define AD1816_MIXER_DEVICES \
69 (SOUND_MASK_VOLUME | SOUND_MASK_PCM | SOUND_MASK_SYNTH | \
70 SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD | SOUND_MASK_IGAIN)
71
Cache object: 8c166963eb251c2031c452dda4b5f166
|