1 /*- 2 * Copyright (c) 2000 The NetBSD Foundation, Inc. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to The NetBSD Foundation 6 * by Tyler C. Sarna. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 3. All advertising materials mentioning features or use of this software 17 * must display the following acknowledgement: 18 * This product includes software developed by the NetBSD 19 * Foundation, Inc. and its contributors. 20 * 4. Neither the name of The NetBSD Foundation nor the names of its 21 * contributors may be used to endorse or promote products derived 22 * from this software without specific prior written permission. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 25 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 26 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 28 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34 * POSSIBILITY OF SUCH DAMAGE. 35 * 36 * $FreeBSD$ 37 */ 38 39 #ifndef _VIA_H 40 #define _VIA_H 41 42 /* 43 * VIA Technologies VT82C686A Southbridge Audio Driver 44 * 45 * Documentation links: 46 * 47 * ftp://ftp.alsa-project.org/pub/manuals/via/686a.pdf 48 * ftp://ftp.alsa-project.org/pub/manuals/general/ac97r21.pdf 49 * ftp://ftp.alsa-project.org/pub/manuals/ad/AD1881_0.pdf (example AC'97 codec) 50 */ 51 52 #define VIA_PCICONF_MISC 0x41 53 #define VIA_PCICONF_ACLINKENAB 0x80 /* ac link enab */ 54 #define VIA_PCICONF_ACNOTRST 0x40 /* ~(ac reset) */ 55 #define VIA_PCICONF_ACSYNC 0x20 /* ac sync */ 56 #define VIA_PCICONF_ACVSR 0x08 /* var. samp. rate */ 57 #define VIA_PCICONF_ACSGD 0x04 /* SGD enab */ 58 #define VIA_PCICONF_ACFM 0x02 /* FM enab */ 59 #define VIA_PCICONF_ACSB 0x01 /* SB enab */ 60 #define VIA_PCICONF_FUNC_EN 0x42 61 62 #define VIA_PLAY_BASE 0x00 63 #define VIA_REC_BASE 0x10 64 65 #define VIA_RP_STAT 0x00 66 #define VIA_RPSTAT_INTR 0x03 67 68 #define VIA_RP_CONTROL 0x01 69 #define VIA_RPCTRL_START 0x80 70 #define VIA_RPCTRL_TERMINATE 0x40 71 #define VIA_RPCTRL_AUTOSTART 0x20 72 /* The following are 8233 specific */ 73 #define VIA_RPCTRL_I_STOP 0x04 74 #define VIA_RPCTRL_I_EOL 0x02 75 #define VIA_RPCTRL_I_FLAG 0x01 76 77 #define VIA_RP_MODE 0x02 78 #define VIA_RPMODE_INTR_FLAG 0x01 79 #define VIA_RPMODE_INTR_EOL 0x02 80 #define VIA_RPMODE_STEREO 0x10 81 #define VIA_RPMODE_16BIT 0x20 82 #define VIA_RPMODE_AUTOSTART 0x80 83 84 #define VIA_RP_DMAOPS_BASE 0x04 85 86 #define VIA8233_RP_DXS_LVOL 0x02 87 #define VIA8233_RP_DXS_RVOL 0x03 88 #define VIA8233_RP_RATEFMT 0x08 89 #define VIA8233_RATEFMT_48K 0xfffff 90 #define VIA8233_RATEFMT_STEREO 0x00100000 91 #define VIA8233_RATEFMT_16BIT 0x00200000 92 93 #define VIA_RP_DMAOPS_COUNT 0x0C 94 95 #define VIA_CODEC_CTL 0x80 96 #define VIA_CODEC_READ 0x00800000 97 #define VIA_CODEC_BUSY 0x01000000 98 #define VIA_CODEC_PRIVALID 0x02000000 99 #define VIA_CODEC_INDEX(x) ((x)<<16) 100 101 #define AC97_REG_EXT_AUDIO_ID 0x28 102 #define AC97_CODEC_DOES_VRA 0x0001 103 #define AC97_CODEC_DOES_MICVRA 0x0008 104 #define AC97_REG_EXT_AUDIO_STAT 0x2A 105 #define AC97_ENAB_VRA 0x0001 106 #define AC97_ENAB_MICVRA 0x0008 107 #define AC97_REG_EXT_DAC_RATE 0x2C 108 #define AC97_REG_EXT_ADC_RATE 0x32 109 110 #endif /* _VIA_H */ 111