f4eb0510240b2893d2bcd56860ef50100d05865d
[profile/mobile/platform/kernel/u-boot-tm1.git] / arch / arm / include / asm / arch-tiger / sc8810_auddev_cfg.h
1 /*name:      sc8800g_auddev_cfg.h                                      *
2  ** Author:         Jeff Li                                                   *
3  ** DATE:           16/09/2010                                                *
4  ** Copyright:      2002 Spreatrum, Incoporated. All Rights Reserved.         *
5  ** Description:    Configurations of audio device                            *
6  ******************************************************************************
7
8  ******************************************************************************
9  **                        Edit History                                       *
10  ** ------------------------------------------------------------------------- *
11  ** DATE           NAME             DESCRIPTION                               *
12  ** 16/09/2010     Jeff.Li          Create.                                   *
13  ******************************************************************************/
14 #ifndef _SC8810_AUDDEV_CFG_H_
15 #define _SC8810_AUDDEV_CFG_H_
16
17 /*----------------------------------------------------------------------------*
18  **                         Dependencies                                      *
19  **------------------------------------------------------------------------- */
20 #include "adi_hal_internal.h"
21 #include "analog_reg_v3.h"
22 #include "sc8810_reg_global.h"
23 #include "chip_drv_common_io.h"
24
25 /**---------------------------------------------------------------------------*
26  **                         Compiler Flag                                     *
27  **---------------------------------------------------------------------------*/
28 #ifdef __cplusplus
29 extern   "C"
30 {
31 #endif
32
33 /**---------------------------------------------------------------------------*
34  **                         Macro defination                                  *
35  **---------------------------------------------------------------------------*/
36 #define DOL_WRITE_BITS(_Reg, _Value, _Mask)     ANA_REG_MSK_OR(_Reg, _Value, _Mask)
37 #define DOL_REG_GET(_Reg)                       ANA_REG_GET(_Reg)
38 #define DOLPHIN_REG_BASE    ANA_DOLPHIN_BASE
39
40 #define VB_WRITE_BITS(_Reg, _Value, _Mask)          \
41     {                                               \
42         CHIP_REG_AND (_Reg, ~((_Mask)));            \
43         CHIP_REG_OR (_Reg, ((_Value) & ( _Mask)));  \
44     }
45
46 #define VB_CLK_CTL              GR_BUSCLK_ALM
47
48 #define VB_DA_INT_MASK          IRQ_VBCDA_IRQ
49 #define VB_AD_INT_MASK          IRQ_VBCAD_IRQ
50
51 #define VB_DA_INT_CLR_MASK      ICLR_VBCDA_IRQ_CLR
52 #define VB_AD_INT_CLR_MASK      ICLR_VBCAD_IRQ_CLR
53
54 static __inline void vb_switch_arm_ctl (BOOLEAN is_arm)
55 {
56     if (is_arm)
57     {
58         ANA_REG_MSK_OR (ANA_AUDIO_CTL, (VBMCLK_ARM_EN | VBMCLK_ARM_ACC),
59                         (VBMCLK_ARM_EN | VBMCLK_ARM_EN));
60         REG32 (VB_CLK_CTL) |= ARM_VB_ACC;
61     }
62     else
63     {
64         ANA_REG_MSK_OR (ANA_AUDIO_CTL, VBMCLK_ARM_EN,
65                         (VBMCLK_ARM_EN | VBMCLK_ARM_ACC));
66         REG32 (VB_CLK_CTL) &= ~ARM_VB_ACC;
67     }
68 }
69
70 #define VB_SWTICH_ARM_CTL(x)        vb_switch_arm_ctl(x)
71
72 #define DOL_DAC_GOD_SHIFT           (0)
73 #define DOL_DAC_GOD_MASK            (0xF << DOL_DAC_GOD_SHIFT)
74 #define DOL_DAC_GO_SHIFT            (4)
75 #define DOL_DAC_GO_MASK             (0x1F << 4)
76
77 #define DOL_LINEIN_GOB_SHIFT        (0)
78 #define DOL_LINEIN_GOB_MASK         (0x1F << 0)
79 #define DOL_LINEIN_GO_SHIFT         (5)
80 #define DOL_LINEIN_GO_MASK          (0x1F << 5)
81
82 #define DOL_ADC_GI_SHIFT            (0)
83 #define DOL_ADC_GI_MASK             (0xF << DOL_ADC_GI_SHIFT)
84 #define DOL_ADC_GIM_SHIFT           (4)
85 #define DOL_ADC_GIM_MASK            (0x1 << DOL_ADC_GIM_SHIFT)
86
87 #define DOL_SAMPLERATE_NUM_MAX      11
88
89 /**---------------------------------------------------------------------------*
90  **                         Function Prototypes                               *
91  **---------------------------------------------------------------------------*/
92
93 /**---------------------------------------------------------------------------*
94  **                         Compiler Flag                                     *
95  **---------------------------------------------------------------------------*/
96 #ifdef __cplusplus
97 }
98 #endif
99
100 #endif
101