⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw_wm8987.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
字号:
/*********************************************************************************
*     Copyright (C),2004-2005,  Fuzhou Rockchip Co.,Ltd.
*         All Rights Reserved
*          V1.00
* FileName :  Hw_WM8987.h
* Author :  lzy
* Description:
* History  :
*   <author>  <time>    <version>    <desc>
*    lzy        07/6/29        1.0     ORG
*
$Log: hw_wm8987.h,v $
Revision 1.2  2007/11/14 01:42:26  Huangxinyu
重新调试WM8987后的更新

Revision 1.1  2007/10/15 08:57:16  Huangxinyu
根据RK27提交修改driver


*********************************************************************************/
#ifndef _WM8987_H
#define _WM8987_H

#define       WM8987_R0           0x00      //Left input volume
#define       WM8987_R1           0x01      //Right input volume
#define       WM8987_R2           0x02      //Lout1 volume
#define       WM8987_R3           0x03      //Rout1 volume 
#define       WM8987_R4           0x04      //Reserved
#define       WM8987_R5           0x05      //ADC&DAC control
#define       WM8987_R6           0x06      //Reserved 
#define       WM8987_R7           0x07      //Audio interface
#define       WM8987_R8           0x08      //Sample rate
#define       WM8987_R9           0x09      //Reserved 
#define       WM8987_R10          0x0a      //Left DAC volume
#define       WM8987_R11          0x0b      //Right DAC volume
#define       WM8987_R12          0x0c      //Bass control
#define       WM8987_R13          0x0d      //Treble control
#define       WM8987_R15          0x0f      //Reset               
#define       WM8987_R16          0x10     // //3D control          
#define       WM8987_R17          0x11      //ALC1                
#define       WM8987_R18          0x12      //ALC2                
#define       WM8987_R19          0x13      //ALC3                
#define       WM8987_R20          0x14      //Noise Gate          
#define       WM8987_R21          0x15      //Left ADC volume     
#define       WM8987_R22          0x16      //Right ADC volume    
#define       WM8987_R23          0x17      //Additional control1 
#define       WM8987_R24          0x18      //Additional control2 
#define       WM8987_R25          0x19      //Pwr Mgmt1            
#define       WM8987_R26          0x1a      //Pwr Mgmt2
#define       WM8987_R27          0x1b      //Additional control3
#define       WM8987_R31          0x1f      //ADC input mode
#define       WM8987_R32          0x20      //ADCL signal path
#define       WM8987_R33          0x21      //ADCR signal path
#define       WM8987_R34          0x22      //Left out mix1
#define       WM8987_R35          0x23      //Left out mix2
#define       WM8987_R36          0x24      //Right out Mix1
#define       WM8987_R37          0x25      //Right out Mix2
#define       WM8987_R38          0x26      //Mono out mix1
#define       WM8987_R39          0x27      //Mono out mix2
#define       WM8987_R40          0x28      //Lout2 volume
#define       WM8987_R41          0x29      //Rout2 volume
#define       WM8987_R42          0x2a      //Monoout volume

//WM8987_R7
#define   WM_MASTER_MODE 0x40
#define   WM_SLAVE_MODE 0x00
#define  WM_16BIT_MODE (0x0<<2)
#define  WM_24BIT_MODE (0x2<<2)
#define  WM_DSP_MODE  0x03
#define     WM_I2S_MODE  0x02

//WM8987_R8
#define   WM_BCKdiv4               (1<<7)
#define   WM_BCKdiv8               (2<<7)
#define   WM_CLKDIV2  0x40

#define  FREQ96kHz    (0x0e<<1)
#define  FREQ48kHz    (0x00<<1)
#define  FREQ441kHz   (0x11<<1)
#define  FREQ32kHz   (0x0c<<1)
#define  FREQ24kHz   (0x1c<<1)
#define  FREQ2205kHz  (0x1b<<1)
#define  FREQ16kHz   (0x0a<<1)
#define  FREQ12kHz   (0x08<<1)
#define  FREQ11025kHz  (0x19<<1)
//#define  FREQ9k6Hz   0x09
#define  FREQ8kHz   (0x06<<1)
#define  WM_USB_MODE  0x01|WM_BCKdiv8

#define   WM_VOL_MUTE  0x00
#define   WM_VOL_0DB  0xff
#define   WM_UPDATE_VOL 0x100

//PM1 WM8987_R25
#define   WM_VMID50k  0x080
#define   WM_VREF   0x40
#define  WM_AINL   0x20
#define  WM_AINR   0x10
#define WM_ADCL   0x08
#define WM_ADCR   0x04
#define WM_MICB   0x02
#define   WM_DIGENB   0x01

//PM2  WM8987_R26
#define   WM_DACL   0x100
#define   WM_DACR   0x80
#define  WM_LOUT1   0x40
#define  WM_ROUT1   0x20
#define  WM_LOUT2   0x10
#define  WM_ROUT2   0x08
#define WM_MONO   0x04
#define   WM_OUT3   0x02

// WM8987_R34  Left out mix1
#define  LD2LO    0x100
#define  LI2LO    0x80
#define  LO0DB    0x20

//WM8987_R36  Right out Mix1
#define  RD2RO    0x100
#define  RI2RO    0x80
#define  RO0DB    0x20

#define  Bass_control  WM8987_R12
#define  Treble_control  WM8987_R13
#define  EQ3D_enhance  WM8987_R16

typedef  enum EQ_Mode
{
    EQ_Flat = 0,
    EQ_Rock = 1,
    EQ_Pop = 2,
    EQ_Jazz = 3,
    EQ_Classcial  = 4,
    EQ_Dance  = 5,
    EQ_Heavy  = 6,
    EQ_Disco = 7,
    EQ_Soft = 8,
    EQ_3D = 9,
    EQ_Hall = 10,
    EQ_End
} EQ_Mode_t;


#define  Bass_Linear   0x00
#define  Bass_Adaptive  0x80

#define Bass_Cut130  0x00
#define Bass_Cut200  0x40

#define   Treble_Cut4k 0x40
#define   Treble_Cut8k 0x00

#define EQ_P9DB 0x01
#define EQ_P75DB 0x02
#define EQ_P6DB 0x03
#define EQ_P45DB 0x04
#define EQ_P3DB 0x05
#define EQ_P15DB 0x06
#define EQ_P0DB 0x07
#define EQ_N15DB 0x08
#define EQ_N3DB 0x09
#define EQ_N45DB 0x0a
#define EQ_N6DB 0x0b
#define EQ_Bypass 0x0f

#define   EQ3D_Mode  0x80
#define   EQ3D_UC2k2  0x00
#define   EQ3D_UC1k5  0x40
#define   EQ3D_LC200  0x00
#define   EQ3D_LC500  0x20
#define EQ3D_enable 0x01
#define EQ3D_disable  0x00
#define EQ3D_depth   0x01


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -