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 | |
| 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')
| -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 |
