xref: /openbmc/linux/sound/soc/codecs/wm8804.h (revision 275876e2)
1 /*
2  * wm8804.h  --  WM8804 S/PDIF transceiver driver
3  *
4  * Copyright 2010 Wolfson Microelectronics plc
5  *
6  * Author: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12 
13 #ifndef _WM8804_H
14 #define _WM8804_H
15 
16 /*
17  * Register values.
18  */
19 #define WM8804_RST_DEVID1			0x00
20 #define WM8804_DEVID2				0x01
21 #define WM8804_DEVREV				0x02
22 #define WM8804_PLL1				0x03
23 #define WM8804_PLL2				0x04
24 #define WM8804_PLL3				0x05
25 #define WM8804_PLL4				0x06
26 #define WM8804_PLL5				0x07
27 #define WM8804_PLL6				0x08
28 #define WM8804_SPDMODE				0x09
29 #define WM8804_INTMASK				0x0A
30 #define WM8804_INTSTAT				0x0B
31 #define WM8804_SPDSTAT				0x0C
32 #define WM8804_RXCHAN1				0x0D
33 #define WM8804_RXCHAN2				0x0E
34 #define WM8804_RXCHAN3				0x0F
35 #define WM8804_RXCHAN4				0x10
36 #define WM8804_RXCHAN5				0x11
37 #define WM8804_SPDTX1				0x12
38 #define WM8804_SPDTX2				0x13
39 #define WM8804_SPDTX3				0x14
40 #define WM8804_SPDTX4				0x15
41 #define WM8804_SPDTX5				0x16
42 #define WM8804_GPO0				0x17
43 #define WM8804_GPO1				0x18
44 #define WM8804_GPO2				0x1A
45 #define WM8804_AIFTX				0x1B
46 #define WM8804_AIFRX				0x1C
47 #define WM8804_SPDRX1				0x1D
48 #define WM8804_PWRDN				0x1E
49 
50 #define WM8804_REGISTER_COUNT			30
51 #define WM8804_MAX_REGISTER			0x1E
52 
53 #define WM8804_TX_CLKSRC_MCLK			1
54 #define WM8804_TX_CLKSRC_PLL			2
55 
56 #define WM8804_CLKOUT_SRC_CLK1			3
57 #define WM8804_CLKOUT_SRC_OSCCLK		4
58 
59 #define WM8804_CLKOUT_DIV			1
60 #define WM8804_MCLK_DIV				2
61 
62 #define WM8804_MCLKDIV_256FS			0
63 #define WM8804_MCLKDIV_128FS			1
64 
65 #endif  /* _WM8804_H */
66