xref: /openbmc/linux/sound/soc/codecs/wm8900.h (revision fd589a8f)
1 /*
2  * wm8900.h  --  WM890 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 _WM8900_H
10 #define _WM8900_H
11 
12 #define WM8900_FLL 1
13 
14 #define WM8900_BCLK_DIV   1
15 #define WM8900_ADC_CLKDIV 2
16 #define WM8900_DAC_CLKDIV 3
17 #define WM8900_ADC_LRCLK  4
18 #define WM8900_DAC_LRCLK  5
19 #define WM8900_OPCLK_DIV  6
20 #define WM8900_LRCLK_MODE 7
21 
22 #define WM8900_BCLK_DIV_1   0x00
23 #define WM8900_BCLK_DIV_1_5 0x02
24 #define WM8900_BCLK_DIV_2   0x04
25 #define WM8900_BCLK_DIV_3   0x06
26 #define WM8900_BCLK_DIV_4   0x08
27 #define WM8900_BCLK_DIV_5_5 0x0a
28 #define WM8900_BCLK_DIV_6   0x0c
29 #define WM8900_BCLK_DIV_8   0x0e
30 #define WM8900_BCLK_DIV_11  0x10
31 #define WM8900_BCLK_DIV_12  0x12
32 #define WM8900_BCLK_DIV_16  0x14
33 #define WM8900_BCLK_DIV_22  0x16
34 #define WM8900_BCLK_DIV_24  0x18
35 #define WM8900_BCLK_DIV_32  0x1a
36 #define WM8900_BCLK_DIV_44  0x1c
37 #define WM8900_BCLK_DIV_48  0x1e
38 
39 #define WM8900_ADC_CLKDIV_1   0x00
40 #define WM8900_ADC_CLKDIV_1_5 0x20
41 #define WM8900_ADC_CLKDIV_2   0x40
42 #define WM8900_ADC_CLKDIV_3   0x60
43 #define WM8900_ADC_CLKDIV_4   0x80
44 #define WM8900_ADC_CLKDIV_5_5 0xa0
45 #define WM8900_ADC_CLKDIV_6   0xc0
46 
47 #define WM8900_DAC_CLKDIV_1   0x00
48 #define WM8900_DAC_CLKDIV_1_5 0x04
49 #define WM8900_DAC_CLKDIV_2   0x08
50 #define WM8900_DAC_CLKDIV_3   0x0c
51 #define WM8900_DAC_CLKDIV_4   0x10
52 #define WM8900_DAC_CLKDIV_5_5 0x14
53 #define WM8900_DAC_CLKDIV_6   0x18
54 
55 extern struct snd_soc_dai wm8900_dai;
56 extern struct snd_soc_codec_device soc_codec_dev_wm8900;
57 
58 #endif
59