Merge branch 'upstream/wm8974' into for-2.6.33
[pandora-kernel.git] / arch / arm / mach-stmp378x / include / mach / regs-audioout.h
1 /*
2  * stmp378x: AUDIOOUT register definitions
3  *
4  * Copyright (c) 2008 Freescale Semiconductor
5  * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20  */
21 #define REGS_AUDIOOUT_BASE      (STMP3XXX_REGS_BASE + 0x48000)
22 #define REGS_AUDIOOUT_PHYS      0x80048000
23 #define REGS_AUDIOOUT_SIZE      0x2000
24
25 #define HW_AUDIOOUT_CTRL        0x0
26 #define BM_AUDIOOUT_CTRL_RUN    0x00000001
27 #define BP_AUDIOOUT_CTRL_RUN    0
28 #define BM_AUDIOOUT_CTRL_FIFO_ERROR_IRQ_EN      0x00000002
29 #define BM_AUDIOOUT_CTRL_FIFO_OVERFLOW_IRQ      0x00000004
30 #define BM_AUDIOOUT_CTRL_FIFO_UNDERFLOW_IRQ     0x00000008
31 #define BM_AUDIOOUT_CTRL_WORD_LENGTH    0x00000040
32 #define BM_AUDIOOUT_CTRL_CLKGATE        0x40000000
33 #define BM_AUDIOOUT_CTRL_SFTRST 0x80000000
34
35 #define HW_AUDIOOUT_STAT        0x10
36
37 #define HW_AUDIOOUT_DACSRR      0x20
38 #define BM_AUDIOOUT_DACSRR_SRC_FRAC     0x00001FFF
39 #define BP_AUDIOOUT_DACSRR_SRC_FRAC     0
40 #define BM_AUDIOOUT_DACSRR_SRC_INT      0x001F0000
41 #define BP_AUDIOOUT_DACSRR_SRC_INT      16
42 #define BM_AUDIOOUT_DACSRR_SRC_HOLD     0x07000000
43 #define BP_AUDIOOUT_DACSRR_SRC_HOLD     24
44 #define BM_AUDIOOUT_DACSRR_BASEMULT     0x70000000
45 #define BP_AUDIOOUT_DACSRR_BASEMULT     28
46
47 #define HW_AUDIOOUT_DACVOLUME   0x30
48 #define BM_AUDIOOUT_DACVOLUME_MUTE_RIGHT        0x00000100
49 #define BM_AUDIOOUT_DACVOLUME_MUTE_LEFT 0x01000000
50 #define BM_AUDIOOUT_DACVOLUME_EN_ZCD    0x02000000
51
52 #define HW_AUDIOOUT_DACDEBUG    0x40
53
54 #define HW_AUDIOOUT_HPVOL       0x50
55 #define BM_AUDIOOUT_HPVOL_MUTE  0x01000000
56 #define BM_AUDIOOUT_HPVOL_EN_MSTR_ZCD   0x02000000
57
58 #define HW_AUDIOOUT_PWRDN       0x70
59 #define BM_AUDIOOUT_PWRDN_HEADPHONE     0x00000001
60 #define BP_AUDIOOUT_PWRDN_HEADPHONE     0
61 #define BM_AUDIOOUT_PWRDN_CAPLESS       0x00000010
62 #define BM_AUDIOOUT_PWRDN_ADC   0x00000100
63 #define BM_AUDIOOUT_PWRDN_DAC   0x00001000
64 #define BM_AUDIOOUT_PWRDN_RIGHT_ADC     0x00010000
65 #define BM_AUDIOOUT_PWRDN_SPEAKER       0x01000000
66
67 #define HW_AUDIOOUT_REFCTRL     0x80
68 #define BM_AUDIOOUT_REFCTRL_VAG_VAL     0x000000F0
69 #define BP_AUDIOOUT_REFCTRL_VAG_VAL     4
70 #define BM_AUDIOOUT_REFCTRL_ADC_REFVAL  0x00000F00
71 #define BP_AUDIOOUT_REFCTRL_ADC_REFVAL  8
72 #define BM_AUDIOOUT_REFCTRL_ADJ_VAG     0x00001000
73 #define BM_AUDIOOUT_REFCTRL_ADJ_ADC     0x00002000
74 #define BM_AUDIOOUT_REFCTRL_BIAS_CTRL   0x00030000
75 #define BP_AUDIOOUT_REFCTRL_BIAS_CTRL   16
76 #define BM_AUDIOOUT_REFCTRL_LOW_PWR     0x00080000
77 #define BM_AUDIOOUT_REFCTRL_VBG_ADJ     0x00700000
78 #define BP_AUDIOOUT_REFCTRL_VBG_ADJ     20
79 #define BM_AUDIOOUT_REFCTRL_XTAL_BGR_BIAS       0x01000000
80 #define BM_AUDIOOUT_REFCTRL_RAISE_REF   0x02000000
81
82 #define HW_AUDIOOUT_ANACTRL     0x90
83 #define BM_AUDIOOUT_ANACTRL_HP_CLASSAB  0x00000010
84 #define BM_AUDIOOUT_ANACTRL_HP_HOLD_GND 0x00000020
85
86 #define HW_AUDIOOUT_TEST        0xA0
87 #define BM_AUDIOOUT_TEST_HP_I1_ADJ      0x00C00000
88 #define BP_AUDIOOUT_TEST_HP_I1_ADJ      22
89
90 #define HW_AUDIOOUT_BISTCTRL    0xB0
91
92 #define HW_AUDIOOUT_BISTSTAT0   0xC0
93
94 #define HW_AUDIOOUT_BISTSTAT1   0xD0
95
96 #define HW_AUDIOOUT_ANACLKCTRL  0xE0
97 #define BM_AUDIOOUT_ANACLKCTRL_CLKGATE  0x80000000
98
99 #define HW_AUDIOOUT_DATA        0xF0
100
101 #define HW_AUDIOOUT_SPEAKERCTRL 0x100
102 #define BM_AUDIOOUT_SPEAKERCTRL_MUTE    0x01000000
103
104 #define HW_AUDIOOUT_VERSION     0x200