Commit | Line | Data |
---|---|---|
9e6e96a1 MB |
1 | /* |
2 | * wm8994.h -- WM8994 Soc Audio driver | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License version 2 as | |
6 | * published by the Free Software Foundation. | |
7 | */ | |
8 | ||
9 | #ifndef _WM8994_H | |
10 | #define _WM8994_H | |
11 | ||
12 | #include <sound/soc.h> | |
13 | ||
9e6e96a1 MB |
14 | /* Sources for AIF1/2 SYSCLK - use with set_dai_sysclk() */ |
15 | #define WM8994_SYSCLK_MCLK1 1 | |
16 | #define WM8994_SYSCLK_MCLK2 2 | |
17 | #define WM8994_SYSCLK_FLL1 3 | |
18 | #define WM8994_SYSCLK_FLL2 4 | |
19 | ||
66b47fdb MB |
20 | /* OPCLK is also configured with set_dai_sysclk, specify division*10 as rate. */ |
21 | #define WM8994_SYSCLK_OPCLK 5 | |
22 | ||
9e6e96a1 MB |
23 | #define WM8994_FLL1 1 |
24 | #define WM8994_FLL2 2 | |
25 | ||
136ff2a2 MB |
26 | #define WM8994_FLL_SRC_MCLK1 1 |
27 | #define WM8994_FLL_SRC_MCLK2 2 | |
28 | #define WM8994_FLL_SRC_LRCLK 3 | |
29 | #define WM8994_FLL_SRC_BCLK 4 | |
30 | ||
821edd2f MB |
31 | typedef void (*wm8958_micdet_cb)(u16 status, void *data); |
32 | ||
88766984 MB |
33 | int wm8994_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, |
34 | int micbias, int det, int shrt); | |
821edd2f MB |
35 | int wm8958_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack, |
36 | wm8958_micdet_cb cb, void *cb_data); | |
88766984 | 37 | |
7b306dae MB |
38 | #define WM8994_CACHE_SIZE 1570 |
39 | ||
40 | struct wm8994_access_mask { | |
41 | unsigned short readable; /* Mask of readable bits */ | |
42 | unsigned short writable; /* Mask of writable bits */ | |
43 | }; | |
44 | ||
45 | extern const struct wm8994_access_mask wm8994_access_masks[WM8994_CACHE_SIZE]; | |
46 | ||
9e6e96a1 | 47 | #endif |