| /* |
| * wm8994.h -- WM8994 Soc Audio driver |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| */ |
| |
| #ifndef _WM8994_H |
| #define _WM8994_H |
| |
| #include <sound/soc.h> |
| |
| /* Sources for AIF1/2 SYSCLK - use with set_dai_sysclk() */ |
| #define WM8994_SYSCLK_MCLK1 1 |
| #define WM8994_SYSCLK_MCLK2 2 |
| #define WM8994_SYSCLK_FLL1 3 |
| #define WM8994_SYSCLK_FLL2 4 |
| |
| /* OPCLK is also configured with set_dai_sysclk, specify division*10 as rate. */ |
| #define WM8994_SYSCLK_OPCLK 5 |
| |
| #define WM8994_FLL1 1 |
| #define WM8994_FLL2 2 |
| |
| #define WM8994_FLL_SRC_MCLK1 1 |
| #define WM8994_FLL_SRC_MCLK2 2 |
| #define WM8994_FLL_SRC_LRCLK 3 |
| #define WM8994_FLL_SRC_BCLK 4 |
| |
| typedef void (*wm8958_micdet_cb)(u16 status, void *data); |
| |
| int wm8994_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, |
| int micbias, int det, int shrt); |
| int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, |
| wm8958_micdet_cb cb, void *cb_data); |
| |
| #define WM8994_CACHE_SIZE 1570 |
| |
| struct wm8994_access_mask { |
| unsigned short readable; /* Mask of readable bits */ |
| unsigned short writable; /* Mask of writable bits */ |
| }; |
| |
| extern const struct wm8994_access_mask wm8994_access_masks[WM8994_CACHE_SIZE]; |
| extern const u16 wm8994_reg_defaults[WM8994_CACHE_SIZE]; |
| |
| #endif |