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

📄 hw_wm8750.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
字号:
/*********************************************************************************
*     Copyright (C),2004-2005,  Fuzhou Rockchip Co.,Ltd.
*         All Rights Reserved
*          V1.00
* FileName :  Hw_codec.h
* Author :  lzy
* Description:
* History  :
*   <author>  <time>    <version>    <desc>
*    lzy        07/6/29        1.0     ORG
*
$Log: hw_wm8750.h,v $
Revision 1.3  2007/10/15 09:03:44  Huangxinyu
根据RK27提交修改driver

Revision 1.2  2007/10/08 02:38:40  Lingzhaojun
添加版本自动注释脚本


*********************************************************************************/
#ifndef _WM8750_H
#define _WM8750_H

#define       WM870_R0           0x00      //Left input volume
#define       WM870_R1           0x01      //Right input volume
#define       WM870_R2           0x02      //Lout1 volume
#define       WM870_R3           0x03      //Rout1 volume 
#define       WM870_R4           0x04      //Reserved
#define       WM870_R5           0x05      //ADC&DAC control
#define       WM870_R6           0x06      //Reserved 
#define       WM870_R7           0x07      //Audio interface
#define       WM870_R8           0x08      //Sample rate
#define       WM870_R9           0x09      //Reserved 
#define       WM870_R10          0x0a      //Left DAC volume
#define       WM870_R11          0x0b      //Right DAC volume
#define       WM870_R12          0x0c      //Bass control
#define       WM870_R13          0x0d      //Treble control
#define       WM870_R15          0x0f      //Reset               
#define       WM870_R16          0x10     // //3D control          
#define       WM870_R17          0x11      //ALC1                
#define       WM870_R18          0x12      //ALC2                
#define       WM870_R19          0x13      //ALC3                
#define       WM870_R20          0x14      //Noise Gate          
#define       WM870_R21          0x15      //Left ADC volume     
#define       WM870_R22          0x16      //Right ADC volume    
#define       WM870_R23          0x17      //Additional control1 
#define       WM870_R24          0x18      //Additional control2 
#define       WM870_R25          0x19      //Pwr Mgmt1            
#define       WM870_R26          0x1a      //Pwr Mgmt2
#define       WM870_R27          0x1b      //Additional control3
#define       WM870_R31          0x1f      //ADC input mode
#define       WM870_R32          0x20      //ADCL signal path
#define       WM870_R33          0x21      //ADCR signal path
#define       WM870_R34          0x22      //Left out mix1
#define       WM870_R35          0x23      //Left out mix2
#define       WM870_R36          0x24      //Right out Mix1
#define       WM870_R37          0x25      //Right out Mix2
#define       WM870_R38          0x26      //Mono out mix1
#define       WM870_R39          0x27      //Mono out mix2
#define       WM870_R40          0x28      //Lout2 volume
#define       WM870_R41          0x29      //Rout2 volume
#define       WM870_R42          0x2a      //Monoout volume

//WM870_R7
#define   WM_MASTER_MODE 0x40
#define   WM_SLAVE_MODE 0x40
#define  WM_16BIT_MODE 0x00
#define  WM_DSP_MODE  0x03
#define WM_I2S_MODE  0x02

//WM870_R8
#define   WM_BCKdiv4               (0x00)       //(1<<7)
#define   WM_CLKDIV2  0x40
#define  WM_16BIT_MODE 0x00


#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


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

//PM1 WM870_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  WM870_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

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

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

#define  Bass_control  WM870_R12
#define  Treble_control  WM870_R13
#define  EQ3D_enhance  WM870_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 + -