?? ad1981b.h
字號:
/* ----------------------------------------------------------------------------
* ATMEL Microcontroller Software Support
* ----------------------------------------------------------------------------
* Copyright (c) 2008, Atmel Corporation
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the disclaimer below.
*
* Atmel's name may not be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* ----------------------------------------------------------------------------
*/
#ifndef AC97_AD1981B_H
#define AC97_AD1981B_H
//------------------------------------------------------------------------------
// External constants
//------------------------------------------------------------------------------
#define AD1981B_CMD(cmd, data) (((cmd << 16) & AT91C_AC97C_CADDR) | data)
#define AD1981B_RESET 0x00 // Reset
#define AD1981B_RESET_ID0 (1 << 0)
#define AD1981B_RESET_ID1 (1 << 1)
#define AD1981B_RESET_ID2 (1 << 2)
#define AD1981B_RESET_ID3 (1 << 3)
#define AD1981B_RESET_ID4 (1 << 4)
#define AD1981B_RESET_ID5 (1 << 5)
#define AD1981B_RESET_ID6 (1 << 6)
#define AD1981B_RESET_ID7 (1 << 7)
#define AD1981B_RESET_ID8 (1 << 8)
#define AD1981B_RESET_ID9 (1 << 9)
#define AD1981B_MASTER 0x02 // Master Volume
#define AD1981B_MASTER_RMV0 (1 << 0)
#define AD1981B_MASTER_RMV1 (1 << 1)
#define AD1981B_MASTER_RMV2 (1 << 2)
#define AD1981B_MASTER_RMV3 (1 << 3)
#define AD1981B_MASTER_RMV4 (1 << 4)
#define AD1981B_MASTER_RM (1 << 7)
#define AD1981B_MASTER_LMV0 (1 << 8)
#define AD1981B_MASTER_LMV1 (1 << 9)
#define AD1981B_MASTER_LMV2 (1 << 10)
#define AD1981B_MASTER_LMV3 (1 << 11)
#define AD1981B_MASTER_LMV4 (1 << 12)
#define AD1981B_MASTER_MM (1 << 15)
#define AD1981B_HEADPHONE 0x04 // Headphone Volume (optional)
#define AD1981B_HEADPHONE_RHV0 (1 << 0)
#define AD1981B_HEADPHONE_RHV1 (1 << 1)
#define AD1981B_HEADPHONE_RHV2 (1 << 2)
#define AD1981B_HEADPHONE_RHV3 (1 << 3)
#define AD1981B_HEADPHONE_RHV4 (1 << 4)
#define AD1981B_HEADPHONE_RM (1 << 7)
#define AD1981B_HEADPHONE_LHV0 (1 << 8)
#define AD1981B_HEADPHONE_LHV1 (1 << 9)
#define AD1981B_HEADPHONE_LHV2 (1 << 10)
#define AD1981B_HEADPHONE_LHV3 (1 << 11)
#define AD1981B_HEADPHONE_LHV4 (1 << 12)
#define AD1981B_HEADPHONE_HPM (1 << 15)
#define AD1981B_MASTER_MONO 0x06 // Master Volume Mono (optional)
#define AD1981B_MASTER_TONE 0x08 // Master Tone (Bass & Treble) (optional)
#define AD1981B_PC_BEEP 0x0a // PC Beep Volume (optinal)
#define AD1981B_PHONE 0x0c // Phone Volume (optional)
#define AD1981B_MIC 0x0e // MIC Volume
#define AD1981B_LINE 0x10 // Line In Volume
#define AD1981B_CD 0x12 // CD Volume
#define AD1981B_VIDEO 0x14 // Video Volume (optional)
#define AD1981B_AUX 0x16 // AUX Volume (optional)
#define AD1981B_PCM 0x18 // PCM Volume
#define AD1981B_REC_SEL 0x1a // Record Select
#define AD1981B_REC_GAIN 0x1c // Record Gain
#define AD1981B_REC_GAIN_MIC 0x1e // Record Gain MIC (optional)
#define AD1981B_GENERAL_PURPOSE 0x20 // General Purpose (optional)
#define AD1981B_3D_CONTROL 0x22 // 3D Control (optional)
#define AD1981B_INT_PAGING 0x24 // Audio Interrupt & Paging (AC'97 2.3)
#define AD1981B_POWERDOWN 0x26 // Powerdown control / status
#define AD1981B_GENPURPOSE_LPBK (1 << 7)
#define AD1981B_GENPURPOSE_LPBK_NO (0 << 7)
#define AD1981B_GENPURPOSE_LPBK_YES (1 << 7)
#define AD1981B_GENPURPOSE_MS (1 << 8)
#define AD1981B_GENPURPOSE_MS_MIC1 (0 << 8)
#define AD1981B_GENPURPOSE_MS_MIC2 (1 << 8)
#define AD1981B_GENPURPOSE_MIX (1 << 9)
#define AD1981B_GENPURPOSE_MIX_MONO (0 << 9)
#define AD1981B_GENPURPOSE_MIX_MIC1 (1 << 9)
#define AD1981B_EXTAUDIO 0x2A
#define AD1981B_EXTAUDIO_VRA (1 << 0) // Variable Rate Audio
#define AD1981B_EXTAUDIO_SPDIF (1 << 2) // Subsystem Enable/Disable
#define AD1981B_EXTAUDIO_SPSA (3 << 4) // SPDIF Slot Assignment
#define AD1981B_EXTAUDIO_SPCV (1 << 10) // SPDIF Configuration Valid
#define AD1981B_EXTAUDIO_VFORCE (1 << 15) // Validity Force Bit
#define AD1981B_PMC_DAC 0x2C
#define AD1981B_PMC_ADC 0x32
#define AD1981B_SERIAL_CONFIG 0x74 // Serial configuration
#define AD1981B_SERIAL_CONFIG_SPLNK (1 << 0) // SPDIF Link
#define AD1981B_SERIAL_CONFIG_REGM0 (1 << 12) // Master Codec REG Mask
#define AD1981B_SERIAL_CONFIG_REGM1 (1 << 13) // Slave1 Codec REG Mask
#define AD1981B_SERIAL_CONFIG_REGM2 (1 << 14) // Slave2 Codec REG Mask
#define AD1981B_MISC_CONTROL 0x76 // Miscellaneous control
#define AD1981B_MISC_CONTROL_FMXE (1 << 9) // Front DAC into Mixer Enable
#define AD1981B_SAMPLE_RATE_0 0x78 // set up the equalizer coefficients.
#define AD1981B_SAMPLE_RATE_1 0x7A // set up the equalizer coefficients.
#define AD1981B_VENDOR_ID1 0x7C // Vendor 1
#define AD1981B_VENDOR_ID2 0x7E // Vendor 2
#define AD1981B_ID_1 0x4144
#define AD1981B_ID_2 0x5374
#endif //#ifndef AC97_AD1981B_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -