diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-04 18:50:16 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-06 06:36:45 -0400 |
commit | 924914ee953f2ccf3a2d49bda08c9ce1046a0c58 (patch) | |
tree | 5faa53bfbe7b56d24b35e9a44192f94643fceea1 /sound/soc/codecs/wm8776.h | |
parent | 15b5bdaeeb15e0c18cca3ce7449188ca46516721 (diff) |
ASoC: Add WM8776 CODEC driver
The WM8776 is a high performance, stereo audio CODEC with five channel
input selector. The WM8776 is ideal for surround sound processing
applications for home hi-fi, DVD-RW and other audio visual equipment.
This driver implements support for most WM8776 features - currently the
ADC automatic level control/limiter functionality is omitted.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8776.h')
-rw-r--r-- | sound/soc/codecs/wm8776.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8776.h b/sound/soc/codecs/wm8776.h new file mode 100644 index 000000000000..6606d25d2d83 --- /dev/null +++ b/sound/soc/codecs/wm8776.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * wm8776.h -- WM8776 ASoC driver | ||
3 | * | ||
4 | * Copyright 2009 Wolfson Microelectronics plc | ||
5 | * | ||
6 | * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef _WM8776_H | ||
14 | #define _WM8776_H | ||
15 | |||
16 | /* Registers */ | ||
17 | |||
18 | #define WM8776_HPLVOL 0x00 | ||
19 | #define WM8776_HPRVOL 0x01 | ||
20 | #define WM8776_HPMASTER 0x02 | ||
21 | #define WM8776_DACLVOL 0x03 | ||
22 | #define WM8776_DACRVOL 0x04 | ||
23 | #define WM8776_DACMASTER 0x05 | ||
24 | #define WM8776_PHASESWAP 0x06 | ||
25 | #define WM8776_DACCTRL1 0x07 | ||
26 | #define WM8776_DACMUTE 0x08 | ||
27 | #define WM8776_DACCTRL2 0x09 | ||
28 | #define WM8776_DACIFCTRL 0x0a | ||
29 | #define WM8776_ADCIFCTRL 0x0b | ||
30 | #define WM8776_MSTRCTRL 0x0c | ||
31 | #define WM8776_PWRDOWN 0x0d | ||
32 | #define WM8776_ADCLVOL 0x0e | ||
33 | #define WM8776_ADCRVOL 0x0f | ||
34 | #define WM8776_ALCCTRL1 0x10 | ||
35 | #define WM8776_ALCCTRL2 0x11 | ||
36 | #define WM8776_ALCCTRL3 0x12 | ||
37 | #define WM8776_NOISEGATE 0x13 | ||
38 | #define WM8776_LIMITER 0x14 | ||
39 | #define WM8776_ADCMUX 0x15 | ||
40 | #define WM8776_OUTMUX 0x16 | ||
41 | #define WM8776_RESET 0x17 | ||
42 | |||
43 | #define WM8776_CACHEREGNUM 0x17 | ||
44 | |||
45 | #define WM8776_DAI_DAC 0 | ||
46 | #define WM8776_DAI_ADC 1 | ||
47 | |||
48 | extern struct snd_soc_dai wm8776_dai[]; | ||
49 | extern struct snd_soc_codec_device soc_codec_dev_wm8776; | ||
50 | |||
51 | #endif | ||