summaryrefslogtreecommitdiffstats
path: root/sys/gnu/dev
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2004-01-09 05:05:04 +0000
committerobrien <obrien@FreeBSD.org>2004-01-09 05:05:04 +0000
commit0c547176138913282a4113ab2ea46ebda9402d5c (patch)
tree08155721c69486a035de9c924b0bca3182313c99 /sys/gnu/dev
parent3d5dc30c69f4178b7437b7f32645937674acd6fb (diff)
downloadFreeBSD-src-0c547176138913282a4113ab2ea46ebda9402d5c.zip
FreeBSD-src-0c547176138913282a4113ab2ea46ebda9402d5c.tar.gz
Vendor import revision 1.9 of ac97_codec.h (we renamed the file) from
http://cvs.sourceforge.net/viewcvs.py/emu10k1/emu10k1/ac97_codec.h
Diffstat (limited to 'sys/gnu/dev')
-rw-r--r--sys/gnu/dev/sound/pci/emu10k1-ac97.h44
1 files changed, 42 insertions, 2 deletions
diff --git a/sys/gnu/dev/sound/pci/emu10k1-ac97.h b/sys/gnu/dev/sound/pci/emu10k1-ac97.h
index 26b980c..6af0528 100644
--- a/sys/gnu/dev/sound/pci/emu10k1-ac97.h
+++ b/sys/gnu/dev/sound/pci/emu10k1-ac97.h
@@ -32,7 +32,7 @@
#define AC97_PCM_FRONT_DAC_RATE 0x002C /* PCM Front DAC Rate */
#define AC97_PCM_SURR_DAC_RATE 0x002E /* PCM Surround DAC Rate */
#define AC97_PCM_LFE_DAC_RATE 0x0030 /* PCM LFE DAC Rate */
-#define AC97_PCM_LR_ADC_RATE 0x0032 /* PCM LR DAC Rate */
+#define AC97_PCM_LR_ADC_RATE 0x0032 /* PCM LR ADC Rate */
#define AC97_PCM_MIC_ADC_RATE 0x0034 /* PCM MIC ADC Rate */
#define AC97_CENTER_LFE_MASTER 0x0036 /* Center + LFE Master Volume */
#define AC97_SURROUND_MASTER 0x0038 /* Surround (Rear) Master Volume */
@@ -143,6 +143,39 @@
#define AC97_PWR_PR6 0x4000 /* HP amp powerdown */
#define AC97_PWR_PR7 0x8000 /* Modem off - if supported */
+/* extended audio ID register bit defines */
+#define AC97_EXTID_VRA 0x0001
+#define AC97_EXTID_DRA 0x0002
+#define AC97_EXTID_SPDIF 0x0004
+#define AC97_EXTID_VRM 0x0008
+#define AC97_EXTID_DSA0 0x0010
+#define AC97_EXTID_DSA1 0x0020
+#define AC97_EXTID_CDAC 0x0040
+#define AC97_EXTID_SDAC 0x0080
+#define AC97_EXTID_LDAC 0x0100
+#define AC97_EXTID_AMAP 0x0200
+#define AC97_EXTID_REV0 0x0400
+#define AC97_EXTID_REV1 0x0800
+#define AC97_EXTID_ID0 0x4000
+#define AC97_EXTID_ID1 0x8000
+
+/* extended status register bit defines */
+#define AC97_EXTSTAT_VRA 0x0001
+#define AC97_EXTSTAT_DRA 0x0002
+#define AC97_EXTSTAT_SPDIF 0x0004
+#define AC97_EXTSTAT_VRM 0x0008
+#define AC97_EXTSTAT_SPSA0 0x0010
+#define AC97_EXTSTAT_SPSA1 0x0020
+#define AC97_EXTSTAT_CDAC 0x0040
+#define AC97_EXTSTAT_SDAC 0x0080
+#define AC97_EXTSTAT_LDAC 0x0100
+#define AC97_EXTSTAT_MADC 0x0200
+#define AC97_EXTSTAT_SPCV 0x0400
+#define AC97_EXTSTAT_PRI 0x0800
+#define AC97_EXTSTAT_PRJ 0x1000
+#define AC97_EXTSTAT_PRK 0x2000
+#define AC97_EXTSTAT_PRL 0x4000
+
/* useful power states */
#define AC97_PWR_D0 0x0000 /* everything on */
#define AC97_PWR_D1 AC97_PWR_PR0|AC97_PWR_PR1|AC97_PWR_PR4
@@ -158,7 +191,7 @@
#define AC97_STEREO_MASK (SOUND_MASK_VOLUME|SOUND_MASK_PCM|\
SOUND_MASK_LINE|SOUND_MASK_CD|\
SOUND_MASK_ALTPCM|SOUND_MASK_IGAIN|\
- SOUND_MASK_LINE1|SOUND_MASK_VIDEO|SOUND_MASK_IMIX)
+ SOUND_MASK_LINE1|SOUND_MASK_VIDEO)
#define AC97_SUPPORTED_MASK (AC97_STEREO_MASK | \
SOUND_MASK_BASS|SOUND_MASK_TREBLE|\
@@ -189,6 +222,8 @@ struct ac97_codec {
int dev_mixer;
int type;
+ int modem:1;
+
struct ac97_ops *codec_ops;
/* controller specific lower leverl ac97 accessing routines */
@@ -204,6 +239,9 @@ struct ac97_codec {
int stereo_mixers;
int record_sources;
+ /* Property flags */
+ int flags;
+
int bit_resolution;
/* OSS mixer interface */
@@ -232,6 +270,8 @@ struct ac97_ops
int (*amplifier)(struct ac97_codec *codec, int on);
/* Digital mode control */
int (*digital)(struct ac97_codec *codec, int format);
+#define AC97_DELUDED_MODEM 1 /* Audio codec reports its a modem */
+#define AC97_NO_PCM_VOLUME 2 /* Volume control is missing */
};
extern int ac97_read_proc (char *page_out, char **start, off_t off,
OpenPOWER on IntegriCloud