diff options
author | Chris Rattray <crattray@opensource.wolfsonmicro.com> | 2013-02-05 09:40:44 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-05 10:53:07 -0500 |
commit | 1a786243235b8a8f4762ee57f185dadd97794fa4 (patch) | |
tree | ae690ba1d6abcf337b65ec8d747ea06037924b42 /include/sound | |
parent | 4c97e8fedf1a7ef52e23dc06ec7a15be54ed18a4 (diff) |
ASoC: wm2200: Provide platform data for MICBIAS configuration
Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/wm2200.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/include/sound/wm2200.h b/include/sound/wm2200.h index 79bf55be7ffa..bc7ab1a4b480 100644 --- a/include/sound/wm2200.h +++ b/include/sound/wm2200.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #define __LINUX_SND_WM2200_H | 12 | #define __LINUX_SND_WM2200_H |
13 | 13 | ||
14 | #define WM2200_GPIO_SET 0x10000 | 14 | #define WM2200_GPIO_SET 0x10000 |
15 | #define WM2200_MAX_MICBIAS 2 | ||
15 | 16 | ||
16 | enum wm2200_in_mode { | 17 | enum wm2200_in_mode { |
17 | WM2200_IN_SE = 0, | 18 | WM2200_IN_SE = 0, |
@@ -25,6 +26,24 @@ enum wm2200_dmic_sup { | |||
25 | WM2200_DMIC_SUP_MICBIAS2 = 2, | 26 | WM2200_DMIC_SUP_MICBIAS2 = 2, |
26 | }; | 27 | }; |
27 | 28 | ||
29 | enum wm2200_mbias_lvl { | ||
30 | WM2200_MBIAS_LVL_1V5 = 1, | ||
31 | WM2200_MBIAS_LVL_1V8 = 2, | ||
32 | WM2200_MBIAS_LVL_1V9 = 3, | ||
33 | WM2200_MBIAS_LVL_2V0 = 4, | ||
34 | WM2200_MBIAS_LVL_2V2 = 5, | ||
35 | WM2200_MBIAS_LVL_2V4 = 6, | ||
36 | WM2200_MBIAS_LVL_2V5 = 7, | ||
37 | WM2200_MBIAS_LVL_2V6 = 8, | ||
38 | }; | ||
39 | |||
40 | struct wm2200_micbias { | ||
41 | enum wm2200_mbias_lvl mb_lvl; /** Regulated voltage */ | ||
42 | unsigned int discharge:1; /** Actively discharge */ | ||
43 | unsigned int fast_start:1; /** Enable aggressive startup ramp rate */ | ||
44 | unsigned int bypass:1; /** Use bypass mode */ | ||
45 | }; | ||
46 | |||
28 | struct wm2200_pdata { | 47 | struct wm2200_pdata { |
29 | int reset; /** GPIO controlling /RESET, if any */ | 48 | int reset; /** GPIO controlling /RESET, if any */ |
30 | int ldo_ena; /** GPIO controlling LODENA, if any */ | 49 | int ldo_ena; /** GPIO controlling LODENA, if any */ |
@@ -35,7 +54,8 @@ struct wm2200_pdata { | |||
35 | enum wm2200_in_mode in_mode[3]; | 54 | enum wm2200_in_mode in_mode[3]; |
36 | enum wm2200_dmic_sup dmic_sup[3]; | 55 | enum wm2200_dmic_sup dmic_sup[3]; |
37 | 56 | ||
38 | int micbias_cfg[2]; /** Register value to configure MICBIAS */ | 57 | /** MICBIAS configurations */ |
58 | struct wm2200_micbias micbias[WM2200_MAX_MICBIAS]; | ||
39 | }; | 59 | }; |
40 | 60 | ||
41 | #endif | 61 | #endif |