xref: /openbmc/linux/sound/soc/codecs/wm8804.h (revision 33cf45c8)
133cf45c8SDimitris Papastamos /*
233cf45c8SDimitris Papastamos  * wm8804.h  --  WM8804 S/PDIF transceiver driver
333cf45c8SDimitris Papastamos  *
433cf45c8SDimitris Papastamos  * Copyright 2010 Wolfson Microelectronics plc
533cf45c8SDimitris Papastamos  *
633cf45c8SDimitris Papastamos  * Author: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
733cf45c8SDimitris Papastamos  *
833cf45c8SDimitris Papastamos  * This program is free software; you can redistribute it and/or modify
933cf45c8SDimitris Papastamos  * it under the terms of the GNU General Public License version 2 as
1033cf45c8SDimitris Papastamos  * published by the Free Software Foundation.
1133cf45c8SDimitris Papastamos  */
1233cf45c8SDimitris Papastamos 
1333cf45c8SDimitris Papastamos #ifndef _WM8804_H
1433cf45c8SDimitris Papastamos #define _WM8804_H
1533cf45c8SDimitris Papastamos 
1633cf45c8SDimitris Papastamos /*
1733cf45c8SDimitris Papastamos  * Register values.
1833cf45c8SDimitris Papastamos  */
1933cf45c8SDimitris Papastamos #define WM8804_RST_DEVID1			0x00
2033cf45c8SDimitris Papastamos #define WM8804_DEVID2				0x01
2133cf45c8SDimitris Papastamos #define WM8804_DEVREV				0x02
2233cf45c8SDimitris Papastamos #define WM8804_PLL1				0x03
2333cf45c8SDimitris Papastamos #define WM8804_PLL2				0x04
2433cf45c8SDimitris Papastamos #define WM8804_PLL3				0x05
2533cf45c8SDimitris Papastamos #define WM8804_PLL4				0x06
2633cf45c8SDimitris Papastamos #define WM8804_PLL5				0x07
2733cf45c8SDimitris Papastamos #define WM8804_PLL6				0x08
2833cf45c8SDimitris Papastamos #define WM8804_SPDMODE				0x09
2933cf45c8SDimitris Papastamos #define WM8804_INTMASK				0x0A
3033cf45c8SDimitris Papastamos #define WM8804_INTSTAT				0x0B
3133cf45c8SDimitris Papastamos #define WM8804_SPDSTAT				0x0C
3233cf45c8SDimitris Papastamos #define WM8804_RXCHAN1				0x0D
3333cf45c8SDimitris Papastamos #define WM8804_RXCHAN2				0x0E
3433cf45c8SDimitris Papastamos #define WM8804_RXCHAN3				0x0F
3533cf45c8SDimitris Papastamos #define WM8804_RXCHAN4				0x10
3633cf45c8SDimitris Papastamos #define WM8804_RXCHAN5				0x11
3733cf45c8SDimitris Papastamos #define WM8804_SPDTX1				0x12
3833cf45c8SDimitris Papastamos #define WM8804_SPDTX2				0x13
3933cf45c8SDimitris Papastamos #define WM8804_SPDTX3				0x14
4033cf45c8SDimitris Papastamos #define WM8804_SPDTX4				0x15
4133cf45c8SDimitris Papastamos #define WM8804_SPDTX5				0x16
4233cf45c8SDimitris Papastamos #define WM8804_GPO0				0x17
4333cf45c8SDimitris Papastamos #define WM8804_GPO1				0x18
4433cf45c8SDimitris Papastamos #define WM8804_GPO2				0x1A
4533cf45c8SDimitris Papastamos #define WM8804_AIFTX				0x1B
4633cf45c8SDimitris Papastamos #define WM8804_AIFRX				0x1C
4733cf45c8SDimitris Papastamos #define WM8804_SPDRX1				0x1D
4833cf45c8SDimitris Papastamos #define WM8804_PWRDN				0x1E
4933cf45c8SDimitris Papastamos 
5033cf45c8SDimitris Papastamos #define WM8804_REGISTER_COUNT			30
5133cf45c8SDimitris Papastamos #define WM8804_MAX_REGISTER			0x1E
5233cf45c8SDimitris Papastamos 
5333cf45c8SDimitris Papastamos #define WM8804_TX_CLKSRC_MCLK			1
5433cf45c8SDimitris Papastamos #define WM8804_TX_CLKSRC_PLL			2
5533cf45c8SDimitris Papastamos 
5633cf45c8SDimitris Papastamos #define WM8804_CLKOUT_SRC_CLK1			3
5733cf45c8SDimitris Papastamos #define WM8804_CLKOUT_SRC_OSCCLK		4
5833cf45c8SDimitris Papastamos 
5933cf45c8SDimitris Papastamos #define WM8804_CLKOUT_DIV			1
6033cf45c8SDimitris Papastamos 
6133cf45c8SDimitris Papastamos #endif  /* _WM8804_H */
62