📄 wm97registerdefs.h
字号:
/*-----------------------------------------------------------------------------
* Copyright (c) Wolfson Microelectronics plc. All rights reserved.
*
* This software as well as any related documentation is furnished under
* license and may only be used or copied in accordance with the terms of the
* license. The information in this file is furnished for informational use
* only, is subject to change without notice, and should not be construed as
* a commitment by Wolfson Microelectronics plc. Wolfson Microelectronics plc
* assumes no responsibility or liability for any errors or inaccuracies that
* may appear in this document or any software that may be provided in
* association with this document.
*
* Except as permitted by such license, no part of this document may be
* reproduced, stored in a retrieval system, or transmitted in any form or by
* any means without the express written consent of Wolfson Microelectronics plc.
*
* $Id: WM97RegisterDefs.h 2333 2005-10-20 14:06:34Z ib $
*
* The registers on the Wolfson WM97xx devices.
*
* Warning:
* This driver is specifically written for Wolfson Codecs. It is not a
* general CODEC device driver.
*
*---------------------------------------------------------------------------*/
#ifndef __WM97REGISTERDEFS_H__
#define __WM97REGISTERDEFS_H__
/*
* Include files
*/
#include "WM97AudioDefs.h"
#include "WMTouchDefs.h"
/*
* Register values.
*
* Note:
* 9703-specific codes also apply to 9707, 9708 and 9717.
* 9705-specific codes also apply to 9710.
* 9712-specific codes also apply to 9711.
* 9713-specific codes also apply to 9714.
*/
#define WM97_RESET 0x00
#define WM97_MASTER_VOLUME 0x02
#define WM97_SPEAKER_VOLUME 0x02
#define WM97_HEADPHONE 0x04
#define WM97_MASTER_VOLUME_MONO 0x06
#define WM9713_OUT3_4_VOLUME 0x06
#define WM9713_OUT3_VOLUME WM9713_OUT3_4_VOLUME
#define WM9713_OUT4_VOLUME WM9713_OUT3_4_VOLUME
#define WM97_DAC_TONE_CONTROL 0x08
#define WM9713_MONO_VOLUME 0x08
#define WM9713_MONO_OUT_VOLUME WM9713_MONO_VOLUME
#define WM9713_MONO_IN_VOLUME WM9713_MONO_VOLUME
#define WM97_PCBEEP 0x0A
#define WM9713_LINEIN_VOLUME 0x0A
#define WM97_PHONE_VOLUME 0x0C
#define WM9713_DAC_VOLUME 0x0C
#define WM97_MIC_VOLUME 0x0E
#define WM97_LINEIN_VOLUME 0x10
#define WM9713_MIC_ROUTING 0x10
#define WM97_CD_VOLUME 0x12
#define WM97_AUXDAC_VOLUME 0x12
#define WM9713_REC_VOLUME 0x12
#define WM97_VIDEO_VOLUME 0x14
#define WM97_SIDETONE_VOLUME 0x14
#define WM9713_REC_ROUTING 0x14
#define WM97_AUX_VOLUME 0x16
#define WM9712_OUT3_VOLUME 0x16
#define WM9713_PCBEEP_VOLUME 0x16
#define WM97_DAC_VOLUME 0x18
#define WM9713_VXDAC_VOLUME 0x18
#define WM97_REC_SELECT 0x1A
#define WM9713_AUXDAC_VOLUME 0x1A
#define WM97_REC_GAIN 0x1C
#define WM9713_OUTPUT_SELECT 0x1C
#define WM9713_3D_INV_MUX_CONTROL 0x1E
#define WM9713_3D_CONTROL WM9713_3D_INV_MUX_CONTROL
#define WM9713_INV_MUX_CONTROL WM9713_3D_INV_MUX_CONTROL
#define WM97_GENERAL 0x20
#define WM9713_DAC_TONE_CONTROL 0x20
#define WM97_3D_CONTROL 0x22
#define WM9713_MIC_SELECT 0x22
#define WM97_POWERDOWN 0x24
#define WM9713_OUTPUT_VOL_MAPPING 0x24
#define WM9713_JACK_INSERT 0x24
#define WM97_POWER_CONTROL 0x26
#define WM97_EXT_AUDIO_ID 0x28
#define WM97_AUDIO_CONTROL 0x2A
#define WM97_DAC_RATE 0x2C
#define WM97_FRONT_DAC_RATE 0x2C
#define WM97_REAR_DAC_RATE 0x2E
#define WM97_AUXDAC_RATE 0x2E
#define WM97_LFE_DAC_RATE 0x30
#define WM97_ADC_RATE 0x32
#define WM97_6CHVOL_C_LFE 0x36
#define WM9713_VOICE_CODEC_CONTROL 0x36
#define WM97_6CHVOL_LR_SURR 0x38
#define WM97_SPDIF_CONTROL 0x3A
#define WM97_EXT_MODEM_ID 0x3C
#define WM9713_EXT_POWERDOWN_1 0x3C
#define WM97_EXT_MODEM_STATUS 0x3E
#define WM9713_EXT_POWERDOWN_2 0x3E
#define WM97_LINE1_SAMPLE_RATE 0x40
#define WM9713_GENERAL 0x40
#define WM97_LINE2_SAMPLE_RATE 0x42
#define WM9713_FAST_POWER_CONTROL 0x42
#define WM9713_MCLK_CONTROL_1 0x44
#define WM97_LINE1_LEVEL 0x46
#define WM9713_MCLK_CONTROL_2 0x46
#define WM97_LINE2_LEVEL 0x48
#define WM97_GPIO_PIN_CONFIG 0x4C
#define WM97_GPIO_PIN_TYPE 0x4E
#define WM97_GPIO_PIN_POLARITY 0x4E
#define WM97_GPIO_STICKY 0x50
#define WM97_GPIO_PIN_STICKY 0x50
#define WM97_GPIO_WAKEUP 0x52
#define WM97_GPIO_PIN_WAKEUP 0x52
#define WM97_GPIO_PIN_STATUS 0x54
#define WM97_MISC_MODEM_CONTROL 0x56
#define WM97_GPIO_PIN_ASSIGN 0x56
#define WM97_ADD_FUN 0x58
#define WM9713_GPIO_PULL_UP_CONTROL 0x58
#define WM9704_TEST1 0x5A
#define WM9705_MIXER_PATH_MUTE 0x5A
#define WM9712_ADD_FUN2 0x5A
#define WM9713_ADD_FUN1 0x5A
#define WM97_ADD_FUN_CONTROL 0x5C
#define WM9707_SPDIF_CONTROL 0x5C
#define WM9703_RESERVED WM9707_SPDIF_CONTROL
#define WM9713_ADD_FUN2 0x5C
#define WM9712_RESERVED_2 0x5E
#define WM97_ALC_CONTROL 0x60
#define WM97_ALC_NOISE_GATE_CONTROL 0x62
#define WM97_AUXDAC_INPUT_CONTROL 0x64
#define WM9713_RESERVED_1 0x68
#define WM9713_RESERVED_2 0x6A
#define WM9713_RESERVED_3 0x6C
#define WM9713_RESERVED_4 0x6E
#define WM97_REAR_VOICEOUT_VOLUME 0x70
#define WM97_FRONT_MIXER_VOLUME 0x72
#define WM97_SURROUND_SOUND 0x74
#define WM97_REAR_MIXER_VOLUME 0x74
#define WM9705_ADD_FUN 0x74
#define WM9712_RESERVED_3 0x74
#define WM97_DIGITISER_ADCSEL 0x74
#define WM9713_DIGITISER_REG1 WM97_DIGITISER_ADCSEL
#define WM97_DIGITISER_CONTROL 0x76
#define WM9713_DIGITISER_REG2 WM97_DIGITISER_CONTROL
#define WM97_DIGITISER_SETUP 0x78
#define WM9713_DIGITISER_REG3 WM97_DIGITISER_SETUP
#define WM97_DIGITISER_DATA 0x7A
#define WM97_DIGITIZER_ADCSEL WM97_DIGITISER_ADCSEL
#define WM9713_DIGITIZER_REG1 WM9713_DIGITISER_REG1
#define WM97_DIGITIZER_CONTROL WM97_DIGITISER_CONTROL
#define WM9713_DIGITIZER_REG2 WM9713_DIGITISER_REG2
#define WM97_DIGITIZER_SETUP WM97_DIGITISER_SETUP
#define WM9713_DIGITIZER_REG3 WM9713_DIGITISER_REG3
#define WM97_DIGITIZER_DATA WM97_DIGITISER_DATA
#define WM97_VENDOR_ID1 0x7C
#define WM97_VENDOR_ID2 0x7E
#define WM97_REGISTER_COUNT 0x40
#define WM97_MAX_REGISTER 0x7E
/*
* Mask for AC97 registers.
*/
#define WM_WHOLE_REGISTER 0xFFFF
#define WM_UPPER_FIELD_MASK 0xFF00
#define WM_LOWER_FIELD_MASK 0x00FF
/*
* Power management (register 26h).
*/
/* power management bits */
#define WM97_PWR_ADC_ON (0x1)
#define WM97_PWR_DAC_ON (0x1U<<1)
#define WM97_PWR_ANL_ON (0x1U<<2)
#define WM97_PWR_REF_ON (0x1U<<3)
#define WM97_PWR_PR0 (0x1U<<8)
#define WM97_PWR_PR1 (0x1U<<9)
#define WM97_PWR_PR2 (0x1U<<10)
#define WM97_PWR_PR3 (0x1U<<11)
#define WM97_PWR_PR4 (0x1U<<12)
#define WM97_PWR_PR5 (0x1U<<13)
#define WM97_PWR_PR6 (0x1U<<14)
#define WM97_PWR_EAPD (0x1U<<15)
/* And now some useful names */
#define WM97_PWR_ADC WM97_PWR_PR0
#define WM97_PWR_DAC WM97_PWR_PR1
#define WM97_PWR_MIXERS WM97_PWR_PR2
#define WM97_PWR_VREF WM97_PWR_PR3
#define WM97_PWR_ACLINK WM97_PWR_PR4
#define WM97_PWR_CLOCK WM97_PWR_PR5
#define WM97_PWR_OUTPUTS WM97_PWR_PR6
/* smart power bits */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -