66b47fdb85
The WM8994 can output a clock derived from its internal SYSCLK, called OPCLK. The rate can be selected as a sysclk, with a division from the SYSCLK rate specified (multiplied by 10 since a division of 5.5 is supported) and the clock can be disabled by specifying a divisor of zero. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
37 lines
992 B
C
37 lines
992 B
C
/*
|
|
* 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>
|
|
|
|
extern struct snd_soc_codec_device soc_codec_dev_wm8994;
|
|
extern struct snd_soc_dai wm8994_dai[];
|
|
|
|
/* 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
|
|
|
|
int wm8994_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack,
|
|
int micbias, int det, int shrt);
|
|
|
|
#endif
|