1/* 2 * wm9713.h -- WM9713 Soc Audio driver 3 */ 4 5#ifndef _WM9713_H 6#define _WM9713_H 7 8/* clock inputs */ 9#define WM9713_CLKA_PIN 0 10#define WM9713_CLKB_PIN 1 11 12/* clock divider ID's */ 13#define WM9713_PCMCLK_DIV 0 14#define WM9713_CLKA_MULT 1 15#define WM9713_CLKB_MULT 2 16#define WM9713_HIFI_DIV 3 17#define WM9713_PCMBCLK_DIV 4 18#define WM9713_PCMCLK_PLL_DIV 5 19#define WM9713_HIFI_PLL_DIV 6 20 21/* Calculate the appropriate bit mask for the external PCM clock divider */ 22#define WM9713_PCMDIV(x) ((x - 1) << 8) 23 24/* Calculate the appropriate bit mask for the external HiFi clock divider */ 25#define WM9713_HIFIDIV(x) ((x - 1) << 12) 26 27/* MCLK clock mulitipliers */ 28#define WM9713_CLKA_X1 (0 << 1) 29#define WM9713_CLKA_X2 (1 << 1) 30#define WM9713_CLKB_X1 (0 << 2) 31#define WM9713_CLKB_X2 (1 << 2) 32 33/* MCLK clock MUX */ 34#define WM9713_CLK_MUX_A (0 << 0) 35#define WM9713_CLK_MUX_B (1 << 0) 36 37/* Voice DAI BCLK divider */ 38#define WM9713_PCMBCLK_DIV_1 (0 << 9) 39#define WM9713_PCMBCLK_DIV_2 (1 << 9) 40#define WM9713_PCMBCLK_DIV_4 (2 << 9) 41#define WM9713_PCMBCLK_DIV_8 (3 << 9) 42#define WM9713_PCMBCLK_DIV_16 (4 << 9) 43 44#define WM9713_DAI_AC97_HIFI 0 45#define WM9713_DAI_AC97_AUX 1 46#define WM9713_DAI_PCM_VOICE 2 47 48int wm9713_reset(struct snd_soc_codec *codec, int try_warm); 49 50#endif 51