ad1816.h revision 51766
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: head/sys/dev/sound/isa/ad1816.h 51766 1999-09-28 20:00:06Z cg $ 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 72